Arduino和ROS分别是非常好的开源硬件和软件。之前已经在FirePrime上安装了Arduino IDE和ROS,现在可以使用rosserial_arduino包,通过Arduino IDE直接使用ROS提供的一些特性。rosserial包提供了一个ROS通信协议,工作在
Arduino的UART之上。它可以让你的Arduino是一个ROS节点,可以直接发布和订阅ROS消息,发布TF变换,并获得ROS系统时间。
ros_lib是一个与ROS有关的Arduino库。与所有的Arduino库一样,ros_lib通过把它的库实现放到你的sketchbook库文件夹下工作。如果在你的sketchbook没有库文件夹,自己创建一个。
下面开始设置工作:
1、安装rosserial包
有两种方式安装,一种是直接安装已经编译好的文件,一种是通过源码编译安装。
可以通过运行下面的指令,直接安装已经编译好的文件:
可以把jade替换为你安装的版本:如indigo。
尝试了上面的指令,没有成功,可能和ROS是编译安装的有关吧,也不是很确定。只能通过源码编译安装。
在下面的指令中,代表你的catkin工作空间。
注意:当前需要运行catkin_make install,否则ros_lib目录下的部分内容会丢失。
在使用rosserial包时,每打开一个终端需要运行一次source /install/setup.bash。
2、在Arduino环境下安装ros_lib
前面的安装步骤创建了ros_lib,必须拷贝到Arduino编译环境中,以使能Arduino程序与ROS的交互。在下面的步骤中,是Arduino环境存放ketch的目录。通常为sketchbook,在home目录下。
注意:为了重新生成,需要删除libraries/ros_lib,因为它的存在会引起一个错误。
在重启IDE后,在examples下看到ros_lib,完成安装。
原作者:liuyu-419812
|