ROS 2机器人操作系统与Gazebo机器人仿真(微课视频版)课件 第2章-ROS 2机器人操作系统 4-6节_第1页
ROS 2机器人操作系统与Gazebo机器人仿真(微课视频版)课件 第2章-ROS 2机器人操作系统 4-6节_第2页
ROS 2机器人操作系统与Gazebo机器人仿真(微课视频版)课件 第2章-ROS 2机器人操作系统 4-6节_第3页
ROS 2机器人操作系统与Gazebo机器人仿真(微课视频版)课件 第2章-ROS 2机器人操作系统 4-6节_第4页
ROS 2机器人操作系统与Gazebo机器人仿真(微课视频版)课件 第2章-ROS 2机器人操作系统 4-6节_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ROS2机器人操作系统与Gazebo机器人仿真

第2章ROS2机器人操作系统提纲2.1ROS2基本原理2.1.1ROS2和ROS1的比较2.1.2ROS2的架构 2.1.3ROS2的核心概念2.2ROS2的安装 2.2.1VirtualBox安装 2.2.2Ubuntu24.04安装与配置2.2.3ROS2Jazzy安装2.2.4ROS2第三方功能包2.3ROS2命令行工具 2.3.1节点管理 2.3.2话题操作2.3.3服务操作2.3.4参数操作2.3.5参数操作 2.3.6记录与重播操作2.3.7包管理2.4rqt工具2.4.1rqt简介2.4.2rqt的使用2.4.3案例:绘制奥运五环旗2.5Rviz简介2.6本章小结2.4rqt工具2.4rqt工具2.4.1rqt简介rqt是ROS2的图形用户界面(GUI)工具,能够简化机器人操作系统的管理和操作,是ROS2中非常便利的调式工具。在rqt中完成的所有操作几乎都可以使用ROS2命令行工具完成,rqt提供了一种更用户友好的方式来操作和管理ROS2。简单来说,rqt就是带有图形用户界面的ROS2命令行工具。rqt使用Qt作为GUI库,通过插件技术,以插件为模块,每个插件提供ROS2中的不同功能,如节点、话题、服务、参数和日志等。相较于命令行工具,rqt主要有以下几个优点:2.4rqt工具2.4.1rqt简介(1)通常比命令行更易于学习和使用,减少了学习曲线,使得用户可以更快地掌握ROS2的操作。(2)使用rqt时,用户可以通过图形提示和输入验证来减少输入错误,有助于避免在命令行中常见的拼写错误或语法错误。(3)rqt允许用户实时查看和修改系统的状态,特别是提供了一个直观的方式来查看ROS2中节点间的连接状态。(4)提供了一些可视化调试工具,能够对话题上的数据,绘制为动态的图形和图像,解决了在命令行工具上显示效果单一的缺点。2.4rqt工具2.4.1rqt简介在终端里启动rqt有两种方法。一种方法是将rqt作为独立的程序,在终端里执行命令:rqt另一种方法是将rqt作为ROS2的一个功能包中的可执行程序,在终端里执行命令:ros2runrqt_guirqt_gui按照上述方法启动rqt后显示如图所示的窗体,该窗体就是rqt的主界面。rqt的主界面中给出了rqt的简单说明,其主要功能是由菜单栏下的Plugins(插件)子菜单提供。2.4rqt工具2.4.1rqt简介2.4rqt工具2.4.1rqt简介在Plugins子菜单中按照功能划分为不同的插件,如图所示。2.4rqt工具2.4.1rqt简介子菜单Plugins中的主要的插件有:①Action:用于查询和显示ROS2系统中的动作及其消息类型。②Configuration:用于查询、设置活动节点内的参数。③Introspection:用于查看ROS2系统中的节点连接图(NodeGraph),能够了解当前运行的节点,以及节点间连接关系。④Logging:提供了rosbag记录工具,以及日志可视化工具。⑤MiscellaneousTools:提供了终端和Python解释器。⑥Service:提供了服务的客户端和查询消息类型的功能。⑦Topic:提供了话题的订阅、发布和查询消息类型的功能。⑧Visualization:提供了数据的可视化功能,能够将话题上的数据绘制为曲线,能够将图像话题显示为图像。2.4rqt工具2.4.2rqt的使用下面仍然以小海龟仿真环境为例,介绍rqt的基本功能的使用。首先,启动小海龟仿真环境,执行命令:ros2runturtlesimturtlesim_node(1)话题:rqt插件中的Topic选项提供了话题的发布,话题的监听,查看话题消息的详细结构三个功能。

