[Documentation] [TitleIndex] [WordIndex


There's two parts to rosbridge: the protocol and the implementation.

Rosbridge Protocol

The rosbridge protocol is a specification for sending JSON based commands to ROS (and in theory, any other robot middleware). An example of the protocol for subscribing to a topic:

{ "op": "subscribe",
  "topic": "/cmd_vel",
  "type": "geometry_msgs/Twist"

The specification is programming language and transport agnostic. The idea is that any language or transport that can send JSON can talk the rosbridge protocol and interact with ROS. The protocol covers subscribing and publishing topics, service calls, getting and setting params, and even compressing messages and more.

Rosbridge Implementation

The rosbridge_suite package is a collection of packages that implement the rosbridge protocol and provides a WebSocket transport layer.

The packages include:

Source Code

Source code is available at https://github.com/RobotWebTools/rosbridge_suite. Please file issues and pull requests there.


Rosbridge is available as a debian. To install:

sudo apt-get install ros-<rosdistro>-rosbridge-server


Beginner Tutorials

  1. Running Rosbridge

    This tutorial shows you how to launch a rosbridge server and talk to it.

Intermediate Tutorials

  1. Developing Rosbridge

    This tutorial shows you how to develop on rosbridge itself.


Rosbridge is a community project and involvement is encouraged! In addition to the GitHub repository, check out the Google Group and ROS Answers.

2024-07-13 14:37