IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> ROS 分布式通信 -> 正文阅读

[系统运维]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 地址

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-11 16:57:23  更:2021-07-11 16:58:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 16:51:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码