ROS學習筆記 (四):使用ROS實現ARM與PC之間的通訊
阿新 • • 發佈:2019-02-04
這一篇文章在古月居的部落格上有介紹點選開啟連結,在此只是做一個簡單的總結方便自己以後查閱。
示例使用的是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端發過來的訊息(借用了古月居實現的圖片)