古月ROS课程(三)

本文详细介绍ROS(机器人操作系统)的基础知识,包括分布式通信原理、多机通讯配置、关键组件功能及使用,如Launch文件、TF坐标变换等。同时,介绍了多种ROS工具,如rqt_graph、Rviz和Gazebo,帮助读者快速掌握ROS开发技巧。

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

分布式通信

ROS是一种分布式框架,节点间通过松耦合方式组合。

多机通讯

1.设置IP地址,确保底层链路的联通。
将IP地址分别放入对方电脑的Host中,使用

sudo vi /etcs/hosts

将对方的ip地址放到对方的Hosts地址中。
2.在从机端设置ROS_MASTER_URI,让从机找到ROS Master。具体命令为:
在这里插入图片描述
3.配置好进行尝试
在这里插入图片描述

ROS的关键组件

Launch文件

launch文件来实现多个节点的启动,给出例子:
在这里插入图片描述
1)Launch可以自动启动ROS Master,不需要手动启动。
2)launch是根元素标签,所有的元素都要放在这个标签内。
3) node的格式为:
在这里插入图片描述
output用来选择是否将日志文件打印到屏幕上。
respwan是说当这个节点失效之后是否会重新启动。
required表明是不是一个必须的节点。
ns是namspace是节点的命名空间的信息。
args是节点的参数信息。

参数的两种形式:一种是全局变量,一种是只能用在launch中的局部变量。
在这里插入图片描述
重映射和嵌套指令:
在这里插入图片描述
注意: 重映射会导致资源名字改变很多依赖可能会改变。

TF坐标变换(参考《机器人学导论》)

TF功能包的主要功能

1.有时间跨度的坐标变换,如: 五秒钟之前,头部坐标相对全局坐标的关系。
2.机器人夹取的物体相对于机器人忠心坐标系的位置。
3.机器人忠心坐标系相对于全局坐标系的位置。

实现TF坐标变换

1.将已经知道的坐标变换用广播广播出去。
2.监听TF变换的广播,获取两个坐标变换。

实例(两只海龟位置变换矩阵):

1.TF广播器
在这里插入图片描述
2.TF监听器
在这里插入图片描述
3.编译
在这里插入图片描述
4.用launch启动小海龟
在这里插入图片描述

QT工具箱

日志输出工具 rqt_console

能够监听集中各种信息,方便调试。

计算图可视化工具 rqt——graph

在上一个博客计算图部分有使用。

数据绘图工具 rqt_plot

在上一个博客计算图部分有使用。

参数动态配置工具 rqt_reconfigure

用来改变一个值之后,所有依赖这个值的都会改变。

Rviz可视化平台

使用最频繁的工具。
可以用来展示机器人模型、坐标、运动规划、导航等等,是一个可检测信息的图形显示。

界面展示

在这里插入图片描述

插件

可以用来开发插件(详见古月居博客)

Gazebo物理仿真环境

是一款功能强大的三位物理仿真平台(开源)。

界面

在这里插入图片描述
Gazebo启动会要求很多国外的资源,可以先下载到本地,详情.

使用过程

1.创建仿真环境
2.配置机器人模型
3.开始仿真

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值