Phantom Bridge Documentation
Phantom Bridge is a fast WebRTC and Socket.io ROS2 Bridge written in Python for real-time ROS data visualization and video streaming, teleoperation, human-robot interaction, and both local and remote robot monitoring.
It comes with Docker Container control for the host machine, system load and Wi-Fi monitoring, and customizable Web Interface for both desktop and mobile touchscreen devices.
This Bridge is indended to be a modern replacement for RViz, in some cases going beyong what is typically consideted a ROS visualization tool, in order to make robotics development with ROS2 easier.
Features
Connects P2P or via a TURN server when P2P link is not possible
~5-10ms RTT on local network, 50ms+ RTT remote teleoperation via a TURN server
ROS2 topic and service discovery
Fast streamimg of binary ROS2 messages (both in a out)
Fast H.264 video streaming (hw or sw-encodeded frames)
Software encoded ROS2 Image messages streamed as H.264 video (at CPU cost)
Docker container discovery and control
Reliable ROS2 service calls
ROS2 parameneters runtime discovery, read and write
User input mapping to ROS control messages (keyboard, gamepad, touch interface)
Extra ROS2 packages can be easily included for custom message type support
Robot’s Wi-Fi signal monitoring, scan & roaming (requires wpa_supplicant)
File retreival from any running Docker container and host fs (such as URDF models)
System load and Docker stats monitoring
Standalone lightweight Bridge Agent for monitoring and management of various parts of a distributed system
Multiple peers can connect to the same machine at a very low extra CPU cost
Works with rosbag and sims such as Gazebo or Webots
Fully open-source under the MIT license
Customizable by self-hosted plug-ins
No need for an X server running on the robot, nor any wired connections