自动驾驶可视化利器(二)–foxglove studio
附赠自动驾驶最全的学习资料和量产经验:链接
1. foxglove简介
自动驾驶中除了plotjuggler这种ROS1和ROS2通用的可视化利器,还有一种全平台通用的软件FoxgloveStudio,Github开源链接为https://github.com/foxglove/studio。
对于FoxgloveStudio这个程序来说,其可以支持基本上ROS原生的全部内容,同时它可以在浏览器中使用,也可作为Linux、Windows和macOS上的桌面应用程序使用。Foxglove项目是webviz项目的一个延伸,这个项目的logo产权是归Cruise的,但是同样是开源的。
2. 安装步骤
FoxgloveStudio的功能非常强大,如果只是用来进行数据仿真显示,只需要安装对应的桌面显示软件即可,如下:
sudo apt update && sudo apt install foxglove-studio
如果想要在线连接,实时显示感知的结果,还需要在车端安装ros包,发布服务。
sudo apt update && sudo apt install ros-noetic-foxglove-bridge
3. 软件使用
3.1 数据仿真
1)单击“打开“菜单,显示如下图示,然后选择”打开本地文件“,选择对应的数据包。
2)打开面板菜单中"数据源"图标,查看数据包中的所有话题及消息类型。然后可以添加各种显示的面板,单击播放按钮回放数据。
3.2 在线连接
1)在车端需要提前启动foxglove_bridge的服务
roslaunch foxglove_bridge foxglove_bridge.launch
2)打开客户端,单击“打开“菜单,选择”连接“,如下图所示,将URL中的"localhost"替换为要访问的目标IP,单击”Open“,即可建立连接。
3)添加各种需要的显示面板,即可实时观看数据显示的结果,如下图所示。
4. 各种面板工具使用
4.1 表格
添加表格面板之后,在表格上方选择要显示的话题内容。如下图所示。
4.2 参数
添加”参数“面板之后,会显示所有的rosparam参数。如下图所示
4.3 日志
显示不同等级的日志信息,DEBUG、INFO、WARN、ERROR、FATAL。如下图所示。
4.4 发布
发布面板,将指定的话题消息发送回ROS堆栈中。但前提是需要能和ROSMaster通信。
4.5 原始消息
原始消息面板,显示指定话题的信息。
4.6 三维
三维面板,绘制三维坐标轴、格网、感知目标等。同时需要设置参考系,”视图“中的极角及方向角,设置”变换“中的坐标轴比例线宽。最后选择需要显示的话题信息等。如下图所示。
4.7 主题图
主题图面板,显示各节点之间的数据流动方向。如下图所示。
4.8 图表
在图表面板中,可以显示单个参数(vel)的时间变化曲线,也可以显示目标轨迹(x,y)的时间变化曲线。如下图所示,需要分别设置xy坐标轴的数值。