ROSCon 2019 展示的两种工具:Webviz 和 Jupyter Notebooks
在 ROSCon 2019 上,展示了两种用于可视化和与机器人操作系统(ROS)交互的工具:Webviz 和 Jupyter Notebooks。
Webviz:基于网页的 RViz 替代工具
Webviz 是一个基于网页的工具,旨在替代 RViz。RViz 是一个广泛使用的 ROS 3D 可视化工具,能够显示机器人发送的 ROS 消息中的 3D 数据,如点云或姿态。Webviz 允许其他设备以类似 RViz 的方式可视化数据,但具有更高的便携性。例如,在 MacBook 上运行 RViz 是一项繁琐的工作,这使得团队难以向未安装 ROS 工具的利益相关者展示进展。
Webviz 提供了一种快速、简便的方式来分享机器人或自动驾驶汽车所看到的内容。目前,Webviz 可以可视化图像、点云、绘制图表以及打印调试信息。它不仅能够实时显示这些数据,还可以将录制的 Rosbag 数据拖入其中进行回放。
Jupyter Notebooks:交互式编程环境
另一种有趣的工具是 Jupyter Notebooks,它提供了更多的交互选项。Wolf Vollprecht 和 Chaitanya Deep 展示了如何使用这种基于浏览器的交互式计算环境来可视化和与机器人进行交互。通常,程序员使用 Jupyter Notebooks 进行探索性编程,尤其是在数据科学和机器学习领域。
为了实现这一目标,Wolf 为 Jupyter Notebooks 创建了 ROS 支持。他使用了 iPyWidgets,这些是 JavaScript 元素,提供了 Python 内核与 HTML+JavaScript 前端之间的双向连接。生态系统中有多种 iPyWidgets,其中包括 Bloomberg 的绘图库 bqplot 和用于可视化 3D 体积和 3D 散点图的库 iPyVolume。
Wolf 面临的一个挑战是,ROS Python 订阅者是多线程的。没有办法从用户界面停止线程而不重启内核。这使得交互式小部件在向机器人传递命令时非常有用。
最后,Wolf 展示了如何使用 Voila 将笔记本转换为独立的应用程序。这意味着你可以向同事发送一个独立的应用程序,让他们与你的机器人进行交互。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。