Lanqiao cloud class ROS robot old version experiment report-03 visualization and debugging tools

project name

Experiment 3 Visualization and Debugging Tools 

score

Content: Debugging ROS[Kinetic/Melodic/Noetic] nodes, log messages, detecting system status, setting dynamic parameters, roswtf, visual node diagnosis, drawing scalar data graphs, image visualization, 3D visualization, saving and playback data, plug-ins

Experimental records (70 points)

First download the source code:

git clone https://gitcode.net/ZhangRelay/cocubesim.git

Then, if it is a compressed package, be sure to decompress it.

The decompression command reference is as follows:

tar -xf cocubesim/cocubesim.tar

Note that if the path is different, just modify it to your own corresponding path.

Download point case code:

 

Figure 1 cocubesim compressed package

Open the graphical debugging interface rqt, and enter rqt in the terminal:

 

Figure 2 rqt interface

Specific various types of debugging tools are under the Plugins tab.

For example: rqt_console

Two ways, one rqt corresponding label Plugins under logging under console

 

Figure 3 Open the console console

Another way: enter the command rosrun rqt_console rqt_console in the terminal

If the control turtlesim robot collides, a prompt will pop up in the corresponding window!

 

Figure 4 Alarm message viewing with time information

Figure robot collides on the left side and pops up an alert message on the corresponding console

Double click to open the latest alert message #145

 

Figure 5 Individual warning message details

Time difference, the time format of the terminal and graphical debugging is inconsistent.

[ WARN] [1678850209.594996724]: Oh no! I hit the wall! (Clamping from [x=-0.003200, y=9.855555])

The time in the message above is the cumulative count of seconds and nanoseconds since January 1, 1970.

Graphical debugging of services:

 

Figure 6 Use the service call Clear to clear the track in rqt

Set_pen sets the track color to green, the effect is as follows

 

 

Figure 7 Drawing of two types of trajectory lines

How to self-study and experiment according to the textbook requirements:

Download source code and teaching materials

git clone https://gitcode.net/ZhangRelay/ros_book.git

解压缩已下载目录中如下:

unzip effective_robotics_programming_with_ros-master.zip

选取第三章:

 

图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

msg_temp.data = sin(i/100.0);

 

由于数据类型不匹配,导致输出全部为零。

Int-Float

 

 

2 3D可视化中红色方块,可否变为黄色圆球体?

这时候需要修改代码example9.cpp:

//形状

  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.;

  msg_marker.color.g = 1.;

  msg_marker.color.b = 0.;

  msg_marker.color.a = 1.;

 

如果需要改变代码。查阅资料如下:

  1. rviz/DisplayTypes/Marker - ROS Wiki
  2. visualization_msgs/Marker Documentation

AI:

蓝桥云课ROS机器人实验报告-03可视化和调试工具的大纲可能包括以下内容:

  1. ROS可视化工具介绍:介绍ROS提供的主要可视化工具,如rqt_plot、rqt_console、rqt_bag等。
  2. 可视化机器人模型:使用ROS的可视化工具将机器人模型进行可视化,可以直观地观察机器人的姿态、关节状态等。
  3. 可视化机器人传感器:将机器人的传感器数据(如激光雷达、摄像头、IMU等)进行可视化,可以直观地观察传感器数据的变化。
  4. 可视化机器人行为:将机器人的行为进行可视化,可以直观地观察机器人的运动、决策过程等。
  5. 调试工具介绍:介绍ROS提供的调试工具,如rosrun、roslaunch、rqt_console等。
  6. 调试机器人程序:通过调试工具对机器人程序进行调试,可以定位程序中的错误和问题。
  7. 日志记录和排错:介绍如何使用ROS的日志记录功能,以及如何通过日志记录来排错。

以上是蓝桥云课ROS机器人实验报告-03可视化和调试工具的大纲的一个大致框架,具体内容可能会根据实验的目的和实际情况进行调整。

蓝桥云课ROS机器人实验报告-03可视化和调试工具进阶实验内容可能包括以下内容:

  1. 自定义可视化工具:根据实际需求,自行开发ROS可视化工具,例如基于Qt的GUI程序,可以实现机器人模型的可视化、传感器数据的可视化、行为的可视化等。
  2. 可视化机器人路径规划:将机器人的路径规划进行可视化,可以直观地观察机器人的运动轨迹和规划算法的效果。
  3. 可视化机器人建图:将机器人的建图过程进行可视化,可以直观地观察机器人的地图构建情况和环境感知信息。
  4. 可视化机器人SLAM:将机器人的SLAM过程进行可视化,可以直观地观察机器人的位姿估计和地图构建过程。
  5. 可视化机器人运动学:将机器人的运动学模型进行可视化,可以直观地观察机器人的关节状态和运动学方程的求解结果。
  6. 调试工具的高级应用:掌握ROS调试工具的高级应用,如使用rosbag进行数据采集和回放、使用rqt_plot进行多数据可视化、使用rqt_console进行系统状态监控等。
  7. 异常处理和错误调试:学习如何处理ROS系统的异常和错误,通过日志记录和排错技巧,快速定位和解决故障。

以上是蓝桥云课ROS机器人实验报告-03可视化和调试工具进阶实验内容的一个大致框架,具体内容可能会根据实验的目的和实际情况进行调整。

蓝桥云课ROS机器人实验报告-03可视化和调试工具核心要点总结如下:

  1. ROS可视化工具:介绍ROS提供的主要可视化工具,如rqt_plot、rqt_console、rqt_bag等。
  2. 可视化机器人模型:使用ROS的可视化工具将机器人模型进行可视化,可以直观地观察机器人的姿态、关节状态等。
  3. 可视化机器人传感器:将机器人的传感器数据(如激光雷达、摄像头、IMU等)进行可视化,可以直观地观察传感器数据的变化。
  4. 可视化机器人行为:将机器人的行为进行可视化,可以直观地观察机器人的运动、决策过程等。
  5. 调试工具:介绍ROS提供的调试工具,如rosrun、roslaunch、rqt_console等。
  6. 调试机器人程序:通过调试工具对机器人程序进行调试,可以定位程序中的错误和问题。
  7. 日志记录和排错:介绍如何使用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。


 

 

Guess you like

Origin blog.csdn.net/ZhangRelay/article/details/132045273