ROS实战之ROS组网的搭建

2023-05-16

搭建ROS组网

工具:
台式机(Ubuntu):192.168.2.101
笔记本(虚拟机):192.168.2.106
步骤(此处以在笔记本中运行roscore为准)
1. 将笔记本和台式机连接在同一个网络下,其中台式机的虚拟机网络连接使用桥接模式,据说用NAT模式会出错,不过我没有试过。
2. 在两台电脑上均安装上chrony包,用于保持同步

sudo apt-get install chrony
  1. 使用ping命令来检测两台电脑之间是否正常通信,如果遇到问题的话则试试关闭防火墙
ufw disable
iptables -F
  1. 两台电脑之间能相互ping通之后,先在两台电脑上各自使用
hostname #查看本机的主机名
sudo gedit /etc/hosts
#进入hosts文件后,在文件头加入以下几行(以PC台式机为例)
192.168.2.101   yourhostname
192.168.2.106   laptophostname
#
export ROS_HOSTNAME=yourhostname
export ROS_MASTER_URI=http://192.168.2.106:11311

ROS_MASTER_URI为主节点运行的地址,ROS_HOSTNAME是在组网中发送主题或者订阅主题时的身份标识,一定要是唯一的。
5. 最后在笔记本上运行roscore,在台式机上运行相应的节点。
若一切正常,则两台电脑间的ROS网络就建立起来了,这时如果你想开机就使用这个网络的话,则只需要在两台电脑中使用以下命令

gedit ~/.bashrc
#之后在.bashrc文件中添加该地址
export ROS_HOSTNAME=yourhostname
export ROS_MASTER_URI==http://192.168.2.106:11311

有时候我们想在笔记本上控制台式机节点的运行,这时我们就需要通过ssh来进行相应的操作了。
SSH
1. 在两台电脑上各自安装ssh服务器

sudo apt-get install openssh-server
  1. 使用ps -e |grep ssh来查看ssh服务器是否启动,若能看到sshd的进程启动,则说明ssh服务器启动成功
  2. 在笔记本上使用以下命令来登录台式机
ssh -l loginname 192.168.2.101

此时输入相应的密码,就能登录上台式机上的Ubuntu了。
其实在这里我建议大家是在笔记本上建立双网卡的,由于我们笔记本上拥有一块无线网卡可用于wifi连接,一块有线网卡用于网线连接,这样我们就可以通过设置来使得笔记本通过无线网卡访问外网,通过另一块网卡访问内网,而内网则用于ROS组网的连接。
win7上建立双网卡
外网网关:192.168.1.1
内网网关:192.168.2.1
步骤
1. 在终端输入route print查看默认网络目标(0.0.0.0)的网关是否从外网网关走出。
这里写图片描述
若不是则使用route delete 0.0.0.0删除该默认路由路径
之后使用route add -p 0.0.0.0 mask 0.0.0.0(此处根据实际情况设定子网掩码) (外网网关)192.168.1.1
-p参数代表该路径被永久写入,即使重启也仍存在
2. 之后再添加内网网关的永久路由路径,192.168.2.0表示192.168.2.*的ip访问都从该路由路径走过

route add -p 192.168.2.0 mask 255.255.255.0 192.168.2.1

