< >
Home » ROS2与STM32入门教程 » ROS2与STM32入门教程-microROS的freertos版本

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
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
---

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2与stm32入门教程