ros分布式控制的节点配置

author author     2022-10-09     467

关键词:

  首先在终端中输入下面的指令查看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机器人操作系统分布式控制的节点 配置方法

rosnodelet的使用

  ROS是一种基于分布式网络通讯的操作系统,整个机器人控制系统是由一个Master主节点和若干个功能相对独立的Node子节点组成,这也是ROS系统最主要的特点就是分布式以及模块化的设计。在ROS通讯过程中Master节点存储着各个... 查看详情

ros多机器人控制(主从机配置)与launch递归启动(代码片段)

...绍本专栏旨在通过对ROS的系统学习,掌握ROS底层基本分布式原理,并具有机器人建模和应用ROS进行实际项目的开发和调试的工程能力。🚀详情:《ROS从入门到精通》1定义多机器人节点定义一个multi_turtlebot3_empty_wor... 查看详情

ros操作系统快速入门(代码片段)

文章目录一、简介模块化、分布式的系统设计二、安装虚拟机与ROS系统安装虚拟机的缺点安装ubuntu20.04三、ROS系统安装切换镜像源视频教程四、ROS应用商城APT源简介与指令介绍案例ros应用商城介绍五、GIthub建立如下目录结构:... 查看详情

07ros运行管理

ROS运行管理ROS是多进程(节点)的分布式框架,一个完整的ROS系统实现:可能包含多台主机;每台主机上又有多个工作空间(workspace);每个的工作空间中又包含多个功能包(package);每个功能包又包含多个节点(Node),不同的节点都有... 查看详情

roboticssystemtoolbox笔记

1、ROS基本概念ROS全称为RobotOperatingSystem,是一种采用分布式架构的元操作系统,它本身并不是通常意义上的操作系统,可以简单的将它理解为是在多个物理计算机中运行的众多ROS节点形成的一个ROS网络。 ROS的基本概念ROS网络... 查看详情

ros2节点简介(代码片段)

...点都应负责单一的,模块化的目的(例如,一个节点用于控制轮式电机,一个节点用于控制激光测距仪等)。每个节点都可以通过t 查看详情

详解jmeter分布式测试配置以及过程中遇到的坑

...ter。一台控制机(主机),多台负载机(节点机)来进行分布式压测扩大并发数。jmeter分布式可以跨系统配置不论是windows还是linux都可以,这里以windows为例进行讲解。Jmeter分布式架构图如下:进入节点机A(如果有多个节点机,... 查看详情

4.2ros节点运行管理launch文件(代码片段)

...需要启动多个节点,比如:ROS内置的小乌龟案例,如果要控制乌龟运动,要启动多个窗口,分别启动roscore、乌龟界面节点、键盘控制节点。如果每次都调用rosrun逐一启动,显然效率低下,如何优化?采用的优化策略便是使用roslaunch... 查看详情

ros分布式通信(代码片段)

ROS是一种分布式软件框架,节点之间通过松耦合的方式进行组合。如何实现分布式多机通信(1)设置IP地址,确保底层链路的联通在ubuntu下输入如下指令,查询ubuntu的ip地址:ifconfig在树莓派的终端中输入... 查看详情

理解ros话题---ros学习第4篇

文章目录1.通过键盘控制turtle2.ROS话题2.1使用rqt_graph1.通过键盘控制turtle(1)打开一个终端运行roscore(2)再打开一个新的终端来打开turtlesim_node节点kandi@ubuntu:~$rosrunturtlesimturtlesim_node弹出一个乌龟的界面(3)再打开一个新的终端,... 查看详情

ros的工作过程及通信原理

...一个生产车间,每个生产车间又有好多工人在配合,每个节点(node)看作是一个工人,节点是又是可执行程序的最小单位,工人们之间相互沟通通过消息(mesage)来完成. 话题(topic)  话题是单向的,一般用于连续发送... 查看详情

分布式豆瓣爬虫:控制节点-url管理器(代码片段)

一、简单分布式爬虫架构 本次分布式爬虫采用主从模式,主从模式是指一台主机作为控制节点,负责管理所有运行网络爬虫的主机,爬虫只需要从控制节点那里接收任务,并把新生成任务提交给控制节点就可以了,在这个过... 查看详情

ros基本概念

1.节点节点是主要的计算执行进程,如果你想要有一个可以与其他节点进行交互的进程,那么你需要创建一个节点,并将此节点链接到ROS网络。通常情况下,系统包含能够实现不同功能的多个节点。最好让每一个... 查看详情

ros基本概念

1.节点节点是主要的计算执行进程,如果你想要有一个可以与其他节点进行交互的进程,那么你需要创建一个节点,并将此节点链接到ROS网络。通常情况下,系统包含能够实现不同功能的多个节点。最好让每一个... 查看详情

如何在 ROS2 中启动带参数的节点?

】如何在ROS2中启动带参数的节点?【英文标题】:HowtolaunchanodewithaparameterinROS2?【发布时间】:2018-12-2420:32:43【问题描述】:将ros1包迁移到ros2,但不知道如何使用ros2中的参数启动。对于ros1,我有一个启动文件,它引用了一个配... 查看详情

ros计算图级,理解ros节点、话题

...可以通过<命令>-h(或--help)来查看例如:rosnode-h用键盘控制小海龟运动这一过程的通信机制是怎样的呢?其实,这两个节点是通过一个ROS话题(Topic)来相互通信的,turtle_teleop_key在这个话题上发布键盘输入的的消息,而turtlesim则订阅... 查看详情

理解ros话题---ros学习第5篇

文章目录1.通过键盘控制turtle2.ROS话题2.1使用rqt_graph2.2介绍rostopic2.3使用功能rostopicecho2.4使用rostopiclist3.ROS消息3.1使用rostopictype4.继续学习rostopic4.1使用rostopicpub4.2使用rostopichz5.使用rqt_plot1.通过键盘控制turtle(1)打开一个终端运行roscor... 查看详情

ros1云课→25机器人控制配置(代码片段)

ROS1云课→24机器人感知配置移动机器人控制和运动学动力学模型密切相关。差动驱动轮系统控制器。控制采用速度命令的形式,将其拆分然后发送到差动驱动轴距的两个车轮上。里程计是从硬件的反馈中计算出来的,并... 查看详情