![98e417a9db00eafd3d15bfc5a2edac98.png](https://i-blog.csdnimg.cn/blog_migrate/5ce07c85aa2e7b4601f4a305dd4ef0f2.jpeg)
![706b0a7b131d508c966a57590838d927.png](https://i-blog.csdnimg.cn/blog_migrate/4e85e3993ff07dc7e488d55f306e2303.jpeg)
自动驾驶车每时每刻都会产生海量的各类传感器数据,例如Cruise每月都会产生PB级数据,对这些数据的采集、分类和分析不管对于前期的功能开发、仿真验证还是对于后期失效案例的情景复现都至关重要,毕竟数据是功能实现的关键。如何直观有效的显示各类信息,需要一定的工具对所采集的各类传感器信息进行可视化的支持,在自动驾驶领域,对数据可视化的工具既有开源的也有各公司自己定制开发的,但不管何种,目的主要就是使开发者可直观感受抽象数据形态所描述的内容,方便分析并解决问题。一、ROS组件Rviz和rqt1、Rviz
Rviz是一款强大的三维可视化工具,可通过图像化的方式实时显示传感器信息(如激光雷达的点云信息)、物体运动状态、周围环境的变化等,帮助我们实现所有可监测数据的图像化显示,开发者也可在Rviz控制面板中,通过按钮、滑动条等方式,控制物体的行为。
![32ebff85be02992e54238572b30c02ea.png](https://i-blog.csdnimg.cn/blog_migrate/2d52be6f793af3b556578348fc7c7ee8.jpeg)
![e9485c3e6578d9d45f36946905da8a1e.png](https://i-blog.csdnimg.cn/blog_migrate/f7ce03f08259a809a178a0bc8925d17f.jpeg)
2、rqt组件
rqt是基于QT框架的GUI开发环境,包含3个子package:rqt、rqt_common_plugins、qt_robot_plugins。其中rqt_common_plugins包含很多非常强大的可视化插件,如rqt_graph、rqt_plot和rqt_bag。
rqt_graph可将所有的节点、Topic及节点之间的订阅关系以图像的形式显示出来,如下:
![12880f59be16ea41a86486bc7a99190e.png](https://i-blog.csdnimg.cn/blog_migrate/a0bbb4ffeefb269066dc0c1cbf929e37.jpeg)
rqt_bag则是一款用于记录和管理ROS Bag的插件,可进行包消息内容和图像信息的显示,并可配置信息的时间序列及向ROS发送指定的主题信息。
![dea781da7d97fce0764420e61067ed2a.png](https://i-blog.csdnimg.cn/blog_migrate/90e16fb5ee9e9980a9c8b9a136c17e83.jpeg)
rqt_plot则可将某一个话题的数据(全部数据或部分数据)进行2D绘图显示,这样可以更加直观看到话题消息的变化,方便于我们调试。
![a5fe9a6a235f931cd06961db83f8556e.gif](https://i-blog.csdnimg.cn/blog_migrate/be34e50a7e1febffb3a722ee3ed84a59.gif)
![42e96aaa90c85ff68df3f82bb9c0f696.png](https://i-blog.csdnimg.cn/blog_migrate/7c8a04d5fbfcef7527eb9af54a899e8b.jpeg)
二、Cruise数据可视化工具Webviz
ROS组件Rviz和rqt虽功能强大,但对ROS具有强依赖,即若要使用必须安装ROS并运行ROS Master,其次Rviz也经常运行不稳定,启动过程时常伴随一些警告和报错。对于开发者,在测试过程中,既想快速稳定的调出可视化工具,又希望对不同的数据以各自合理的可视化方式显示在一个共有的界面中以方便查看和对比,而像Rviz和rqt插件,若想查看3D信息需要单独运行Rviz、2D信息则需要运行rqt_plot,其次还需要在不同界面间进行切换,非常的不便。
而Cruise的Webviz工具是一款基于Web的应用程序,可用于回访和可视化ROS Bag文件,只需将ROS Bag文件直接拖入。
![dbaccff0870bc41bbc1bb3f7ec2d0bea.png](https://i-blog.csdnimg.cn/blog_migrate/b1ee6a33202e241f03d93428910e38ec.jpeg)
Webviz的布局是模块化和可定制的,可通过选择、排列和配置面板来创建自己想要的布局,并同时进行文本日志、2D图表和环境3D等信息的显示,最后还可将界面配置信息导出用于下次的直接导入。
![bdce015aa41392522bbf53aa48ffa351.gif](https://i-blog.csdnimg.cn/blog_migrate/1d441783b10fa00f8dfc7a1bf930f595.gif)
在Webviz的3D面板中还可对ROS的标记消息进行可视化,在2D绘制面板中对指定的Topic进行显示以便于数据的比较,总之,功能还算挺强大的。
![b44697fb67668cd0a83ea05710f8c0a9.gif](https://i-blog.csdnimg.cn/blog_migrate/929e883355ced1235174d05973353231.gif)
![8b116b0bd19156af5291c3ef6c6e83a8.gif](https://i-blog.csdnimg.cn/blog_migrate/ce1da5faa8ed17b50c5f9dbfb5613781.gif)
Cruise已将Webviz工具开源,感兴趣的童鞋可自行把玩:https://github.com/cruise-automation/webviz
![06f35800651ef7e6651ec17162de014e.png](https://i-blog.csdnimg.cn/blog_migrate/27c950a18d5ac8814437ab59763be9d6.jpeg)