rosbridge
AdvancedA WebSocket-and-JSON bridge that exposes ROS to web pages and other non-ROS programs.
rosbridge (the package set is called rosbridge_suite) defines a JSON-based protocol and provides a WebSocket server, rosbridge_server. Non-ROS programs — a browser page, Unity, a phone app — can subscribe to and publish topics, call services, and read or write parameters simply by opening a WebSocket connection and exchanging JSON, without needing ROS installed locally at all. Web front-ends usually pair it with the roslibjs library. It works with both ROS 1 and ROS 2. The tradeoff is that JSON serialization is relatively heavy, making it a poor fit for high-rate point clouds or images; it's better suited to lightweight use cases like monitoring dashboards or remote teleoperation.
ExampleLaunch the rosbridge_websocket launch file on the robot, and a web page using roslibjs can connect to ws://<robot-IP>:9090 to display a battery-level topic and publish cmd_vel to drive the base.
- Also called
- rosbridge_suite, rosbridge_server
- Related
- Robot Operating System · Robot Operating System 2 · WebSocket · Topic (ROS) · Foxglove Studio · cmd_vel velocity command topic
- Sources
- RobotWebTools/rosbridge_suite (GitHub)
ROS Wiki: rosbridge_suite