ROS2与STM32入门教程-microROS的freertos版本
说明:
- 介绍如何安装使用micro_ros
- 测试开发板:olimex-stm32-e407
步骤:
便利工具安装方法
- 为了方便安装源码,使用RCM工具
- 先安装RCM
curl -k https://www.ncnynl.com/rcm.sh | bash -
安装ros2
- 安装ros2版本
rcm ros2 install_ros2_now
- 加载ros2
source ~/.bashrc
- 安装micro_ros_setup, 具体脚本可以参考
rcm ros2_stm32 install_micro_ros
创建固件
- 创建工作空间
cd ~/ros2_micro_ros_ws
ros2 run micro_ros_setup create_firmware_ws.sh freertos olimex-stm32-e407
- 这一步下载micro-ROS apps
- 位于firmware/freertos_apps/apps下
- 配置开发板,使用对应的APP,串口
ros2 run micro_ros_setup configure_firmware.sh ping_pong --transport serial --dev 3
- 编译固件
ros2 run micro_ros_setup build_firmware.sh
- 刷固件
ros2 run micro_ros_setup flash_firmware.sh
- 使用串口3作为交互串口
创建代理端
- 创建代理端工作空间
cd ~/ros2_micro_ros_ws
ros2 run micro_ros_setup create_agent_ws.sh
- 编译工作空间
ros2 run micro_ros_setup build_agent.sh
source install/local_setup.bash
- 如果在树莓派下编译,修改build _agent.sh文件,在colcon build 后增加参数--parallel-workers 1
- 新终端运行代理
ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyUSB0
- 使用串口链接到串口3的TX,RX和GND三个口,识别到的端口,比如为:/dev/ttyUSB0
- 运行代理端之后,板子与代理端之间就进行交互
- 新终端输入话题列表
$ ros2 topic list
/microROS/ping
/microROS/pong
/parameter_events
/rosout
- 输入话题内容
$ ros2 topic echo /microROS/ping
stamp:
sec: 7636
nanosec: 507000000
frame_id: '2132843206_1085377743'
---
stamp:
sec: 7638
nanosec: 509000000
frame_id: '111120688_1085377743'
---
stamp:
sec: 7640
nanosec: 508000000
frame_id: '1461198358_1085377743'
- 发布内容到话题/microROS/pong
ros2 topic pub -r 1 /microROS/pong std_msgs/msg/Header '{frame_id: "fake_ping"}'
- 效果如下
ubuntu@AiROS2-NUC:~$ ros2 topic echo /microROS/pong
stamp:
sec: 0
nanosec: 0
frame_id: fake_ping
---
stamp:
sec: 0
nanosec: 0
frame_id: fake_ping
---
stamp:
sec: 0
nanosec: 0
frame_id: fake_ping
---
stamp:
sec: 0
nanosec: 0
frame_id: fake_ping
---
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号