ROS多机器人通信(Linux应用,新的切入点,跟风进步)

本文详细介绍了如何在两台Ubuntu系统上配置ROS实现多机器人通信。主要包括安装必要软件、获取IP地址、配置ROS连接及运行示例等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ROS多机器人通信http://blog.csdn.net/ktigerhero3/article/details/78109049

ROS设计的灵魂就在于其分布式计算。一个优秀的节点不需要考虑在哪台机器上运行,它允许实时分配计算量以最大化的利用系统资源。(有一个特例——驱动节点必须运行在跟硬件设备有物理连接的机器上)。在多个机器人上使用ROS是一件很简单的事,你只需要记住一下几点: 
1.你只需要一个master,只要在一个机器上运行它就可以了。 
所有节点都必须通过配置 ROS_MASTER_URI连接到同一个master。 
2.任意两台机器间任意两端口都必须要有完整的、双向连接的网络。(参考ROS/NetworkSetup). 
3.每台机器都必须向其他机器广播其能够解析的名字。(参考 ROS/NetworkSetup). 
本文实现两台安装了ubantu系统和ROS的电脑之间的通信。 
步骤: 
(1)相关软件安装 
(2)获取两个主机的ip地址和主机名 
(3)配置ros连接两台电脑并运行示例

1.相关软件安装

首先当然两台系统要安装ROS,然后是同步包,实现两台系统同步

sudo apt-get install chrony 
 
  • 1

系统连接需要安装ssh

sudo apt-get install openssh-server
 
  • 1

2.获取两个主机的ip地址和主机名

分别在两台机器上 
(1)查看ip地址

ifconfig
 
  • 1

台式为192.168.1.35 
笔记本为192.168.1.6 
(2)查看主机名

hostname 
 
  • 1

3配置ros连接两台电脑并运行示例

(1)首先查看两台电脑的ssh是否启动

ps -e|grep ssh 
 
  • 1

如果看到sshd那说明ssh-server已经启动了,没启动就重启

sudo /etc/init.d/ssh restart 
 
  • 1

(2)使用ssh连接电脑 
首先互相ping对方电脑

ping 192.168.1.35
 
  • 1

出现如下说明网络通了。

64 bytes from 192.168.1.6: icmp_seq=1 ttl=64 time=0.293 ms
64 bytes from 192.168.1.6: icmp_seq=2 ttl=64 time=0.403 ms
64 bytes from 192.168.1.6: icmp_seq=3 ttl=64 time=0.389 ms
 
  • 1
  • 2
  • 3

注意如果笔记本用wifi连接,台式用有线,可能会ping不通,就要想办法ping通网络. 
参考http://blog.csdn.net/ktigerhero3/article/details/70792676 
ssh连接配置方法。 
在笔记本和台式机上都使用 
ssh username@ip_address -p port 
连接上对方的电脑。都能够成功后 
(3)配置ROS_MASTER_URI 
设台式机的ip为192.168.1.35,笔记本的ip为192.168.1.6 
(a)台式机操作如下 
设置台式机为master 
只有台式机上启动

roscore
 
  • 1

新建控制台

export ROS_MASTER_URI=http://192.168.1.35:11311
rosrun rospy_tutorials listener.py 
 
  • 1
  • 2

(b)笔记本操作如下

export ROS_MASTER_URI=http://192.168.1.35:11311
rosrun rospy_tutorials talker.py 
 
  • 1
  • 2

注意配置好ROS_MASTER_URI后,在ROS_MASTER_URI这台机器上运行roscore就行了,否则运行多个roscore就收不到信号。

台式机的listener收到如下信息说明ros不同机器通信成功. 
这里写图片描述
参考: 
http://wiki.ros.org/cn/ROS/Tutorials/MultipleMachines 
http://blog.csdn.net/heyijia0327/article/details/42065293 
https://answers.ros.org/question/90536/ros-remote-master-can-see-topics-but-no-data/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值