ROS2可视化利器---Foxglove Studio

这篇具有很好参考价值的文章主要介绍了ROS2可视化利器---Foxglove Studio。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0. 简介

之前作者已经讲了《ROS1可视化利器—-Webviz》,然后就有读者问,ROS2有没有可以使用的可视化工具呢,答案是肯定的,除了plotjuggler这种ROS1和ROS2通用的可视化利器,还有一种全平台通用的软件FoxgloveStudio,Github开源链接为https://github.com/foxglove/studio。
foxglove studio 录制数据,机器人,自动驾驶,人工智能

1. FoxgloveStudio 说明

对于FoxgloveStudio这个程序来说,其可以支持基本上ROS原生的全部内容,同时它可以在浏览器中使用,也可作为Linux、Windows和macOS上的桌面应用程序使用。Foxglove项目是webviz项目的一个延伸,这个项目的logo产权是归Cruise的,但是同样是开源的。

Foxglove和Webviz这两个有着很多共通之处,比如说:都是基于Web技术。都是可以在web Browser中做机器人Topic的3D展示。WebViz和Foxglove Studio都是可以免费使用所有功能的,而且是源代码开放,任何人都可以使用它,或者向它贡献代码。并且都支持一套模块化设计的Panel,可以适应于某种特定的机器人场景,对特定的机器人数据进行解析和展示。
foxglove studio 录制数据,机器人,自动驾驶,人工智能
如果说ROS1可以选择Webviz和Foxglove Studio的话,那ROS2只能选择Foxglove Studio。当你第一次加载应用程序时,你会看到一个介绍性的对话框,有 “打开数据源 “选项和 “帮助 “资源。在随后的应用程序加载中,你也将能够重新连接到你最近在 “Recents “列表中选择的数据源。
foxglove studio 录制数据,机器人,自动驾驶,人工智能
而如何安装的问题,官网也提供了快速的安装通道https://foxglove.dev/download,比如说,我们的Ubuntu环境只需要使用
下载正确的软件包 然后运行

sudo apt install ./foxglove-studio-*.deb

用以下方法安装未来的更新

sudo apt update && sudo apt install foxglove-studio

[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TP5fZsSh-1683353445137)(null)]

2. Foxglove Studio——打开

Foxglove Studio可以通过多种来源检查数据—包括实时和记录数据、ROS和非ROS连接,以及本地和远程记录数据文件。
foxglove studio 录制数据,机器人,自动驾驶,人工智能
一旦你加载或连接到一个数据包,在应用程序侧边栏中打开数据源标签,以查看你当前数据包的细节。

  • 录制的设备、开始/结束时间、持续时间
  • 主题名称、模式名称、信息计数和发布率
  • 当从Foxglove数据平台流传数据产生的事件
  • 再次打开对话框以切换到不同的数据包
  • 查看你的主题信息
    foxglove studio 录制数据,机器人,自动驾驶,人工智能
    所有预先记录的数据源(即ROS 1、ROS 2、MCAP和PX4 ULog文件),无论它们是在本地加载还是从远程URL加载,都将被预先加载到Foxglove Studio。这意味着你可以一次性将整个文件过程中的数据可视化并进行分析

3. Foxglove Studio——ROS1

在讲解ROS2之前,我们先来看一下Foxglove Studio的ROS1的使用.Foxglove Studio可以加载本地和远程的ROS 1(.bag)文件,或使用Rosbridge(WebSockets)或本地(TCP)连接直接连接到正在运行的ROS节点中。

3.1 本地文件

要加载一个本地的ROS 1 .bag文件,可以从文件管理器中双击它,直接将文件拖放到应用程序中,或者通过数据源对话框打开本地文件。
foxglove studio 录制数据,机器人,自动驾驶,人工智能
同时Foxglove Studio还支持加载远程的ROS 1 (.bag)文件,在数据源对话框中选择从URL打开文件,并输入远程文件的URL。

3.2 在线链接

对于实时连接,你必须与机器人处于同一网络。虽然我们支持多种选择,但我们推荐Foxglove WebSocket。

使用Foxglove WebSocket连接直接连接到你正在运行的ROS栈。这种连接使用标准协议,通过WebSockets将Studio连接到你的ROS主站。这里需要运行一个额外的ROS节点(foxglove_bridge)来进行进行通信。

