栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【ROS开发 | 学习笔记】三、常用组件与课程展望

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【ROS开发 | 学习笔记】三、常用组件与课程展望

目录

1 TF坐标系统

1.1 ROS中的坐标系管理系统

1.2 示例:小海龟跟随试验

1.3 TF坐标系广播与监听的编程实现

2 Launch启动文件的使用方法

2.1 Launch文件

2.2 Launch文件语法

3 常用可视化工具的使用

3.1 Qt工具箱

3.2 Rviz

3.3 Gazebo

4 课程展望 


1 TF坐标系统

1.1 ROS中的坐标系管理系统

机器人中简单的坐标变换:

这时如果激光雷达检测到位置数据是基于base_laser为原点坐标,则利用TF变换可以得到基于base_link的坐标,在本例中很显然是一个坐标平移关系。TF坐标系统提供给ROS一个坐标查询和管理平台,是基于TF树进行管理的。

1.2 示例:小海龟跟随试验

运行以下代码进行小海龟跟随试验:

$ sudo apt-get install ros-melodic-turtle-tf
$ roslaunch turtle_tf turtle_tf_demo.launch
$ rosrun turtlesim turtle_teleop_key
$ rosrun tf view_frames

其中sudo语句为安装TF功能包,roslaunch语句用来启动launch脚本文件中的节点。最后一个语句用来查询系统中TF文件的关系,其运行结果如下:

在该示例中,两个海龟之间的相对坐标可以通过下式实现

其中world为全局坐标。

1.3 TF坐标系广播与监听的编程实现

1. 创建功能包

2. 创建TF广播器

  • 定义TF广播器(TransformBroadcaster)
  • 创建坐标变换值
  • 发布坐标变换(sendTransform)

3. 创建TF监听器

  • 定义TF监听器(TransformListener) 
  • 查找坐标变换(waitForTransform、lookupTransform)

4. 配置TF广播器与监听器的代码编译规则

5. 编译并运行

2 Launch启动文件的使用方法

2.1 Launch文件

Launch文件是通过XML文件多节点的配置和启动(可自动启动ROS Master),即ROS中一种同时启动多个节点的途径,为多节点的操作提供了很大便利。

2.2 Launch文件语法

1. :launch文件中的根元素采用标签定义。

2.

启动节点:

  • pkg:节点所在功能包名称
  • type:节点的可执行文件名称
  • name:节点运行时的名称

3. /

设置参数:

  • name:参数名
  • value:参数值

4.

launch文件内部的局部变量: 

  • name:变量名
  • default:缺省值

5.

重映射ROS计算图资源的命名: 

  • from:原命名
  • to:映射之后的命名

6.

嵌套,类似于C语言中头文件包含: 

  • file:包含其他launch文件路径

3 常用可视化工具的使用

3.1 Qt工具箱

Qt工具箱是ROS针对机器人开发提供的一系列可视化工具,其中主要包括:

  • 日志输出工具:rqt_console
  • 计算图可视化工具:rqt_graph
  • 数据绘图工具:rqt_plot
  • 图像渲染工具:rqt_image_view

3.2 Rviz

Rviz是一款三维可视化工具,可以很好兼容基于ROS软件框架的机器人平台。在Rviz中,可以使用可扩展标记语言XML对机器人、周围物体等任何实物进行尺寸、质量和位置等属性的描述,并在界面中呈现出来。同时,Rviz还可以通过图形化的方式,实时显示机器人传感器的信息、机器人的运动状态、周围环境的变化等信息,用户可以在Rviz的控制界面下,通过按钮、滑动条和数值等方式控制机器人的行为。

  • 0:3D视图区
  • 1:工具栏
  • 2:显示项列表
  • 3:视角设置区
  • 4:时间显示区 

3.3 Gazebo

Gazebo是一款强大的三维物理仿真平台,具备强大的物理引擎、高质量的图形渲染、方便的编程与图形接口和开源免费的特点。其典型应用场景包括:测试机器人算法、机器人设计和现实情景下的回溯测试。

  • 0:3D视图区
  • 1:工具栏
  • 2:模型列表
  • 3:模型属性项
  • 4:时间显示区

4 课程展望 
  • 机器人控制与仿真
  • 即时定位与地图建模
  • 路径规划与导航

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001163.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号