2.ROS基础(分布式通信,ROS中的关键组件)

本文详细介绍ROS(机器人操作系统)的分布式通信原理及实现方法,包括设置IP地址、ROS_MASTER_URI环境变量,以及多机通信步骤。同时,深入探讨ROS中的关键组件,如Launch文件、TF坐标变换、Qt工具箱、Rviz可视化平台和Gazebo物理仿真环境的功能与应用。

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

3.分布式通信

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

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

1.设置IP地址,确保底层链路的联通:

可以用ssh命令在终端远程操控另一台计算机。首先ifconfig查看计算机的ip地址,然后用sudo vim etc/hosts,将另一台计算机的ip地址放入hosts文件中,例如:192.168.1.1 pc-name。可以用ping pc-name,查看是否配置成功。

2.在机端设置ROS_MASTER_URI,让从机找到ROS MASTER:

因为ROS系统只能有一个ROS MASTER,所以要在从机上设置环境变量,告诉从机谁是ROS MASTER。sudo vim ~/.bashrc进入环境变量配置文件,加入export ROS_MASTER_URI=http://pc-name:11311,使得所有终端都有效。(11311是ROS MASTER的端口号)

4.ROS中的关键组件

4.1 Launch文件

通过XML文件实现多节点的配置和启动(可自动启动ROS MASTER),这样就比rosrun方法好很多了,还可以不用roscore来运行ROS MASTER。

 

4.2TF坐标变换

 这些坐标是以树形结构存储的。若想要得到一个节点的坐标数据,就要缓冲整个树形结构的坐标数据。

 如何实现一个TF广播器:

  • 定义TF广播器(Transformer Broadcaster);
  • 创建坐标变换值;
  • 发布坐标变换(sendTransform)。

如何实现一个TF监听器:

  • 定义TF监听器(Transform Listener);
  • 查找坐标变换(waitForTransform、lookupTransform)。

如何编译代码:

  • 设置编译的代码和文件;
  • 设置链接库。

4.3Qt工具箱

用来看debug信息。

显示当前系统的节点关系。

 可以绘制一些简单直观的图。

用可视化的界面来配置参数。

4.4Rviz可视化平台

ROS当中使用最为频繁的工具。将数据可视化显示出来,方便开发者理解。

 

 

 rviz的插件机制,十分适合人机交互,可以利用Qt编程来达到以可视化的效果来实现机器人控制。

4.5Gazebo物理仿真环境

 

 

  •  创建仿真环境;
  • 配置机器人模型;
  • 开始仿真

总结

 http://wiki.org.org/ROS/Tutorials

http://wiki.ros.org/APIs

http://wiki.ros.org/roslaunch/XML

《机器人学导论(第三版)》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值