日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

ROS 分布式通信

發(fā)布時間:2025/5/22 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ROS 分布式通信 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

ROS是一種分布式軟件框架,節(jié)點之間通過松耦合的方式進行組合。

如何實現(xiàn)分布式多機通信

(1)設置IP地址,確保底層鏈路的聯(lián)通

在 ubuntu 下輸入如下指令,查詢 ubuntu 的ip地址:

ifconfig

在樹莓派的終端中輸入如下指令

sudo vi /etc/hosts

Ubuntu vi文本編輯器使用方法:https://blog.csdn.net/qq_44989881/article/details/115870950

在 hosts 文件中添加ubuntu的ip地址和名稱

測試配置的地址是否聯(lián)通

ping [配置的計算機名稱]

例如:

ping ubuntu

在 樹莓派 下輸入如下指令,查詢 樹莓派 的ip地址:

ifconfig

然后在樹莓派的終端中輸入如下指令

sudo gedit /etc/hosts

添加樹莓派的ip地址 和名稱

測試配置的地址是否聯(lián)通

ping [配置的計算機名稱]

例如:

ping huike

做完以上操作,如果雙向網(wǎng)絡暢通,說明底層網(wǎng)絡通信已經(jīng)沒有問題,主機與樹莓派之間的網(wǎng)絡已經(jīng)聯(lián)通。

設置ROS_MASTER_URI

接下來是如何實現(xiàn)分布式多機通信
(2)在從機端設置ROS_MASTER_URI,讓從機找到ROS Master

主機端 ubuntu 啟動ROS Master 與海龜仿真節(jié)點

roscore

然后在樹莓派編輯 .bashrc 文件 設置ROS Master的位置

vi .bashrc

在 .bashrc 文件最后一行添加以下代碼中的任意一個。

export ROS_MASTER_URI=http://ubuntu:11311 #(當前終端有效) export ROS_HOSTNAME=ubuntu

或在終端中輸入,以下指令在所有終端都有效。

echo "export ROS_MASTER_URI=http://hcx-pc:11311">> ~/.bzshrc echo "export ROS_HOSTNAME=ubuntu">> ~/.bzshrc

注:ROS Master 默認的端口號為:11311

從機終端輸入:

source ~/.bashrc source /etc/init.d/networking

注意:當設置從機 ROS_MASTER_URI 為主機(不為從機本機)后,從機上是不能運行 roscore 的。

主機 ubuntu 啟動海龜節(jié)點

rosrun turtlesim turtlesim_node


在從機樹莓派上輸入:

rostopic list

若能成功顯示話題名,則說明成功。

查看具體的節(jié)點信息

rosnode info /rosout

問題解決

注意:在使用樹莓派ping 虛擬機中的 ubuntu ping不通的情況下,顯示如下:

如果 ping 不通則關閉 ubuntu 的防火墻或者更改VMware網(wǎng)絡連接模式,就可以ping通。以下是解決 ping 不通的方法。

如果linux虛擬機可以ping通樹莓派,樹莓派無法ping通虛擬機

更改VMware網(wǎng)絡連接模式

  • 將VMware的網(wǎng)絡連接模式修改為 橋接模式

  • 查看是否安裝 VMware Bridge Protocol

查看當前防火墻狀態(tài)

在Ubuntu中 我們使用以下命令查看當前防火墻狀態(tài)。

sudo ufw status
  • inactive狀態(tài)是防火墻關閉狀態(tài)
  • active是防火墻開啟狀態(tài)。

開啟防火墻

在Ubuntu中 使用以下命令來開啟防火墻

sudo ufw enable

開啟后,查看當前防火墻狀態(tài)

sudo ufw status

開啟防火墻后的狀態(tài)為active,說明防火墻開啟成功。

關閉防火墻

在Ubuntu中 使用以下命令來關閉防火墻。

sudo ufw disable

關閉后,查看當前防火墻狀態(tài)

sudo ufw status

如果是顯示的狀態(tài)位 inactive 說明防火墻已經(jīng)關閉掉了。

完成以上操作,可以使樹莓派ping 通設置的 ubuntu 的 IP 地址

總結

以上是生活随笔為你收集整理的ROS 分布式通信的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。