ubuntu16.04下ROS操作系统学习笔记(三 / 三)ROS基础-实现分布式通信

简介: ubuntu16.04下ROS操作系统学习笔记(三 / 三)ROS基础-实现分布式通信

ROS是分布式的节点,这样的话我们就可以将程序运行上的节点放到大型机器上面,分担机器人运行的压力。接下来我们来看一下怎么实现分布式通讯,怎么在多机上运行统一的程序。

ROS是一种分布式软件框架,节点之间通过松耦合的方式进行组合。

那么我们如何来实现分布式多机通讯呢:

  • 设置IP地址,确保底层链路的联通,假设我们有两台机器,机器A,和机器B,我们首先要保证两台计算机的底层数据通讯是没有问题的。

1、ifconfig命令可以查看机器B的ip地址,假设是192.168.31.255

2、然后通过ifconfig命令查看一下机器A本地的ip地址,假设是192.168.31.199

接下来将对方的ip地址设置到自己的host文件里面

3、sudo gedit /ect/hosts

然后设置ip地址:

我们通过ping hcx-pc命令。如果成功的话则说明robot这台计算机向hcx这台计算机通讯是没有问题的。一样的我们需要像hcx-pc这台计算机进行一样的操作。

那么我们两台计算机之间的底层通讯是没有问题的了。

那么我们如何来实现分布式多机通讯呢?

我们在ros系统当中只能存在一个rosmaster,也就是roscore这个命令只能运行到一台机器上。那么我们就需要在另一台计算机上面告诉rosmaster,这台计算机是运行到哪一个地方的。

我的微信公众号名称:深度学习与先进智能决策

微信公众号ID:MultiAgent1024

公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
2月前
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
67 1
|
2月前
|
编解码 监控 API
操作系统:进程的控制和通信(Windows2000)
操作系统:进程的控制和通信(Windows2000)
69 0
|
2月前
|
存储 安全 调度
【操作系统】进程控制与进程通信
【操作系统】进程控制与进程通信
29 3
|
2月前
|
监控 Linux 调度
操作系统学习笔记(一)
在Linux中,使用`ps -aux | grep PID`来查看特定进程的状态,或者用`top`指令监控进程和内存。通过`cat 文件名 | grep 关键词`或`grep -i 关键词 文件名`搜索日志文件。`grep`是一个强大的文本搜索工具,支持多种参数,如`-i`忽略大小写,`-c`计数,`-f`从文件读取关键词。要临时更改主机名用`hostname 新主机名`,永久更改则用`hostnamectl set-hostname 新主机名`
|
2月前
|
消息中间件
操作系统学习笔记(二)
进程切换比线程切换更消耗资源,因为进程切换需保存更多上下文,包括地址空间、寄存器、栈和文件描述符等,还要刷新TLB。线程切换仅需切换硬件上下文和内核栈,上下文更小,所以开销低。进程间通信有多种方式,如匿名管道(父子进程间)、命名管道(无亲缘关系进程)、信号、消息队列、共享内存和信号量等。这些通信方法各有特点,适用于不同场景。例如,匿名管道是半双工的,有名管道允许任何进程通过路径通信,信号用于进程间的简单通知,消息队列支持随机查询和按类型读取,共享内存允许多进程共享数据,而信号量则用于同步和控制对共享资源的访问。
|
2月前
|
Ubuntu Unix Linux
Linux 学习笔记一: 常见操作系统相关概念
Linux 学习笔记一: 常见操作系统相关概念
Linux 学习笔记一: 常见操作系统相关概念
|
2月前
|
Ubuntu
ubuntu20.04 ros-noetic 安装
ubuntu20.04 ros-noetic 安装
101 0
|
2月前
|
消息中间件 存储 Linux
【操作系统】进程的控制和通信
【操作系统】进程的控制和通信
174 0
|
7月前
|
程序员 Linux
不愧是华为内部的“操作系统学习笔记”,一篇说细节,一篇讲哲学
当然重要,身为程序员的我们,那更应该深刻理解和掌握操作系统,虽然我们日常 CURD 的工作中,即使不熟悉它们,也不妨碍我们写代码,但是当出现问题时,没有这些基础知识,你是无厘头的,根本没有思路下手,这时候和别人差距就显现出来了,可以说是程序员之间的分水岭。
|
8月前
|
传感器 机器人 C++
机器人操作系统ROS 编程开发--详细总结
最近工作涉及到自动驾驶的,需要学习ROS,学习中总结了一些知识点,分享给大家。 机器人操作系统ROS,是一种分布式处理框架(又名Nodes),ROS常用C++和python编程语言开发;(这里项目开发采用C++ 11版本)。ROS的点对点设计以及服务和节点管理器等机制,可以分散由计算机视觉和语音识别等功能带来的实时计算压力,能够适应多机器人遇到的挑战。ROS免费并且开源。
502 0