ROS實戰之ROS組網的搭建

搭建ROS組網

工具:
臺式機(Ubuntu):192.168.2.101
筆記本(虛擬機):192.168.2.106
步驟(此處以在筆記本中運行roscore爲準)
1. 將筆記本和臺式機連接在同一個網絡下,其中臺式機的虛擬機網絡連接使用橋接模式,據說用NAT模式會出錯,不過我沒有試過。
2. 在兩臺電腦上均安裝上chrony包,用於保持同步

sudo apt-get install chrony
  1. 使用ping命令來檢測兩臺電腦之間是否正常通信,如果遇到問題的話則試試關閉防火牆
ufw disable
iptables -F
  1. 兩臺電腦之間能相互ping通之後,先在兩臺電腦上各自使用
hostname #查看本機的主機名
sudo gedit /etc/hosts
#進入hosts文件後,在文件頭加入以下幾行(以PC臺式機爲例)
192.168.2.101   yourhostname
192.168.2.106   laptophostname
#
export ROS_HOSTNAME=yourhostname
export ROS_MASTER_URI=http://192.168.2.106:11311

ROS_MASTER_URI爲主節點運行的地址,ROS_HOSTNAME是在組網中發送主題或者訂閱主題時的身份標識,一定要是唯一的。
5. 最後在筆記本上運行roscore,在臺式機上運行相應的節點。
若一切正常,則兩臺電腦間的ROS網絡就建立起來了,這時如果你想開機就使用這個網絡的話,則只需要在兩臺電腦中使用以下命令

gedit ~/.bashrc
#之後在.bashrc文件中添加該地址
export ROS_HOSTNAME=yourhostname
export ROS_MASTER_URI==http://192.168.2.106:11311

有時候我們想在筆記本上控制檯式機節點的運行,這時我們就需要通過ssh來進行相應的操作了。
SSH
1. 在兩臺電腦上各自安裝ssh服務器

sudo apt-get install openssh-server
  1. 使用ps -e |grep ssh來查看ssh服務器是否啓動,若能看到sshd的進程啓動,則說明ssh服務器啓動成功
  2. 在筆記本上使用以下命令來登錄臺式機
ssh -l loginname 192.168.2.101

此時輸入相應的密碼,就能登錄上臺式機上的Ubuntu了。
其實在這裏我建議大家是在筆記本上建立雙網卡的,由於我們筆記本上擁有一塊無線網卡可用於wifi連接,一塊有線網卡用於網線連接,這樣我們就可以通過設置來使得筆記本通過無線網卡訪問外網,通過另一塊網卡訪問內網,而內網則用於ROS組網的連接。
win7上建立雙網卡
外網網關:192.168.1.1
內網網關:192.168.2.1
步驟
1. 在終端輸入route print查看默認網絡目標(0.0.0.0)的網關是否從外網網關走出。
這裏寫圖片描述
若不是則使用route delete 0.0.0.0刪除該默認路由路徑
之後使用route add -p 0.0.0.0 mask 0.0.0.0(此處根據實際情況設定子網掩碼) (外網網關)192.168.1.1
-p參數代表該路徑被永久寫入,即使重啓也仍存在
2. 之後再添加內網網關的永久路由路徑,192.168.2.0表示192.168.2.*的ip訪問都從該路由路徑走過

route add -p 192.168.2.0 mask 255.255.255.0 192.168.2.1

這裏寫圖片描述
windows上設置雙網卡的思想主要是默認網絡目標是要從外網網關走出的,並手動添加訪問內網的路由路徑,由於一臺電腦只能有一個默認網關,所以對於內網的網關需要我們手動添加。以上這樣設置之後,可能仍會出現只能訪問內網或者兩個網都無法訪問的情況,這時需要進入“更改適配器配置”中右鍵本地連接,在“屬性”中選擇(TCP/IPv4)的屬性,右鍵“屬性”,點擊“高級”,將其中的“接口躍點數”調高,一般超過20即可。
這裏寫圖片描述
這樣windows下的雙網卡就設置完成了。你可以通過內網來組建ROS組網,同時用無線網卡訪問外網。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章