项目名称 | 实验三 可视化和调试工具 | 成绩 | |||||
内容:调试ROS[Kinetic/Melodic/Noetic]节点、日志消息、检测系统状态、设置动态参数、roswtf、可视化节点诊断、绘制标量数据图、图像可视化、3D可视化、保存与回放数据、插件 | |||||||
实验记录(70分) 先下载源码: git clone https://gitcode.net/ZhangRelay/cocubesim.git 然后,如果是压缩包,一定要解压缩。 解压缩命令参考如下: tar -xf cocubesim/cocubesim.tar 注意,如果路径不同,修改为自己相应的路径即可。 下载点案例代码:
图1 cocubesim压缩包 打开图形化调试界面rqt,在终端输入rqt:
图2 rqt界面 具体各种类型调试工具在Plugins标签下。 例如:rqt_console 两种方式,一种rqt对应标签Plugins下logging下console
图3 打开console控制台 另一种:在终端输入命令rosrun rqt_console rqt_console 如果控制turtlesim机器人发生碰撞,会在对应窗口弹出提示!
图4 带有时间信息的报警消息查看 图 机器人在左侧发生碰撞并在对应console弹出警报消息 双击打开最新一个警报消息#145
图5 单个警告消息详细信息 时间差异,终端和图形化调试出现的时间格式不一致。 [ WARN] [1678850209.594996724]: Oh no! I hit the wall! (Clamping from [x=-0.003200, y=9.855555]) 如上消息中的时间是1970年1月1日以来的秒和纳秒的累计计数。 服务的图形化调试:
图6 在rqt中使用服务调用Clear清除轨迹 Set_pen设置轨迹颜色为绿色,效果如下
图7 两类轨迹线绘制 如何按照课本要求自学并实验: 下载源码和教材
解压缩已下载目录中如下:
选取第三章:
图8 选取第三章案例 在code文件夹下,新建robot/src:
图9 将案例拷贝到对应文件夹 例如,练习: 用rqt_plot画出时间趋势曲线 可以使用ROS中现有的一些通用工具轻松地绘制标量数据图。当然,非标量数据图也可以绘制,但是要分别在不同的标量域里进行。之所以在此仅讨论标量数据,是因为对于大多数非标量数据,有专门的可视化工具能够更好地对其进行表示,我们会在后面进行部分介绍,例如图形、位姿、方向和角度等。 如下指令在不同窗口执行 第一步:roscore 第二步:rosrun chapter3_tutorials example4 第三步:rosrun rqt_plot rqt_plot /temp/data
图 /temp/data数据曲线-斜坡信号 注意:如果没有曲线出现,调整坐标轴参数,还要注意左上角是否添加了对应数据:
图 x+y轴详细的参数配置 如果需要添加其他数据,在如下窗口进行选取:
图 添加新的信号 选中莫一项点击加“+”号
图 添加加速度x,y,z后图表 如果删除某一条线点击减“—”号
图 删除某一个信号的具体操作 图如下所示:
图 删除特定信号后的图示 继续书中学习完成:
图 将线形由实线变为虚线
图 将三条曲线合并到一个窗口显示 配置相关的文件路径后,运行roscore和rviz,并且执行如下操作:
图 rviz界面 到对应文件夹下,运行: roslaunch chapter3_tutorials example9.launch
图 终端运行第三章第九个案例 修改三维可视化工具中,坐标:
图 修改fixed frame坐标 按书中内容进行修改,并没有出现方块! 审查书中和代码并没有发现明显问题,那么回到rviz中,添加对应的marker如下:
图 添加Marker 添加后,效果如下:
图 红色方块显示
图 调整其他参数查看效果 修改固定坐标为:frame_pc
图 添加点云 出现下图:
图 rviz中显示彩色点云-彩虹色-横向x
图 rviz中显示彩色点云-彩虹色-纵向y | |||||||
思考题(30分): 1 2D图标绘制,能否绘制正弦曲线? Example4.cpp
由于数据类型不匹配,导致输出全部为零。 Int-Float
2 3D可视化中红色方块,可否变为黄色圆球体? 这时候需要修改代码example9.cpp:
如果需要改变代码。查阅资料如下: |
AI:
蓝桥云课ROS机器人实验报告-03可视化和调试工具的大纲可能包括以下内容:
- ROS可视化工具介绍:介绍ROS提供的主要可视化工具,如rqt_plot、rqt_console、rqt_bag等。
- 可视化机器人模型:使用ROS的可视化工具将机器人模型进行可视化,可以直观地观察机器人的姿态、关节状态等。
- 可视化机器人传感器:将机器人的传感器数据(如激光雷达、摄像头、IMU等)进行可视化,可以直观地观察传感器数据的变化。
- 可视化机器人行为:将机器人的行为进行可视化,可以直观地观察机器人的运动、决策过程等。
- 调试工具介绍:介绍ROS提供的调试工具,如rosrun、roslaunch、rqt_console等。
- 调试机器人程序:通过调试工具对机器人程序进行调试,可以定位程序中的错误和问题。
- 日志记录和排错:介绍如何使用ROS的日志记录功能,以及如何通过日志记录来排错。
以上是蓝桥云课ROS机器人实验报告-03可视化和调试工具的大纲的一个大致框架,具体内容可能会根据实验的目的和实际情况进行调整。
蓝桥云课ROS机器人实验报告-03可视化和调试工具进阶实验内容可能包括以下内容:
- 自定义可视化工具:根据实际需求,自行开发ROS可视化工具,例如基于Qt的GUI程序,可以实现机器人模型的可视化、传感器数据的可视化、行为的可视化等。
- 可视化机器人路径规划:将机器人的路径规划进行可视化,可以直观地观察机器人的运动轨迹和规划算法的效果。
- 可视化机器人建图:将机器人的建图过程进行可视化,可以直观地观察机器人的地图构建情况和环境感知信息。
- 可视化机器人SLAM:将机器人的SLAM过程进行可视化,可以直观地观察机器人的位姿估计和地图构建过程。
- 可视化机器人运动学:将机器人的运动学模型进行可视化,可以直观地观察机器人的关节状态和运动学方程的求解结果。
- 调试工具的高级应用:掌握ROS调试工具的高级应用,如使用rosbag进行数据采集和回放、使用rqt_plot进行多数据可视化、使用rqt_console进行系统状态监控等。
- 异常处理和错误调试:学习如何处理ROS系统的异常和错误,通过日志记录和排错技巧,快速定位和解决故障。
以上是蓝桥云课ROS机器人实验报告-03可视化和调试工具进阶实验内容的一个大致框架,具体内容可能会根据实验的目的和实际情况进行调整。
蓝桥云课ROS机器人实验报告-03可视化和调试工具核心要点总结如下:
- ROS可视化工具:介绍ROS提供的主要可视化工具,如rqt_plot、rqt_console、rqt_bag等。
- 可视化机器人模型:使用ROS的可视化工具将机器人模型进行可视化,可以直观地观察机器人的姿态、关节状态等。
- 可视化机器人传感器:将机器人的传感器数据(如激光雷达、摄像头、IMU等)进行可视化,可以直观地观察传感器数据的变化。
- 可视化机器人行为:将机器人的行为进行可视化,可以直观地观察机器人的运动、决策过程等。
- 调试工具:介绍ROS提供的调试工具,如rosrun、roslaunch、rqt_console等。
- 调试机器人程序:通过调试工具对机器人程序进行调试,可以定位程序中的错误和问题。
- 日志记录和排错:介绍如何使用ROS的日志记录功能,以及如何通过日志记录来排错。
以上是蓝桥云课ROS机器人实验报告-03可视化和调试工具的核心要点的总结,通过掌握这些内容,可以更好地理解和应用ROS的可视化和调试工具,提高机器人开发效率和调试能力。
//形状 msg_marker.type = visualization_msgs::Marker::CUBE; //颜色 msg_marker.color.r = 1.; msg_marker.color.g = 0.; msg_marker.color.b = 0.; msg_marker.color.a = 1.;
如上代码显示红色方块,参考此代码给出黄色球体的代码
以下是显示黄色球体的代码:
// 形状
msg_marker.type = visualization_msgs::Marker::SPHERE;
// 颜色
msg_marker.color.r = 1.0;
msg_marker.color.g = 1.0;
msg_marker.color.b = 0.0;
msg_marker.color.a = 1.0;
请注意,此代码中的msg_marker
是一个视觉化标记消息,它包含了要在ROS中显示的标记的信息。type
字段指定了要显示的形状类型,这里我们选择visualization_msgs::Marker::SPHERE
来表示球体。color
字段指定了标记的颜色,这里我们选择黄色,即红色和绿色都为1.0,蓝色为0.0,透明度为1.0。