6.1 可视化简介

场景

对于机器人操作系统而言,无论是程序的开发、调试还是项目的最终落地应用,人机交互在其中都占有举足轻重的地位,是最重要的功能模块之一。所谓人机交互是指人与计算机之间的数据交换,具体到机器人领域,调用者会给机器人下达一些指令,反之机器人也会给调用者反馈一些信息,这是一种数据双向传输的过程,比如,以机器人导航为例:

1.调用者可以给机器人下发导航的目的地、途径点等数据;

2.机器人则会给调用者反馈当前机器人模型、导航规划的路径、车辆里程计、雷达采集的障碍物信息、图像信息等数据。

那么在人机交互的过程中,应该以何种方式实现数据交换呢?按照之前介绍,我们可以在终端启动程序时下发数据,程序运行中通过命令行工具来获取机器人发布的数据,这也是前面程序开发调试时我们普遍采用的一种方式,但是这种人机交互的方式不够直观,尤其时面向一般用户时更是不够“友善”,一种理想的策略应该是使用图形化的方式实现人机交互。正是基于这种考量,在 ROS2 中提供了 rviz2 这一图形化用户接口,通过该接口调用者可以以一种“可视化”的方式与机器人交互。

概念

RViz 是 ROS Visualization Tool 的缩写,直译为ROS的三维可视化工具。它的主要目的是以三维方式显示ROS消息,可以将数据进行可视化表达。例如:可以显示机器人模型、激光雷达数据、三维点云数据、从相机获取的图像值等。

机器人建模也是可视化实现中的比较重要的一部分内容,ROS2 中的建模是由 URDF 实现的。

URDF是 Unified Robot Description Format 的首字母缩写,直译为统一(标准化)机器人描述格式,可以以一种 XML 的方式描述机器人的部分结构,比如:底盘、摄像头、激光雷达、机械臂以及不同关节的自由度等,该文件可以被 C++ 内置的解释器转换成 rviz 或仿真环境中的可视化机器人模型。

作用

毋庸置疑的,“可视化”的人机交互方式更方便、快捷、美观大方,可以大大提高程序的开发调试效率。并且对于非专业人员而言也更加友好。

results matching ""

    No results matching ""