1. 程式人生 > >ubuntu16.04下ROS作業系統學習(四 / 三)ROS基礎-實現分散式通訊

ubuntu16.04下ROS作業系統學習(四 / 三)ROS基礎-實現分散式通訊

ROS是分散式的節點,這樣的話我們就可以將程式執行上的節點放到大型機器上面,分擔機器人執行的壓力。接下來我們來看一下怎麼實現分散式通訊,怎麼在多機上執行統一的程式。

ROS是一種分散式軟體框架,節點之間通過鬆耦合的方式進行組合。

那麼我們如何來實現分散式多機通訊呢:

  • 設定IP地址,確保底層鏈路的聯通,假設我們有兩臺機器,機器A,和機器B,我們首先要保證兩臺計算機的底層資料通訊是沒有問題的。

1、ifconfig命令可以檢視機器B的ip地址,假設是192.168.31.255

2、然後通過ifconfig命令檢視一下機器A本地的ip地址,假設是192.168.31.199

接下來將對方的ip地址設定到自己的host檔案裡面

3、sudo gedit /ect/hosts

然後設定ip地址:

我們通過ping hcx-pc命令。如果成功的話則說明robot這臺計算機向hcx這臺計算機通訊是沒有問題的。一樣的我們需要像hcx-pc這臺計算機進行一樣的操作。

那麼我們兩臺計算機之間的底層通訊是沒有問題的了。

那麼我們如何來實現分散式多機通訊呢?

我們在ros系統當中只能存在一個rosmaster,也就是roscore這個命令只能執行到一臺機器上。那麼我們就需要在另一臺計算機上面告訴rosmaster,這臺計算機是執行到哪一個地方的。