ROS入门笔记(十三):分布式通信

简介: ROS入门笔记(十三):分布式通信

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


01 如何实现分布式多机通信


1.1 设置IP地址,确保底层链路的连通


步骤一,树莓派和电脑必须在同一个局域网


步骤二,输入ifconfig,查看两台计算机(ggk-pc,raspi2)的IP地址;


步骤三,IP地址分别设置在对方的hosts文件中,保存、退出;


$ sudo vi /etc/hosts


aHR0cHM6Ly9naXRlZS5jb20vSVQtY3V0ZS9QaWNiZWQvcmF3L21hc3Rlci9pbWcvaW1hZ2UtMjAyMDA1MDcwMDEyMDkxMzcucG5n.png


步骤四,在两台计算机上分别使用ping命令测试网络是否连通。


$ ping raspi2       #在ggk-pc电脑上 
$ ping ggk-pc       #在raspi2上


1.2 在从机端设置ROS_MASTER_URI,让从机找到ROS Master


ROS Master 只能在一台计算机上运行,在另外一台计算机上设置环境变量,找到ROS Master在哪运行;


在树莓派上


步骤一,启动终端,输入以下命令:


$ vi .bashrc


步骤二,拉到结尾,按小写字母o,不是零;


步骤三,在结尾输入以下命令,保存、退出即可;


ROS Master:默认端口号 11311


export ROS_MASTER_URI=http://hcx-pc:11311     #(当前终端有效)保存,退出
或者
echo"export ROS_MASTER_URI=http://hcx-pc:11311">>~/.bashrc     # (所有终端有效)保存、退出

02 实战操作


步骤一,主机端启动ROS Master与海龟仿真节点;


$ roscore
$ rosrun turtlesim turtlesim_node


步骤二,从机端发布一个速度控制消息;

$ rostopic pub -r 10 /turtlel/cmd_vel
geometry_msgs/Twist "linear:
x:0.5
y:0.0
z:0.0
angular: 
x:0.0
y:0.0
Z:0.5"
相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
ROS入门实践
本课程将基于基础设施即代码 IaC 的理念,介绍阿里云自动化编排服务ROS的概念、功能和使用方式,并通过实际应用场景介绍如何借助ROS实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
目录
相关文章
|
Ubuntu 机器人 Linux
|
5月前
|
存储 算法 安全
“卧槽,系统又崩了!”——别慌,这也许是你看过最通俗易懂的分布式入门
本文深入解析分布式系统核心机制:数据分片与冗余副本实现扩展与高可用,租约、多数派及Gossip协议保障一致性与容错。探讨节点故障、网络延迟等挑战,揭示CFT/BFT容错原理,剖析规模与性能关系,为构建可靠分布式系统提供理论支撑。
298 2
|
8月前
|
传感器 机器人 开发者
ROS服务(Service)通信中的模型与实际应用: 初识Hello World并予以扩展
总而言之,ROS服务提供的是一种可靠而灵活的通信方式。每一次服务的请求和应答都会阻塞,直至应答完成。这意味着在调用服务之后,你可以确保你的请求被正确处理。这也是它在机器人系统中如此重要的原因,因为在许多情况下,我们需要获取实时、准确的结果,例如控制机器人执行精确的运动。
426 1
|
存储 传感器 编解码
ROS机器视觉入门:从基础到人脸识别与目标检测
前言 从本文开始,我们将开始学习ROS机器视觉处理,刚开始先学习一部分外围的知识,为后续的人脸识别、目标跟踪和YOLOV5目标检测做准备工作。我采用的笔记本是联想拯救者游戏本,系统采用Ubuntu20.04,ROS采用noetic。 颜色编码格式,图像格式和视频压缩格式 (1)RGB和BGR:这是两种常见的颜色编码格式,分别代表了红、绿、蓝三原色。不同之处在于,RGB按照红、绿、蓝的顺序存储颜色信息,而BGR按照蓝、绿、红的顺序存储。 rgb8图像格式:常用于显示系统,如电视和计算机屏幕。 RGB值以8 bits表示每种颜色,总共可以表示256×256×256=16777216种颜色
564 70
|
存储 传感器 编解码
ROS机器视觉入门:从基础到人脸识别与目标检测
【11月更文挑战第9天】从本文开始,我们将开始学习ROS机器视觉处理,刚开始先学习一部分外围的知识,为后续的人脸识别、目标跟踪和YOLOV5目标检测做准备工作。
647 56
|
存储 NoSQL 调度
|
传感器 机器人 数据处理
ROS 编程入门的介绍
【10月更文挑战第13天】ROS(Robot Operating System)是一种开源的机器人软件框架,广泛用于机器人开发中。通过使用 ROS,开发者可以轻松创建和管理机器人应用程序。在本节中,我们将介绍如何创建一个 ROS 功能包并实现一些基本功能。
800 3
|
消息中间件 关系型数据库 Java
‘分布式事务‘ 圣经:从入门到精通,架构师尼恩最新、最全详解 (50+图文4万字全面总结 )
本文 是 基于尼恩之前写的一篇 分布式事务的文章 升级而来 , 尼恩之前写的 分布式事务的文章, 在全网阅读量 100万次以上 , 被很多培训机构 作为 顶级教程。 此文修改了 老版本的 一个大bug , 大家不要再看老版本啦。
|
机器学习/深度学习 人工智能 分布式计算
【AI系统】分布式通信与 NVLink
进入大模型时代后,AI的核心转向大模型发展,训练这类模型需克服大量GPU资源及长时间的需求。面对单个GPU内存限制,跨多个GPU的分布式训练成为必要,这涉及到分布式通信和NVLink技术的应用。分布式通信允许多个节点协作完成任务,而NVLink则是一种高速、低延迟的通信技术,用于连接GPU或GPU与其它设备,以实现高性能计算。随着大模型的参数、数据规模扩大及算力需求增长,分布式并行策略,如数据并行和模型并行,变得至关重要。这些策略通过将模型或数据分割在多个GPU上处理,提高了训练效率。此外,NVLink和NVSwitch技术的持续演进,为GPU间的高效通信提供了更强的支持,推动了大模型训练的快
536 0
|
Dubbo Java 应用服务中间件
分布式-dubbo的入门
分布式-dubbo的入门

推荐镜像

更多
  • ros