这里写图片描述
windows上设置双网卡的思想主要是默认网络目标是要从外网网关走出的,并手动添加访问内网的路由路径,由于一台电脑只能有一个默认网关,所以对于内网的网关需要我们手动添加。以上这样设置之后,可能仍会出现只能访问内网或者两个网都无法访问的情况,这时需要进入“更改适配器配置”中右键本地连接,在“属性”中选择(TCP/IPv4)的属性,右键“属性”,点击“高级”,将其中的“接口跃点数”调高,一般超过20即可。
这里写图片描述
这样windows下的双网卡就设置完成了。你可以通过内网来组建ROS组网,同时用无线网卡访问外网。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS实战之ROS组网的搭建 的相关文章

  • MATLAB图中加入阴影

    在绘制MATLAB 图时 xff0c 想表示不同的阶段 xff0c 所以将其中一部分用阴影颜色强调出来 xff0c 因此进行了一下绘制图像的知识补充 其中想要的效果是类似于下面这张 xff1a 具体如何实现呢 xff0c 有两种方式 xff
  • Matlab调整子图位置及大小

    为了绘制多个子图的MATLAB图 xff0c 但是使用导出设置时无法将子图全屏铺满整个屏幕 xff0c 因此本文对设置MATLAB子图位置进行了研究 xff0c 达到如下的效果 1 首先 xff0c 明确其中每个变量的含义 xff0c 从M
  • excel计算出均方根值(RMS)+ 均方根误差(RMSE)+标准差(Standard Deviation)

    首先弄明白这几者的区别 xff0c 方差 标准差和均方根误差的区别总结 均方根值 xff08 RMS xff09 43 均方根误差 xff08 RMSE xff09 43 标准差 xff08 Standard Deviation xff09
  • Matlab画图和点标记

    从csv中导出数据 xff0c 然后需要在MATLAB图中进行标记个别点 xff0c 但是利用MTALB自身标记的比较丑 xff0c 因此搜了一下别的方法 xff0c 具体效果如下 xff0c 其中的 可以改成O或者其他的自定义的符号 xf
  • word因导入mathtype不能使用复制粘贴快捷键的解决方法

    经查阅有两种解决方式 xff1a 1 直接删除你安装的原office中的MathType Commands 2016 dotm这个文件 2 是更换为mathtype里面的文件 xff0c 具体过程如下两个参考 xff1a 官网给出的解决办法
  • 强力推荐90个优秀外国英文网站

    一 大陆可访问的优秀英文信息源 1 英国 经济学家 http www economist com 2 美联社 http wire ap org GoToAP cgi 3 英国BBC http news bbc co uk 4 纽约时报 ht
  • 学习笔记(01):MFC上位机与STM32下位机通讯精讲-STM32串口实战1之串口发送1(串口初始化实践)...

    立即学习 https edu csdn net course play 6375 122556 1 GPIO PinAFConfig 函数复用功能 xff0c 将GPIO和USART连接起来
  • 单片机模拟输出PPM信号

    PPM信号就是将多个PWM信号放在一起传输 xff0c 一个PPM的周期为20ms 其中一个通道信号的范围为1 2ms 所以一个PPM信号 xff0c 最多可以传输10个通道的PWM信号 PPM信号以0 5ms的低电平信号代表一个通道的起始
  • linux在线模拟器

    我们项目部在开发过程中运用了自动化发布系统 xff0c 而且发布过程比较严格和规范 xff0c 写完代码只需要提交svn xff0c 填写发布文档 xff0c 测试通过之后有运维组发布到线上 这就导致很少有接触linux系统的机会 xff0
  • ROS订阅者程序

    include lt ros ros h gt include lt turtlesim Pose h gt include lt iomanip gt void poseMessageReceived const turtlesim Po
  • 吴恩达 ML作业提交:Grader sent no response

    目录 文章目录 目录前言正文解决方案 前言 最近在补习吴恩达machinelearning 的课程 xff0c 上完了课 xff0c 肯定是要做作业的 xff0c 做作业没有问题 xff0c 但在提交作业时遇到了问题 xff0c 记录如下
  • Docker容器通过独立IP暴露给局域网的方法

    Docker容器非常轻量 xff0c 系统开销非常少 xff0c 比VMware或者VirtualBox用起来方便 xff0c 部署起来也非常容易 官方推荐我们通过端口映射的方式把Docker容器的服务提供给宿主机或者局域网其他容器使用 一
  • CCS v6.1下完成TI-RTOS配置

    TI RTOS 是实时操作系统的TI微控制器 TI RTOS实现更快的发展不再需要开发人员编写和维护的系统软件 xff0c 如调度程序 xff0c 协议栈和驱动程序 它结合了实时多任务内核与其他中间件组件 xff0c 包括TCP IP和US
  • 【USRPx310系列(NI USRP2940-2955)+ srsRAN】环境搭建与应用

    x1f4e3 x1f973 x1f973 x1f973 x1f4e3 Hello 如果这篇 文章 对你有帮助 x1f604 xff0c 希望可以给博主点个赞 x1f44d 鼓励一下 x1f618 x1f4e3 x1f973 x1f973 x
  • 单相全桥逆变原理及仿真实验

    前言 一 单相全桥逆变器组成原理 1 全桥逆变电路拓扑结构 2 单相逆变器的SPWM调制方式 二 单相全桥逆变器仿真 1 SPWM调制波仿真 2 全桥逆变仿真 三 SPWM单片机程序实现 1 CubeMX配置 2 SPWM正弦表数据生成 3
  • STM32系列(HAL库)——使用ESP8266-01S物联网模块连接Onenet云平台上报DHT11温湿度

    前言 本篇主要讲解如何使用ESP8266 01S物联网模块连接Onenet云平台 xff0c 并上报DHT11模块的温湿度数据 本文单片机主控采用STM32F405RGT6 xff0c 使用其他主控的话基本要求有2个串口 xff0c 一个串
  • 使用cmake混编c和c++

    由于项目的需求 xff0c 需要将c和c 43 43 混编 xff0c 项目采用cmake 直接上代码 xff1a project main CXX C 这里可以不写CXX和C xff0c 但不能只写一个 xff0c 否则只会编译指定语言
  • 关于Hyper-V设置了本地桥接网络后 宿主机网络变慢的问题

    本机系统 xff1a WIN10专业版 1903 启用了Hyper V虚拟机 由于要玩docker xff0c 就在虚拟机里装了个Center OS7 设置了一个外部网络 这时候宿主机就和这个CenterOS 是同一IP段了 这时候看下面的
  • 记录 docker 安装mssql 2017

    系统环境 xff1a 阿里云 CentOS 7 4G内存 参考 xff1a https docs microsoft com zh cn sql linux quickstart install connect docker view 61
  • docker mysql 5.7 -v挂载目录 笔记

    本文记录两个环境中docker 安装mysql xff0c 主是要记录挂载目录遇到的问题 注意 xff1a mysql 5 7这个版本目录挂载有问题 xff0c 要用mysql 5 7 16以上版本 xff0c 5 7版本在windows

