プロジェクト名 |
実験 3 視覚化およびデバッグ ツール |
スコア |
|||||
内容: 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インターフェース 特定のさまざまなタイプのデバッグ ツールが [プラグイン] タブにあります。 例: rqt_console 2 つの方法、1 つの rqt 対応ラベル コンソールのロギング下のプラグイン
図 3 コンソール コンソールを開く 別の方法: ターミナルにコマンド rosrun rqt_console rqt_console を入力します。 制御タートルシム ロボットが衝突すると、対応するウィンドウにプロンプトがポップアップ表示されます。
図 4 時間情報付きのアラーム メッセージの表示 フィギュアロボットが左側に衝突し、対応するコンソールに警告メッセージがポップアップ表示されます ダブルクリックして最新の警告メッセージ #145 を開きます
図 5 個別の警告メッセージの詳細 時差、ターミナルとグラフィカル デバッグの時刻形式が一致しません。 [ 警告 ] [ 1678850209.594996724 ]: ああ、だめです!壁にぶつかった!([x=-0.003200, y=9.855555]からクランプ) 上のメッセージ内の時間は、1970 年 1 月 1 日からの累積秒数とナノ秒数です。 サービスのグラフィカルなデバッグ:
図 6 サービス コール Clear を使用して rqt のトラックをクリアする Set_pen はトラックの色を緑色に設定します。効果は次のとおりです。
図7 2種類の軌跡線の描画 教科書の要件に従って自習および実験する方法: ソースコードと教材をダウンロードする
解压缩已下载目录中如下:
选取第三章:
图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。