littlebot
Published on 2025-04-02 / 3 Visits
0

【源码】基于ROS的机器人感知与控制项目

项目简介

本项目是机器人课程的实践项目,为Arduino Mega传感器(SRF08声纳和MinIMU - 9)以及Asus xtionPro live相机实现基础节点(监听器/发布器)。这些节点将在搭载Ubuntu 18.04和ROS Melodic的Odroid XU4上运行,同时还提供了SRF08声纳和MinIMU - 9传感器(LSM6和LIS3MDL)的独立库,便于用户使用。

项目的主要特性和功能

  1. 传感器数据处理:借助Arduino接收并处理SRF08声纳、MinIMU - 9传感器(含磁力计和IMU)的数据,实现机器人的距离感知、定位和姿态感知。
  2. 图像采集与处理:利用Asus xtionPro live相机获取RGB图像和深度图像,可开展相关的图像处理操作,如人脸检测等。
  3. ROS节点支持:创建多个ROS节点,实现传感器数据和图像数据的接收、处理与发布,方便不同模块之间的通信与协作。

安装使用步骤

环境准备

  1. 确保已安装ROS - melodic - desktop,可参考安装教程
  2. 安装python3相关库,通过pip install -r requirements.txt安装requirements.txt中的依赖,同时需手动安装外部库openni2,可从此处获取。
  3. 安装openni2_launch包。
  4. 安装Arduino IDE及必要库,参考教程。若想了解更多关于Arduino + ROS工作空间的内容可查阅相关资料。

运行步骤

  1. 将位于workspace/src/SOME_PACKAGE/scripts的Python节点设置为可执行,使用命令chmod +x node.py
  2. 导航到./ros_workspace目录,执行catkin_make进行编译,然后执行source devel/setup.bash设置环境变量。
  3. 上传Arduino代码,执行catkin_make arduino_sensors_firmware_arduino_sensors - upload
  4. 启动ROS节点:
    • 启动roscore
    • 启动相机话题,执行roslaunch openni2_launch openni2.launch
    • 启动Arduino节点,执行rosrun rosserial_python serial_node.py /dev/ttyACM0
    • 启动相机节点,执行rosrun camera_rgb_img node.py(可能需要执行两次)。

特殊说明

若在Windows系统上运行,需将openni2.initialize("/usr/lib/")修改为openni2.initialize()。建议使用tmuxscreen等工具方便管理多个终端会话。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】