日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ROS 分布式通信

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

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

如何實現分布式多機通信

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

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

ifconfig

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

sudo vi /etc/hosts

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

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

測試配置的地址是否聯通

ping [配置的計算機名稱]

例如:

ping ubuntu

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

ifconfig

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

sudo gedit /etc/hosts

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

測試配置的地址是否聯通

ping [配置的計算機名稱]

例如:

ping huike

做完以上操作,如果雙向網絡暢通,說明底層網絡通信已經沒有問題,主機與樹莓派之間的網絡已經聯通。

設置ROS_MASTER_URI

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

主機端 ubuntu 啟動ROS Master 與海龜仿真節點

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 啟動海龜節點

rosrun turtlesim turtlesim_node


在從機樹莓派上輸入:

rostopic list

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

查看具體的節點信息

rosnode info /rosout

問題解決

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

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

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

更改VMware網絡連接模式

  • 將VMware的網絡連接模式修改為 橋接模式

  • 查看是否安裝 VMware Bridge Protocol

查看當前防火墻狀態

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

sudo ufw status
  • inactive狀態是防火墻關閉狀態
  • active是防火墻開啟狀態。

開啟防火墻

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

sudo ufw enable

開啟后,查看當前防火墻狀態

sudo ufw status

開啟防火墻后的狀態為active,說明防火墻開啟成功。

關閉防火墻

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

sudo ufw disable

關閉后,查看當前防火墻狀態

sudo ufw status

如果是顯示的狀態位 inactive 說明防火墻已經關閉掉了。

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。