dheera/rosboard

ROS node that turns your robot into a web server to visualize ROS topics

解决的问题

ROSboard 提供了一种轻量级的方式,通过浏览器可视化 ROS(机器人操作系统)话题。它无需在客户端机器上进行复杂的本地安装可视化工具,用户只需通过任何带有浏览器的设备(包括手机)即可监控机器人的数据。

工作原理

该项目作为一个 ROS 节点运行,使用 Tornado 框架托管一个 Web 服务器。它创建了一个自定义的 WebSocket 桥接,与机器人的 ROS 系统通信。为了确保在 ROS1 和 ROS2 之间兼容,它使用了一个名为 rospy2 的适配库,使节点可以以 ROS1 风格编写,同时在后台与 ROS2 系统的 rclpy 进行通信。随后,Web 界面使用多种 JavaScript 库来渲染 2D 和 3D 可视化数据。

适用人群

专为需要在移动设备上实时监控 ROS 话题或在桌面端回放 ROS bag 的机器人开发者和研究人员设计,具有移动友好性和低资源占用特性。

主要亮点

  • 跨版本兼容:支持 ROS1 和 ROS2。
  • 移动端友好:优化用于在步行时通过手机查看机器人数据。
  • 资源高效:空闲时消耗极少资源。
  • 可扩展:用户只需添加一个 JavaScript 文件即可为自定义数据类型添加可视化。
  • 优化的数据传输:对图像和点云等大消息使用有损压缩,以提升 WebSocket 上的性能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目