随机推荐

  • win10 升级到21H1 后Thinkpad X系列本本 音频驱动 没有声音

    前景 1 重装了几次系统 xff0c win10 64位系统 xff0c 装的过程中 xff0c 设置语言之类的界面时 xff0c 有声音 xff0c xff0c xff0c 进入系统后无声音 2 安装联想驱动管理 驱动 都装好了 xff0
  • Java Steam.filter() 过滤 通过Predicate<T>实现 多条件动态 or and 过滤

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • mysql 判断字段否存在,如果存在就修改字段

    先建一个存储过程 xff0c 再执行存储过程 xff0c 然后删掉存储过程 DROP PROCEDURE IF EXISTS proc tempPro CREATE PROCEDURE proc tempPro BEGIN SELECT c
  • mysql 常用脚本整理

    MySQL 来自各种资源 及部分自己实践 添加字段 ALTER TABLE 表名 ADD COLUMN 列名 类型 comment 39 说明 39 ALTER TABLE User ADD COLUMN shorName varchar
  • Docker Center OS7笔记--删除镜像(httpd)

    删除镜像 xff08 httpd xff09 1 docker stop docker ps a q 停止所有容器 2 docker ps a 查看容器 3 docker rm 容器ID 删除容器 删除后 xff0c 就没有容器了 4 do
  • SqlServer 2008R2 10.50.1600.1 升级到 SqlServer 2016

    要从sql server 2008 R2 企业版 直接升级到 2016 企业版 要先把R2升级到SP3这个版本 xff08 注意 xff1a 不是sp1 sp2 sp3的安全更新 坑 xff09 然后去下载2016 去itellyou下载
  • C#委托与事件

    1 什么是委托 委托是C 中的一个引用类型 它允许捕捉对方法的引用 xff0c 并像传递其他对象那样传递该引用 xff0c 也可以像调用其他方法一样调用被捕捉的方法 声明委托需要使用delegate关键字 xff1a span class
  • 数据分发服务 (DDS)及Fast DDS环境搭建

    1 数据分发服务 DDS 数据分发服务 DDS 是一种以 数据为中心的通信协议 xff0c 用于分布式软件应用程序通信 它描述了支持数据提供者和数据消费者之间通信的通信应用程序编程接口 API 和通信语义 由于它是一个以数据为中心的发布订阅
  • Docker管理工具Web UI:DockerUI & Shipyard /portainer

    docker针对于系统工程师或者开发人员来说操作比较简单 一般我们习惯了对着黑黑的屏幕敲命令 xff0c docker pull xff0c docker push xff0c docker run xff0c docker logs xf
  • BeautifulSoup+pandas 爬取新浪国内新闻

    xff08 1 xff09 使用技术 python 3 5 2 sqlite3 pandas requests jupyter notebook xff08 2 xff09 详细代码 新浪国内新闻首页 xff1a http news sin
  • android8.1客制化修改文档

    1 去除设置 系统 关于手机 硬件信息去掉 vendor mediatek proprietary packages apps MtkSettings res xml device info settings xml中删除布局文件 xff0
  • C/C++总结笔记——指针1:野指针、空指针(NULL和nullptr)、悬空指针、智能指针

    C C 43 43 中有几种指针相关的概念 xff0c 只知道有这样的概念 xff0c 但HR一问就露馅 xff0c 这里进行总结方便复习 1 野指针 1 指针定义时未被初始化 xff1a 指针在被定义的时候 xff0c 如果程序不对其进行
  • ARM汇编的编程模式和工作模式

    ARM采用32位架构 ARM 约定 Byte 8bitsHalfword 16bits 2byteWord 32 bits 4bytes ARM core 的指令集 ARM指令集 32 bitThumb指令集 xff08 沙姆 xff09
  • 嵌入式开发内存节约方法(笔记)

    1 不要在 h文件中定义变量 xff0c 可以声明一个extern全局变量 xff0c 定义在某一个 c文件中进行 其他 c文件即可共用 在源文件中引入头文件相当于直接把头文件的内容拷贝到原文件中 xff0c 如果引入这个头文件后 xff0
  • Linux内核进程上下文切换深入理解

    我们知道操作系统的一个重要功能就是进行进程管理 xff0c 而进程管理就是在合适的时机选择合适的进程来执行 xff0c 在单个cpu运行队列上各个进程宏观并行微观串行执行 xff0c 多个cpu运行队列上的各个进程之间完全的并行执行 进程管
  • 尚医通开发笔记(结尾含部分bug修复方法)

    目录 项目简介 xff1a 包含系统 项目架构 前端开发流程 xff1a common模块 swagger2 Result xff08 全局统一返回结果 xff09 YyghException xff08 自定义全局异常 xff09 Glo
  • 树莓派上的软件安装和卸载命令汇总

    基础命令 安装软件 apt get install softname1 softname2 softname3 卸载软件 apt get remove softname1 softname2 softname3 卸载并清除配置 apt ge
  • ubuntu安装KDE桌面环境

    ubuntu安装KDE桌面环境 打开shell环境 xff0c 执行sudo apt get install kubuntu desktop xff0c 然后会提示一大堆的软件包要安装 xff0c 注意安装好之后有1G多 lxc 64 lx
  • 游戏开发书籍推荐

    游戏开发书籍推荐 xff08 1 3 1 Windows游戏编程大师技巧 xff08 第二版 xff09 原名 xff1a Tricks of the Windows Game Programming Gurus 2nd 作者 xff1a
  • ROS实战之ROS组网的搭建

    搭建ROS组网 工具 xff1a 台式机 xff08 Ubuntu xff09 xff1a 192 168 2 101 笔记本 xff08 虚拟机 xff09 xff1a 192 168 2 106 步骤 xff08 此处以在笔记本中运行r