今天进行ROS与Arduino通信的实验,(网址:http://wiki.ros.org/rosserial_arduino/Tutorials)
安装好环境后,运行“Hello World”样例,即执行
rosrun rosserial_python serial_node.py /dev/ttyACM0
语句后,出现如下错误:
[INFO] [WallTime: 1399983521.604184] ROS Serial Python Node
[INFO] [WallTime: 1399983521.617853] Connecting to /dev/ttyACM0 at 57600 baud
[ERROR] [WallTime: 1399983538.726124] Unable to sync with device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino
解决办法:
在
#include <ros.h>
前边加上
#define USE_USBCON
完美运行。
原因:
在“Arduinohardware.h”的第54行,
我们可以自己根据硬件设备,指定对应的连接类型。我用的是Leonardo型的Arduino。
参考网址(http://answers.ros.org/question/164191/rosserial-arduino-cant-connect-arduino-micro/)