ROS分布式控制的节点配置

  首先在终端中输入下面的指令查看ROS主节点主机的IP和远程控制端的IP:

ifconfig  

  比如机器人控制器中运行着ROS主节点,其IP地址为192.168.1.111,hostname为xubuntu;远程控制端电脑IP为192.168.1.138,hostname为ubuntu. 首先要确保两台电脑能相互ping通。

  然后在主节点和远程控制端的配置文件 /etc/hosts 中分别添加对方的IP地址和hostname信息(Add entries to your /etc/hosts file so that the machines can find each other)。在xubuntu中的 /etc/hosts文件中加入下面这一行:

192.168.1.138   ubuntu

  在ubuntu中的 /etc/hosts文件中加入下面这一行:

192.168.1.111   xubuntu

  如果主机的hosts文件中没有添加从机的信息,从机只能接收到从主机发来的信息,而无法向主机发送信息。建议主机和从机都要将对方的IP hostname添加到自己的 /etc/hosts 中

  整个系统只需要一个master,选择一个机器来运行master提供topic寻址、参数服务器等功能。所有的节点必须通过环境变量ROS_MASTER_URI配置为使用同一个master在远程控制端电脑ubuntu的 ~/.bashrc文件中加入下面环境变量,用于连接ROS主节点:

export ROS_MASTER_URI=http:/xubuntu:11311

  

  下面来进行一个测试,在xubuntu中输入roscore运行ROS 主节点,然后执行下面命令打开海龟仿真节点:

rosrun turtlesim turtlesim_node 

  在ubuntu中输入rosnode list查看当前节点,可以看到正运行着ros主节点和turtlesim节点:

  可以在ubuntu中用键盘远程控制xubuntu中的海龟运动,输入下面的指令:

rosrun turtlesim turtle_teleop_key

   在xubuntu中打开另一个键盘控制节点,重命名为teleop2:

rosrun turtlesim  turtle_teleop_key  __name:=teleop2

  然后在ubuntu中输入下面指令查看海龟速度信息:

rostopic echo /turtle1/cmd_vel

  在xubuntu中用键盘控制海龟运动,可以看出从节点(ubuntu)也能接收到正确的信息:

 

参考:

ROS-NetworkSetup

ubuntu永久修改主机名

ROS-EnvironmentVariables

ROS中配置主从机需注意的几点

ROS机器人操作系统分布式控制的节点 配置方法

posted @   XXX已失联  阅读(2711)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示