选择话题发布插件MessagePublisher后,在Topic下拉列表列出了可供选择的所有话题,Type下拉列表列出了话题的消息类型,Freq用于设置话题发布的频率。例如,选择小海龟的速度话题/turtle1/cmd_vel后,使用“+”号按钮添加到下方的发布列表,展开消息后设置线速度和角速度后,勾选话题开始发布,仿真环境中的小海龟就开始转动,如图所示。2.4rqt工具2.4.2rqt的使用2.4rqt工具2.4.2rqt的使用选择话题订阅插件TopicMonitor后,在话题列表中显示了所有活动话题,勾选相应的话题即可订阅在该话题上的信息,显示在话题上的消息。例如,订阅小海龟的位置话题后,小海龟的位置信息就会实时显示,效果如图所示。2.4rqt工具2.4.2rqt的使用选择话题消息类型插件MessageTypeBrowser后,即可通过Message下拉列表选择消息所在功能包和消息类型后,使用“+”按钮添加后添加选定消息类型到下方的列表中展示该消息类型的详细结构,如图所示。2.4rqt工具2.4.2rqt的使用(2)服务:rqt插件中的Service选项提供了服务客户端和服务消息类型查询的功能。选择服务客户端插件ServiceCaller,在Service下拉列表里显示了当前系统中所有的服务,选择使用的服务后,按照Request窗体内给出的消息格式构造请求后,点击Call按钮即可发起请求,请求的结果在Response窗体内显示。例如,选择小海龟仿真环境的生成海龟的/spawn服务,在Request窗体内设置生成小海龟的位置、朝向和名称后发起请求,小海龟仿真环境收到请求后会在指定位置生成一个小海龟并响应结果,在Response窗体内显示了请求的结果,如图所示。2.4rqt工具2.4.2rqt的使用

