rosserial_arduino包通过arduino IDE直接使用ROS。 rosserial提供了一个通信协议, 它通过arduino的UART来工作;
它允许arduino作为一个ROS的节点,可以直接发布和订阅ROS的消息,发布TF变换,以及获取ROS的系统时间。
(2) 需安装的软件包与依赖库,硬件
sudo apt-get install arduino
sudo apt-get install ros-indigo-rosserial-arduino
sudo apt-get install ros-indigo-rosserial
硬件:开发板ardunio uno
(3) 软件配置
在终端中输入:arduino 。然后设置sketchbook(用来存储你的程序的地方)的位置,一般shetchbook的目录可以在file->preference中查看和设置。进入到相应的目录下:
$#:cd ~/sketchbook/libraries
$#: rm -rf ros_lib
$#: rosrun rosserial_arduino make_libraries.py . (注意最后那个点)
最后重启arduino就可以了。
(4) 操作
将arduino开发板连接到电脑的usb口,在arduino IDE中进行设置。选择Tools->Board,选择你所使用的arduino开发板的类型。继续选择Tools->Serial Port->/dev/ttyACM0。当Serial Port不能选择时,可重启电脑或sudo apt-get remove brltty。设置完成以后,在arduino IDE中选择File->Examples->ros_lib->HelloWorld。在arduino IDE中,点击upload运行程序。接着运行roscore; rosrun rosserial_python serial_node.py /dev/ttyACM0 (运行ros_serial客户端程序来把arduino发送的信息转发到ROS系统的其它部分); 查看arduino发送的消息:rostopic echo chatter
当arduino的数据通信灯在闪,这可以说明arduino确实在发送数据给电脑。