cd <path/to/your/ros_ws>
git clone https://github.com/foxglove/ros-foxglove-bridge.git src/ros-foxglove-bridge
rosdep update
rosdep install -i --from-path src -y
catkin_make
source install/local_setup.bash
rosrun foxglove_bridge foxglove_bridge

然后,在数据源对话框中点击打开连接,选择Foxglove WebSocket,然后输入你的Rosbridge服务器的URL,值得一提的是,Foxglove WebSocket连接支持发布回调信息,但不支持读取或设置ROS参数。
foxglove studio 录制数据,机器人,自动驾驶,人工智能
当然我们还可以用Rosbridge来完成连接,并通过WebSocket直接连接到你正在运行的ROS栈。这个连接选项只需要在Studio和你的机器人之间打开一个端口。

Rosbridge连接使用一个标准协议,通过WebSockets将Studio与你的ROS主站连接起来。虽然它确实需要运行一个额外的ROS节点(rosbridge_server)

# For Noetic (ROS 1)
sudo apt install ros-noetic-rosbridge-suite

接下来,启动WebSocket服务器,并查看命令打印结果,以确定它所监听的端口(例如ws://0.0.0.0:9090)

roslaunch rosbridge_server rosbridge_websocket.launch

在数据源对话框中点击打开连接,选择 “Rosbridge (ROS 1 & 2)”,然后输入Rosbridge服务器的URL
foxglove studio 录制数据,机器人,自动驾驶,人工智能

4. Foxglove Studio——ROS2

Foxglove Studio可以加载本地和远程的ROS 2(.db3)文件,或使用Rosbridge(WebSockets)或本地(TCP)连接直接连接到运行中的ROS节点

由于ROS 2 (.db3)文件不包含其信息定义,我们建议在将其加载到Foxglove Studio之前先将其转换为独立的MCAP文件。

你可以使用MCAP CLI工具来帮助完成这一转换。

mcap convert ros2_input.db3 ros2_output.mcap

mcap 将搜索存储在您的 $$AMENT_PREFIX_PATH 环境变量中的路径,以找到硬盘上的 ROS 消息定义。你也可以使用 ament-prefix-path 标志来设置分隔的目录列表。

mcap convert ros2_input.db3 ros2_output.mcap --ament-prefix-path=/your/first/directory;/your/second/directory

一旦你有了MCAP(.mcap)文件,你可以从你的本地文件系统或远程云存储解决方案打开它们。

4.1 本地文件

一旦你有了MCAP(.mcap)文件,从文件管理器中双击它,直接将它拖入应用程序,或通过数据源对话框打开本地文件。
foxglove studio 录制数据,机器人,自动驾驶,人工智能
同时Foxglove Studio不支持加载远程的ROS 2.db3文件,但你可以将它们转换成MCAP文件,以支持远程文件。

要加载一个远程MCAP(.mcap)文件,在数据源对话框中选择从URL打开文件,然后输入远程文件的URL。并请查看设置CORS页面
foxglove studio 录制数据,机器人,自动驾驶,人工智能

4.2 在线链接

对于实时连接,你必须与机器人处于同一网络。虽然我们支持多种选择,但我们推荐Foxglove WebSocket作为最简单的入门选择。

使用Foxglove WebSocket连接直接连接到你正在运行的ROS栈。这种连接使用标准协议,通过WebSockets将Studio连接到你的ROS主站。这需要运行一个额外的ROS节点(foxglove_bridge)并要打开Foxglove WebSocket连接,请确保你已经安装了ROS 2并按照说明设置了Foxglove bridge。

然后,在数据源对话框中点击打开连接,选择Foxglove WebSocket,然后输入你的Rosbridge服务器的URL。
[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CiGjBH6P-1683353445185)(null)]
同样也可以使用Rosbridge连接,通过WebSockets直接连接到你正在运行的ROS节点。这同样需要额外的节点 (rosbridge_server)并要打开一个Rosbridge连接,确保你已经安装了ROS 2,以及rosbridge-suite。

# For Galactic (ROS 2)
$$ sudo apt install ros-galactic-rosbridge-suite

