trifles with arduino

系统总体的通信架构如下:

底盘驱动板Arduino负责接收上层的运动控制指令,并驱动电机,两块板子通过串口进行通信。

ROS提供了一个ros_arduino_bridge功能包集,它包括了Arduino库(ROSArduinoBridge)以及一系列用来控制Arduino-based robot的ROS功能包,这个功能包可以实现读取Twist控制信息,以及发布里程计信息等任务,封装了Raspberry Pi和Arduino之间的底层通信。

Arduino库(ROSArduinoBridge)位于ros_arduino_firmware/src/libraries/路径下,里面是一些arduino脚本和头文件,将这个文件夹复制到我们Arduino IDE的SKETCHBOOK_PATH下,然后在Arduino IDE中就可以直接打开这个sketch项目。

ROSArduinoBridge文件下是一些配置选项,另外commands.h文件中给出了一些可用的串口控制指令,如电机控制指令:

1
m 20 20   // move the robot forward at 20 encoder ticks per second