1. 程式人生 > >ROS學習筆記 (四):使用ROS實現ARM與PC之間的通訊

ROS學習筆記 (四):使用ROS實現ARM與PC之間的通訊

這一篇文章在古月居的部落格上有介紹點選開啟連結,在此只是做一個簡單的總結方便自己以後查閱。

示例使用的是ROS wiki上面的helloword示例點選開啟連結

在ROS中實現ARM與PC通訊的難點主要是架設ARM與PC之間的通路,這一塊wiki上面有介紹多機通訊

首先呢,我們需要將ARM和PC連到同一個網段裡面,通過互相ping對方來確認是否已經好了。接下來分別在ARM和PC上面配置一下就好。

ARM端:

修改/etc/hosts檔案,將PC的IP地址和主機名加入進去

[email protected]:~# 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

上圖中的172.18.129.143是我PC上的IP地址,yake-K42JE是我的主機名,這個兩個都要寫正確,否則會出現連線不上的問題。

接下來重啟網路,讓配置生效

[email protected]:~# sudo /etc/init.d/networking restart

最後將ROS 主機地址告訴ARM,一般來說,我們都是使用PC端作為主機(即啟動roscore),命令如下:

[email protected]:~# export ROS_MASTER_URI=http://172.18.129.143:11311
這樣arm就可以找到主機了,接下來開始配置PC端。

PC端:

和ARM端類似,首先需要修改hosts檔案,把ARM的ip+主機加入進去,然後重啟網路,最後也要把ROS主機地址告訴系統;

[email protected]:~# export ROS_MASTER_URI=http://172.18.129.143:11311
至此,ARM與PC之間的連線配置已經完成,我們可以使用wiki上面的那個小Demo實驗一下。

在PC端,啟動ROS程式

$ roscore
在ARM端執行talker程式
$ rosrun beginner_tutorials talker

在PC上執行listener程式
$ rosrun beginner_tutorials listener 
這時候pc上會收到ARM端發過來的訊息(借用了古月居實現的圖片)