接下来,启动WebSocket服务器,并查看命令打印结果,以确定它所监听的端口(例如ws://0.0.0.0:9090)。

$$ ros2 launch rosbridge_server rosbridge_websocket_launch.xml

在数据源对话框中点击打开连接,选择 “Rosbridge (ROS 1 & 2)”,然后输入Rosbridge服务器的URL。
foxglove studio 录制数据,机器人,自动驾驶,人工智能

5. 参考链接

https://foxglove.dev/docs/studio

https://zhuanlan.zhihu.com/p/427952618文章来源地址https://www.toymoban.com/news/detail-813342.html

…详情请参照古月居

到了这里,关于ROS2可视化利器---Foxglove Studio的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开发利器--DIYGW可视化工具

    最近想写个微信小程序,之前写过H5网页,但是发现微信小程序和H5有不小差别。微信小程序类似于vue的结构,都是数据绑定的方式。虽然微信小程序不乏一些好看的UI,但是搭建起来不得不一点点调整,而且有些UI的学习成本也不低。 找来找去,看到了DIYGW可视化开发工具,

    2024年02月09日
    浏览(45)
  • Kafka可视化利器 KafkaTool 发送kafka消息

    kafak是我们工作中常用的消息组件,今天在跟合作方联调的时候被告知上游没有准备好消息数据,没有办法从依赖方拿到消息但是我们还又想测试自己写的消息消费的代码,怎么办呢?常规的做法就是把消息消费的代码抽离出来包装成一个公共方法,提供一个Controller直接构造

    2024年01月19日
    浏览(42)
  • 三维目标检测之ROS可视化

    实验室有一个镭神C16的激光雷达,最近在我这,想拿来玩一玩。本意是做一个实时的检测,通过ROS获取激光雷达的激光点云,用pointpillars模型来进行实时的三维目标检测任务。但是镭神c16这一个激光雷达,不太好处理,目前只能用自带的驱动,进行一个实时的显示。所以下边

    2024年01月19日
    浏览(43)
  • 探索Python中的数据可视化利器:Plotly Express

    在数据分析和可视化领域,数据的有效呈现是至关重要的。Python作为一种强大的编程语言,提供了多种数据可视化工具和库。其中,Plotly Express是一款受欢迎的数据可视化库,它提供了简单易用的接口和丰富的图表类型,使得数据可视化变得轻松而愉快。本文将介绍Plotly Exp

    2024年02月10日
    浏览(52)
  • 山海鲸可视化软件:多场景下的数据呈现利器

    在当今数据驱动的时代,数据可视化成为了企业和个人不可或缺的工具。作为一个老数据人,本文想借用自己常用 山海鲸可视化软件 ,带大家了解在不同使用场景下数据可视化的应用。山海鲸可视化是一款可以 免费 编辑、本地化部署的产品,对数据可视化新人来说十分友好

    2024年02月21日
    浏览(52)
  • 正则可视化工具:学习和编写正则表达式的利器

    正则表达式是一种强大的文本匹配和处理工具,但对于初学者和非专业开发者来说,编写和理解正则表达式可能是一项具有挑战性的任务。为了帮助人们更好地学习和编写正则表达式,正则可视化工具应运而生。本文将探讨正则可视化工具的优点,分析其在学习和编写正则表

    2024年02月19日
    浏览(38)
  • GeoServer中地图可视化提升利器之SLD知识简介

    目录 前言  一、SLD简介 1、介绍 2、SLD的版本 3、SLD的Schema说明 二、SLD中相关知识解析 1、Scheme简要说明 2、一个SLD实例 总结         在互联网上有很多精美的地图,在地图从shp或者gdb等矢量文件,经过设计人员的加工,配色,标注,符号化等等修饰加工。原始的点线面数

    2024年02月09日
    浏览(51)
  • Ros中可视化工具rqt 命令

    rqt工具箱可视为ROS数据的界面调试工具。 rosrun rqt_(按tab键):可以查看所有的rqt工具。 以下介绍为常用的命令。 目录 1 rqt_tf_tree 2 rqt_graph 3 rqt_plot 4 rqt_topic :查看tf树之间的关系,用于可视化ROS-TF的框架树 每一个节点都是一个tf的link,节点与节点相连接处申明了node信息。

    2024年02月05日
    浏览(42)
  • 正则表达式与正则可视化工具:解密文本处理的利器

    在计算机科学和软件开发领域,正则表达式是一种强大而灵活的文本处理工具。然而,对于初学者来说,正则表达式的语法和规则可能会显得晦涩难懂。为了帮助初学者更好地理解和学习正则表达式,正则可视化工具应运而生。本文将介绍正则表达式的基本概念、语法和应用

    2024年02月19日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包