本项目介绍了一种基于STM32F103微控制器和ROS(机器人操作系统)的移动底座控制系统。通过开发ROS串口节点与STM32的串行通信接口实现,该方案能够高效地处理数据传输,并支持灵活的控制策略及实时性要求高的应用场景。
机器人移动底座通过串口与ROS主控系统进行通信。ROS主控系统发布速度、角速度等指令来控制移动底座按照既定要求运动;同时,移动底座会实时上传其位置及运动角度信息到ROS主控系统。
STM32的串口配置如下:将STM32的串口3与运行ROS系统的设备连接,并设置波特率为115200、数据位为8bits、停止位为1stop和无校验。另外,将STM32的串口1连接到电脑的一个串口以观察调试信息,建议使用putty软件进行连接,其配置应设为9600波特率、8bits数据位、1stop停止位以及偶校验。
ROS节点方面:ROS 节点文件名为 my_serial_node ,将其源代码解压并放置在~/catkin_ws/src目录下。然后回到 ~/catkin_ws 目录进行编译操作,该节点需要使用 serial 库,在同一级目录中直接克隆serial库即可。最后在命令行输入 $ catkin_make 命令以生成 my_serial_node 节点。