这一篇文章在古月居的博客上有介绍点击打开链接,在此只是做一个简单的总结方便自己以后查阅。
示例使用的是ROS wiki上面的helloword示例点击打开链接。
在ROS中实现ARM与PC通讯的难点主要是架设ARM与PC之间的通路,这一块wiki上面有介绍多机通讯。
首先呢,我们需要将ARM和PC连到同一个网段里面,通过互相ping对方来确认是否已经好了。接下来分别在ARM和PC上面配置一下就好。
ARM端:
修改/etc/hosts文件,将PC的IP地址和主机名加入进去
root@linaro-ubuntu-desktop:~# cat /etc/hosts 127.0.0.1 localhost 172.18.129.143 yake-K42JE ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 127.0.1.1 linaro-ubuntu-desktop
接下来重启网络,让配置生效
root@linaro-ubuntu-desktop:~# sudo /etc/init.d/networking restart
最后将ROS 主机地址告诉ARM,一般来说,我们都是使用PC端作为主机(即启动roscore),命令如下:
root@linaro-ubuntu-desktop:~# export ROS_MASTER_URI=http://172.18.129.143:11311这样arm就可以找到主机了,接下来开始配置PC端。
PC端:
和ARM端类似,首先需要修改hosts文件,把ARM的ip+主机加入进去,然后重启网络,最后也要把ROS主机地址告诉系统;
root@linaro-ubuntu-desktop:~# export ROS_MASTER_URI=http://172.18.129.143:11311至此,ARM与PC之间的连接配置已经完成,我们可以使用wiki上面的那个小Demo实验一下。
在PC端,启动ROS程序
$ roscore在ARM端运行talker程序
$ rosrun beginner_tutorials talker
$ rosrun beginner_tutorials listener这时候pc上会收到ARM端发过来的消息(借用了古月居实现的图片)