ROS机器人程序设计(原书第2版)第3章 可视化和调试工具

本文涉及的产品
资源编排,不限时长
简介:

第3章

可视化和调试工具

ROS附带了大量功能强大的工具,帮助用户和开发人员可视化和调试代码,以便检测并解决软硬件问题。其中包括消息日志系统(类似log4cxx)、诊断消息、可视化以及检测工具。这些工具展示了哪些节点正在运行和它们是如何连接的。

 

本章我们还会展示如何用GDB调试器调试ROS节点,介绍用于日志记录的API,以及如何设置日志记录级别。接着,我们将解释如何用ROS工具集检测哪些进程正在运行以及它们之间通信的内容。例如,在下图所示的系统可视化图中可以看到正在运行的节点以及用连线表示的数据流。这个工具是rqt_graph,这里显示的是REEM机器人在Gazebo仿真中运行的节点和主题。

从图中我们可以看到多个关于机械臂、肢体和头部的控制器、MoveIt!的move_group节点、抓取和放置操作服务以及play_motion节点的预存储动作。其他节点发布joint_states、大量机器人控制器以及移动底盘的手柄控制等信息。

同样,本章会介绍标量数据的时序绘图工具,视频流数据的可视化图,以及用于不同类型数据的3D可视化工具rviz(或rqt_rviz)等,如下图所示:

 

可以使用下面命令运行上图的REEM机器人仿真:

 

注意,在开始安装此仿真前,请认真阅读下面网页的使用说明:http://wiki.ros.org/Robots/REEM。

在本节中,将介绍以下内容:

如何在ROS中调试和优化代码。

介绍在代码中添加消息日志并设置不同的级别、命名、特定条件和流选项。这里我们将解释rqt_logger_level和rqt_console接口,它们可以分别设置节点错误级别和消息可视化。

介绍如何通过列表来检测ROS系统状态,包括运行的节点、主题、服务和它们之间传递信息的行为以及ROS节点管理器中声明的参数等。我们将介绍以有向图形式显示主题和节点的rqt_graph,和可以用来修改动态参数的rqt_reconfigure。

讲解如何使用runtime_monitor和robot_monitor接口可视化诊断信息。

讲解如何使用rqt_plot绘制特定消息的标量数据。对于非标量数据,我们将讲解ROS中的其他rqt工具,例如用rqt_image_view显示图像以及用rqt_rviz以3D形式显示多维数据。还包括如何可视化标记和交互式标记。

介绍坐标系以及如何将它们集成到ROS消息和可视化工具之中。以及如何使用rqt_tf_tree来可视化转换坐标系树Transform Frame(tf)。

讲解如何保存主题发送的消息,以及如何重播它们用于仿真或测试目的,并介绍rqt_bag接口。

最后,将介绍rqt_gui接口,以及如何在一个GUI窗口中排列显示它们。

大部分rqt工具可以在终端输入名称运行,例如rqt_console,但有时不行,必须使用rosrun rqt_reconfigure rqt_reconfigure,注意名字虽然是重复的,但其实前一个是功能包的名称,后一个是节点名称。

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
29天前
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
前言 最近开始接触到基于DDS的这个系统,是在稚晖君的机器人项目中了解和认识到。于是便开始自己买书学习起来,感觉挺有意思的,但是只是单纯的看书籍,总会显得枯燥无味,于是自己又开始在网上找了一些视频教程结合书籍一起来看,便让我对ROS系统有了更深的认识和理解。 ROS的发展历程 ROS诞生于2007年的斯坦福大学,这是早期PR2机器人的原型,这个项目很快被一家商业公司Willow Garage看中,类似现在的风险投资一样,他们投了一大笔钱给这群年轻人,PR2机器人在资本的助推下成功诞生。 2010年,随着PR2机器人的发布,其中的软件正式确定了名称,就叫做机器人操作系统,Robot Op
71 14
|
1月前
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
|
1月前
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
【11月更文挑战第4天】ROS2的学习过程和应用,介绍DDS系统的框架和知识。
|
28天前
|
人工智能 自然语言处理 算法
具身智能高校实训解决方案 ----从AI大模型+机器人到通用具身智能
在具身智能的发展历程中,AI 大模型的出现成为了关键的推动力量。高校作为培养未来科技人才的摇篮,需要紧跟这一前沿趋势,开展具身智能实训课程。通过将 AI 大模型与具备 3D 视觉的机器人相结合,为学生搭建一个实践平台。
192 64
|
3天前
|
机器学习/深度学习 人工智能 算法
人工智能与机器人的结合:智能化世界的未来
人工智能与机器人的结合:智能化世界的未来
72 32
|
9天前
|
人工智能 自然语言处理 机器人
机器人迈向ChatGPT时刻!清华团队首次发现具身智能Scaling Laws
清华大学研究团队在机器人操作领域发现了数据规模定律,通过大规模数据训练,机器人策略的泛化性能显著提升。研究揭示了环境和对象多样性的重要性,提出了高效的數據收集策略,使机器人在新环境中成功率达到约90%。这一发现有望推动机器人技术的发展,实现更广泛的应用。
58 26
|
1月前
|
算法 机器人 语音技术
由通义千问驱动的人形机器人具身智能Multi-Agent系统
申昊科技人形机器人小昊,集成通义千问多模态大模型的具身智能系统,旨在讲解销售、迎宾表演等场景。机器人通过语音、动作等方式与用户互动,利用云端大语言模型处理自然语言,结合视觉、听觉等多模态感知技术,实现流畅的人机对话、目标追踪、展厅讲解等功能。
210 3
由通义千问驱动的人形机器人具身智能Multi-Agent系统
|
1月前
|
自然语言处理 算法 机器人
智能电话销售机器人源码搭建部署系统电话机器人源码
智能电话销售机器人源码搭建部署系统电话机器人源码
29 4
|
1月前
|
机器学习/深度学习 传感器 算法
智能机器人在工业自动化中的应用与前景###
本文探讨了智能机器人在工业自动化领域的最新应用,包括其在制造业中的集成、操作灵活性和成本效益等方面的优势。通过分析当前技术趋势和案例研究,预测了智能机器人未来的发展方向及其对工业生产模式的潜在影响。 ###
144 9
|
1月前
|
机器学习/深度学习 人工智能 运维
电话机器人源码-智能ai系统-freeswitch-smartivr呼叫中心-crm
电话机器人源码-智能ai系统-freeswitch-smartivr呼叫中心-crm
58 0

热门文章

最新文章

推荐镜像

更多