2.4rqt工具2.4.2rqt的使用选择服务消息类型插件ServiceTypeBroswer,在Service下拉列表下选择提供服务的功能包和服务消息类型后,在窗体内部分显示服务消息的详细结构。例如,选择turtlesim包下的/Spawn服务后,会显示该服务的请求和响应的详细消息结构,如图所示。2.4rqt工具2.4.2rqt的使用(3)参数:rqt插件中的Configuration选项提供了参数查询与设置功能。ParameterReconfigure窗体左侧显示了可供选择活动的节点,右侧显示了选择节点上的参数及其值,并且支持对参数的修改。例如,在左侧选择小海龟仿真节点turtlesim后,在右侧修改其background_b,background_g和background_r后小海龟仿真环境的背景色发生改变,如图所示。2.4rqt工具2.4.2rqt的使用(4)节点图:rqt插件中的Introspection选项提供了节点图(NodeGraph)查询功能,能够显示系统中的活动节点以及活动节点间的连接关系。例如,在小海龟仿真环境中生成两个小海龟,并通过发布者使两个小海龟运动,在节点图上会显示节点的关系,两个发布者通过话题向仿真环境发布速度消息,如图所示。2.4rqt工具2.4.2rqt的使用(5)可视化:rqt的Visualization选项提供了实时折线绘制和图像显示两种简单的数据可视化功能。与话题和服务以数字的方式显示数据不同,将数据以图和表的形式进行可视化显示能够极大的增加数据的直观性。Visualization提供了对话题上数据的可视化功能,其中Plot子功能里可以将话题上的数据绘制为折线图,如图所示。在图中,订阅了小海龟位置话题里的x,y和theta三个值,将小海龟位置中的这三个值的实时变化绘制为折线图。2.4rqt工具2.4.2rqt的使用除了实时折线图绘制外,rqt的可视化功能还包括图像显示功能,在后续会介绍其使用方法。rqt在可视化功能上较弱,不能能够进行复杂的数据可视化。而数据的可视化,特别是针对不同数据的可视化对于机器人数据展示与分析具有重要意义,ROS2中的RViz2就是专门的数据可视化工具。2.4rqt工具2.4.3案例:绘制奥运五环旗奥运五环旗如图所示,由5种颜色不同的圆环构成。利用小海龟仿真环境绘制奥运五环旗时,将小海龟的运动轨迹作为圆环,5种颜色不同的圆环分别用5个小海龟进行绘制即可。2.4rqt工具2.4.3案例:绘制奥运五环旗使用rqt绘制奥运五坏旗的过程是:(1)启动小海龟仿真环境,执行命令:ros2runturtlesimturtlesim_node(2)启动rqt,执行命令:rqt(3)使用Configuration插件修改/turtlesim节点上的background_b,background_g和background_r三个参数的值为255,让小海龟仿真环境背景色成为白色,如图所示。注意:除上以上作为独立程序启动的方法外,rqt也支持作为ROS2功能包中的节点进行启动,启动命令为:ros2runrqt_guirqt_gui。2.4rqt工具2.4.3案例:绘制奥运五环旗

2.4rqt工具2.4.3案例:绘制奥运五环旗(4)使用ServiceCaller插件,调用/kill服务,设置请求的参数name的值为turtle1,删除仿真场景中的小海龟,如图所示。2.4rqt工具2.4.3案例:绘制奥运五环旗(5)使用ServiceCaller插件,调用/spawn服务,在坐标(4,4),(7,4),(2.5,5.5),(5.5,5.5),(8.5,5.5)处生成5个名为t1,t2,t3,t4和t5的小海龟,如图所示。2.4rqt工具2.4.3案例:绘制奥运五环旗(6)使用MessagePublisher插件,向t1,t2,t3,t4和t5共5个海龟发布速度话题,将线速度均设置为1,角速度均设置为0.75。随着海龟的运动,5个海龟的轨迹就会形成奥运五环旗的形状,如图所示。2.4rqt工具2.4.3案例:绘制奥运五环旗(7)使用ServiceCaller插件,根据五环旗中各环的颜色,调用各海龟的set_pen服务设置海龟t1的轨迹颜色为(255,255,0),t2的轨迹颜色为(0,255,0),t3的轨迹颜色为(0,0,255),t4的轨迹颜色(0,0,0),t5的轨迹颜色为(255,0,0),并将所有的轨迹宽度设置为5。设置完成后,经过一段时间的运行,就会得到奥运五环旗的图像,如图所示。2.4rqt工具2.4.3案例:绘制奥运五环旗上述案例中对rqt的功能进行了综合应用,要实现上述相同效果既可以使用命令行完成,也可以使用编程的方法完成,二者都比rqt复杂。总而言之,rqt是ROS2中的一个重要工具,提供了可视化图形用户界面,可以避免记忆大量的ROS2命令,在ROS2程序调试中具有重要的作用,合理的使用能够提升程序调试效率。2.5RViz简介2.5RViz简介

下图显示了RViz可视化工具的主界面,主要包括菜单栏,工具栏,中部左侧为数据列表,提供了对显示数据的管理功能,中部右侧为数据显示区域,下部为状态栏。2.5RViz简介

在上图的左侧数据列表的下方提供了数据可视化的管理功能,Add按钮提供了添加数据类型的功能。下图显示了点击Add按钮后弹出的数据可视化选择窗口,在窗口内提供了对数十种不同消息类型数据的可视化功能。2.5RViz简介RV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论