STM32作为下位机,与ROS通信出现的错误!
类似语句:rosrun rosserial_python serial_node.py /dev/ttyACM1
主要是运行rosserial造成的。
1、错误描述
[INFO] [WallTime: 1464200241.928070] ROS Serial Python Node
[INFO] [WallTime: 1464200241.933151] Connecting to /dev/ttyACM1 at 115200 baud
[ERROR] [WallTime: 1464200259.039163] Unable to sync with device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino
2、原因
波特率问题!!!
2.1 下位机程序波特率看一下对不对,是不是115200;
2.2 上位机ROS查看波特率设置,例如在launch文件中查看参数设置,如下:
< node pkg="rosserial_python" type="serial_node.py" name="serial_node" >
< param name="port" value="/dev/ttyUSB0" / >
< param name="baud" value="115200" / >
< /node >
2.3 设置用到的USB波特率
查看usb的属性:
stty -F /dev/ttyUSB0
如果不是115200,,修改usb的波特率为115200,方法如下:
stty -F /dev/ttyUSB0 115200