ROS分布式多機通訊(主從網路的設定)

2021-09-23 02:01:38 字數 957 閱讀 4929

在構建機械人的過程中,為了方便除錯和後期擴充套件,採用「pc+英偉達jetson nano」分布式的方式來處理資料。

pc作為主機,跑網路,進行處理資料等主要工作;安裝在機械人上的英偉達jetson nano作為從機,主要用來採集各種感測器採集來的環境資料。據我了解,有些slam套件為了實現離線工作(不使用pc),會採用相反的設定:機械人上面的額處理器作為主機,pc作為從機主要完成遠端檢測的功能。因為以後需要在裝置上跑網路,方便後期擴充套件,決定採用pc作為主機的形式。這裡的主機就是ros中要執行master節點的處理器。

一、主從機網路通訊

1、首先pc和jetson nano要連線到同乙個wifi網路上,並分別設定固定ip。

使用ifconfig命令檢視本機的區域網ip位址

以我自己的裝置為例:

我pc的計算機名為chaoxing,192.168.1.150

nano計算機名為robot,192.168.1.147

2、然後開啟hosts檔案,在hosts檔案中,加入彼此的ip位址和對應的計算機名。

sudo gedit /etc/hosts

修改完成後,使用ping命令來測試一下是否連通

3、在系統中只能有乙個master,需要讓從機知道master的位置

在從機中需要對環境變數進行配置:

sudo gedit ~/.bashrc

在最後新增

export ros_hostname=192.168.1.147

export ros_master_uri=

注意:只修改從機的,主機不用修改!!!

4、測試

在主機中執行

roscore

rosrun turtlesim turtlesim_node

在從機中執行

rosrun turtlesim turtle_teleop_key

用從機的鍵盤可以實現對主機中小烏龜的控制,則多機通訊配置正確。

4 7 ROS分布式通訊

ros是乙個分布式計算環境。乙個執行中的ros系統可以包含分布在多台計算機上多個節點。根據系統的配置方式,任何節點可能隨時需要與任何其他節點進行通訊。因此,ros對網路配置有某些要求 實現 1.準備 先要保證不同計算機處於同一網路中,最好分別設定固定ip,如果為虛擬機器,需要將網路介面卡改為橋接模式...

ros多機通訊的辦法

在本機進行測試時,只要啟動roscore即可,如果依賴別的自定義訊息型別,也只要source使其生效即可。但是在網路中測試,ros版本不同設定方法也不同。使用網線連線測試機,shell中新增以下內容 source opt ros melodic setup.sh export ros master ...

關於ROS多機通訊的總結 1 0

先貼遠端操作的幾條常用命令,scp複製 scp local file remote username remote ip remote folder scp remote username remote ip remote folder local file 這兩條命令是類似的,解釋第一條,就是從本...