项目简介
本项目是机器人课程的实践项目,为Arduino Mega传感器(SRF08声纳和MinIMU - 9)以及Asus xtionPro live相机实现基础节点(监听器/发布器)。这些节点将在搭载Ubuntu 18.04和ROS Melodic的Odroid XU4上运行,同时还提供了SRF08声纳和MinIMU - 9传感器(LSM6和LIS3MDL)的独立库,便于用户使用。
项目的主要特性和功能
- 传感器数据处理:借助Arduino接收并处理SRF08声纳、MinIMU - 9传感器(含磁力计和IMU)的数据,实现机器人的距离感知、定位和姿态感知。
- 图像采集与处理:利用Asus xtionPro live相机获取RGB图像和深度图像,可开展相关的图像处理操作,如人脸检测等。
- ROS节点支持:创建多个ROS节点,实现传感器数据和图像数据的接收、处理与发布,方便不同模块之间的通信与协作。
安装使用步骤
环境准备
- 确保已安装
ROS - melodic - desktop
,可参考安装教程。 - 安装
python3
相关库,通过pip install -r requirements.txt
安装requirements.txt
中的依赖,同时需手动安装外部库openni2
,可从此处获取。 - 安装openni2_launch包。
- 安装Arduino IDE及必要库,参考教程。若想了解更多关于Arduino + ROS工作空间的内容可查阅相关资料。
运行步骤
- 将位于
workspace/src/SOME_PACKAGE/scripts
的Python节点设置为可执行,使用命令chmod +x node.py
。 - 导航到
./ros_workspace
目录,执行catkin_make
进行编译,然后执行source devel/setup.bash
设置环境变量。 - 上传Arduino代码,执行
catkin_make arduino_sensors_firmware_arduino_sensors - upload
。 - 启动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()
。建议使用tmux
、screen
等工具方便管理多个终端会话。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】