智能终端应用开发基础 课件 第9章 ROS常用组件_第1页
智能终端应用开发基础 课件 第9章 ROS常用组件_第2页
智能终端应用开发基础 课件 第9章 ROS常用组件_第3页
智能终端应用开发基础 课件 第9章 ROS常用组件_第4页
智能终端应用开发基础 课件 第9章 ROS常用组件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

第9章

ROS常用组件Contents01.rosbag数据记录与回放02.launch文件03.TF的作用与使用04.rqt工具箱05.RViz三维可视化工具01rosbag数据记录与回放启动roscore进程,作为ROS系统的主节点,随后在终端中运行turtlesim节点,以启动turtlesim可视化工具。初始化ROS节点在乌龟移动时,确保选中启动turtle_teleop_key的终端窗口,以便通过键盘方向键控制乌龟在屏幕上的移动。记录话题数据执行turtle_teleop_key命令,启动一个允许用户通过键盘方向键控制turtlesim中乌龟移动的节点。启动键盘控制录制数据使用rostopic工具检查当前系统中发布的所有话题,包括/turtle1/color_sensor、/turtle1/cmd_vel等。列出话题创建目录以存储数据,运行rosbagrecord-a命令录制所有发布的话题数据至bag文件,持续记录直至系统状态变化。录制数据在turtle_teleop节点所在的终端窗口中控制乌龟移动约10秒后,按Ctrl+C停止rosbagrecord命令。停止录制录制所有发布的话题123运行rosbaginfo查看bag文件内容,确认包含的话题、消息数量和类型,验证录制的数据完整性。查看bag文件使用rosbagplay命令回放bag文件,重现系统运行过程,通过控制乌龟移动验证数据回放的一致性。播放bag文件调整rosbagplay的等待时间和发布速率,观察乌龟移动轨迹的变化,实现自定义的播放控制。自定义播放检查并回放bag文件03检查内容查看subset.bag文件内容,确认仅包含指定话题的数据,验证录制数据子集的准确性。01启动节点重新启动turtlesim节点和键盘控制节点,确保系统处于可录制状态,为录制特定话题做准备。02录制子集使用rosbagrecord命令,指定输出文件为subset.bag,并仅订阅/turtle1/cmd_vel和/turtle1/pose话题。录制数据子集行为微妙变化:turtlesim的移动路径对系统定时敏感,rosbag无法完全复制录制时的系统运行行为,包括消息处理过程中的微小变化。路径差异:乌龟路径在rosbag回放时可能与原始键盘控制路径有细微差异,受系统定时精度影响,整体形状相似但非完全一致。rosbag录制和回放的局限性02launch文件launch文件介绍Launch文件一键启动:Launch文件集合节点与参数,简化一键启动。ROS系统复杂,需并行运行多节点,手工启动繁琐。Roslaunch工具助力,一键启动,高效管理。Roslaunch简介:Roslaunch是ROS启动工具,支持SSH启动多节点,设置参数,重启进程,自动启动roscore。读取.roslaunch和XML文件,指定参数和节点及运行机器。传递参数参数设置语法:在启动文件中,若需为节点设置参数,采用与ROS重映射相同的语法。例如,为my_file.launch文件中的节点设置arg参数,其值为value。启动时设置参数:若要启动的文件指定了需要设置的参数,则可以使用与ROS重映射参数相同的语法进行设置,例如$roslaunchmy_file.launcharg:=value。Launch文件还包含machine、env、test等高级标签,分别用于定义机器信息、设置环境变量、以及指示测试节点运行。Group标签用于将一组配置应用于其内部节点,支持命名空间ns。Arg标签则用于定义启动参数,提升启动文件的可重用性和可配置性。Node标签内可定义name、pkg、type等属性,同时支持env、remap等子标签,实现环境变量设置、参数重映射等功能。Launch文件核心为node标签,定义ROS节点。同时包含rosparam、param、include等标签,分别用于参数设置、参数传递、文件导入。Group与Arg标签Node节点配置Roslaunch高级标签Launch文件基础标签解析launch文件03TF的作用与使用避免障碍物碰撞通过实时跟踪和变换坐标,TF能够确保机器人在复杂环境中精确导航,避免与障碍物发生碰撞,提升机器人操作的安全性和可靠性。参考系跟踪TF,即时间参考系,功能包通过树型数据结构,以时间为轴,跟踪多个参考系变化,维护坐标变换关系,确保数据准确性。坐标变换在机器人系统中,TF帮助用户查询不同参考系间的坐标变换,如机器人、激光雷达、相机等相对位置,为导航、感知提供基础数据。分布式操作TF的分布式操作特性确保所有节点组件均可访问参考系变换关系,无需中心服务器存储,提高系统灵活性和可扩展性。TF的作用坐标系变换01在小车系统中,base_laser和base_link是两个关键坐标系。激光传感器感知障碍物时,需将激光数据从base_laser变换到base_link,确保数据准确性。精度提升02在小车系统中,通过坐标变换精确调整激光雷达数据,减少误差,提升系统精度,满足高精度导航需求,确保机器人在复杂环境中稳定运行。ROS与TF框架03ROS提供了TF框架,极大地简化了坐标系转换的复杂性,使得开发者无需手动处理繁琐的坐标关系,提高了开发效率和系统稳定性。TF示例广播TF变换:向系统中广播参考系之间的坐标变换关系,直接将变换关系插入TF树中,无需同步。监听TF变换:接收并缓存系统中发布的所有参考系变换,并从中查询所需要的参考系变换。TF使用方法04rqt工具箱日志输出工具工具启动:使用rqt_console命令可启动该工具,界面可视化展示日志内容,支持按级别过滤,方便调试和监控ROS系统运行状态。消息概述:rqt_console工具用来图像化显示和过滤ROS系统运行状态中的所有日志消息,包括info、warn、error等级别的日志。计算图展示:rqt_graph工具可以图形化显示当前ROS系统中的计算图,节点和边清晰展示,便于理解和分析系统运行状态。工具启动:在系统运行时,使用rqt_graph命令即可启动该工具,通过图形化界面观察计算图,提升系统分析和调试效率。计算图可视化工具数值曲线绘制:rqt_plot是一个二维数值曲线绘制工具,可以将需要显示的数据在xy坐标系中使用曲线描绘。工具启动:使用rqt_plot命令启动工具后,在界面上方的Topic输入框中输入需要显示的话题消息,rqt_plot工具将数据以曲线形式展示。数据绘图工具动态配置:rqt_reconfigure工具可以在不重启系统的情况下,动态配置ROS系统中的参数,但是该功能的使用需要在代码中设置参数的相关属性。工具启动:使用rosrunrqt_reconfigurerqt_reconfigure命令启动工具后,在界面中输入框、滑动条或下拉框进行设置即可实现参数的动态配置。参数动态配置工具05RViz三维可视化工具RViz安装与启动01RViz已集成于ROS桌面完整版,安装ROS即享。安装命令是sudoapt-getinstallros-melodic-RViz,启动是roscore后rosrunRVizRViz。RViz主界面布局02启动成功的RViz主界面包含0:3D视图区,用于可视化显示数据;1:工具栏,提供视角控制、目标设置、发布地点等工具;3:显示项列表。界面区域功能详解03显示当前选择的显示插件,可以配置每个插件的属性;3:视角设置区,可以选择多种观测视角;4:时间显示区,显示当前的系统时间和ROS时间。安装并运行RViz添加完成后,RViz左侧列出已添加插件;点击插件列表前加号展开属性列表,按需求设置。重要属性为“Topic”,声明订阅来源,成功订阅后中间区显示数据。如果显示有问题,请检查属性区域的“Status”状态。Status有四种状态,如果显示的状态不是OK,那么请查看错误信息,并详细检查数据发布是否正常。点击RViz界面左侧下方的“Add”按键,罗列默认支持的所有数据类型显示插件。在列表中选择需要的数据类型插件,然后在“DisplayName”里填入名称。数据以适当的消息类型被发布之后,可在RViz中进行数据可视化。通过选择相应的RViz插件来订阅这些消息,即可直观地展示数据。

温馨提示

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

评论

0/150

提交评论