littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于ROS2 Humble框架的Foxbot Core3机器人系统

项目简介

Foxbot Core3是基于ROS2 Humble框架的机器人系统,专为ESP32(Arduino)设备设计。此项目将原ROS2 Galactic版本升级为ROS2 Humble版本,且增加了对micro - ROS的支持,使机器人能在复杂网络环境中稳定运行。

项目的主要特性和功能

  • ROS2 Humble支持:采用ROS2 Humble版本,具备更稳定高效的通信机制。
  • micro - ROS集成:借助micro - ROS,ESP32设备可与ROS2系统无缝集成,实现实时数据传输与控制。
  • IMU传感器支持:集成ICM - 20948 IMU传感器,提供精确姿态和运动数据。
  • TF静态发布:支持发布TF变换,实现机器人坐标系动态更新。
  • 通信断线恢复:改进通信断线恢复机制,保证机器人位置和姿态信息的连续性。

安装使用步骤

假设用户已下载本项目的源码文件。 1. 进入项目目录: bash $ cd foxbot_core3 2. 复制项目到VSCode PlatformIO IDE: bash $ cp -ar foxbot_core3_r2 ~/Documents/PlatformIO/Projects 3. 复制Arduino库: bash $ cd Arduino $ cp -ar lib-foxbot_core3_r2 ~/Arduino 4. 复制工具包到ROS2工作空间并编译: bash $ cp -ar foxbot_tool ~/colcon_ws/src $ cd ~/colcon_ws $ colcon build --symlink-install --packages-select foxbot_tool 5. 下载Arduino其他依赖库: bash $ cd ~/Arduino/lib-foxbot_core3_r2 - 下载SparkFun ICM - 20948库。 - 下载micro - ROS for Arduino。 - 下载Arduino ESP32_AnalogWrite库,从网站下载并解压到~/Arduino/lib-foxbot_core3_r2,编辑ESP32_AnalogWrite/src/analogWrite.cppanalogWrite.h,添加命名空间。 6. 导入源码到VSCode PlatformIO IDE项目:启动VSCode,选择PlatformIO Home,导入Arduino项目或打开项目,选择Espressif ESP32 Dev Module,并选择~/Documents/PlatformIO/Projects/foxbot_core3_r2。 7. 修改配置:编辑~/Arduino/lib-foxbot_core3_r2/micro_ros_arduino/src/default_transport.cpp,将串口波特率修改为1000000。 8. 选择发布主题:编辑foxbot_core3_r2_config.h,配置是否发布TF静态变换和IMU数据。 9. 运行项目: - 在SBC上运行micro - ROS代理: bash $ sudo chmod 777 /dev/ttyTHS1 $ ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyTHS1 -b 1000000 - 在远程PC上运行: bash $ sudo ufw disable $ ros2 topic list $ ros2 run turtlebot3_teleop teleop_keyboard 10. 更新日志: - 2023.2.28:改进通信断线恢复机制,确保机器人位置和姿态信息的连续性。 - 2023.3.16:增加心跳机制,确保只有当/pc_beat主题发布时,才处理/cmd_vel命令。 - 2024.4.24:正式发布ROS2 Humble版本,不再使用心跳机制。

下载地址

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