A set of packages which provide various web-related functionality and
expose various aspects of ROS to the outside world. At its core,
rosbridge is a websockets server with a JSON API exposing ROS service and
pub/sub functionality. Additional packages provide convenience functions,
and handling for specific datatypes.
Rosbridge provides a JSON API to ROS functionality for non-ROS programs.
There are a variety of front ends that interface with rosbridge, including
a WebSocket server for web browsers to interact with.
Rosbridge_suite is a meta-package containing rosbridge, various front end
packages for rosbridge like a WebSocket package, and helper packages.
Maintainer status: maintained
Maintainer: Brandon Alexander <baalexander AT gmail DOT com>, Jihoon Lee <jihoonlee.in AT gmail DOT com>, Russell Toris <rctoris AT wpi DOT edu>
Author: Jonathan Mace <jonathan.c.mace AT gmail DOT com>
Rosbridge provides a JSON API to ROS functionality for non-ROS programs.
There are a variety of front ends that interface with rosbridge, including
a WebSocket server for web browsers to interact with.
Rosbridge_suite is a meta-package containing rosbridge, various front end
packages for rosbridge like a WebSocket package, and helper packages.
Maintainer status: maintained
Maintainer: Russell Toris <rctoris AT wpi DOT edu>, Jihoon Lee <jihoonlee.in AT gmail DOT com>
Author: Jonathan Mace <jonathan.c.mace AT gmail DOT com>
Rosbridge provides a JSON API to ROS functionality for non-ROS programs.
There are a variety of front ends that interface with rosbridge, including
a WebSocket server for web browsers to interact with.
Rosbridge_suite is a meta-package containing rosbridge, various front end
packages for rosbridge like a WebSocket package, and helper packages.
Maintainer status: maintained
Maintainer: Russell Toris <rctoris AT wpi DOT edu>, Jihoon Lee <jihoonlee.in AT gmail DOT com>
Author: Jonathan Mace <jonathan.c.mace AT gmail DOT com>
Rosbridge provides a JSON API to ROS functionality for non-ROS programs.
There are a variety of front ends that interface with rosbridge, including
a WebSocket server for web browsers to interact with.
Rosbridge_suite is a meta-package containing rosbridge, various front end
packages for rosbridge like a WebSocket package, and helper packages.
Maintainer status: maintained
Maintainer: Russell Toris <rctoris AT wpi DOT edu>, Jihoon Lee <jihoonlee.in AT gmail DOT com>
Author: Jonathan Mace <jonathan.c.mace AT gmail DOT com>
Rosbridge provides a JSON API to ROS functionality for non-ROS programs.
There are a variety of front ends that interface with rosbridge, including
a WebSocket server for web browsers to interact with.
Rosbridge_suite is a meta-package containing rosbridge, various front end
packages for rosbridge like a WebSocket package, and helper packages.
Maintainer status: maintained
Maintainer: Russell Toris <rctoris AT wpi DOT edu>, Jihoon Lee <jihoonlee.in AT gmail DOT com>
Author: Jonathan Mace <jonathan.c.mace AT gmail DOT com>
Rosbridge provides a JSON API to ROS functionality for non-ROS programs.
There are a variety of front ends that interface with rosbridge, including
a WebSocket server for web browsers to interact with.
Rosbridge_suite is a meta-package containing rosbridge, various front end
packages for rosbridge like a WebSocket package, and helper packages.
Maintainer status: maintained
Maintainer: Russell Toris <rctoris AT wpi DOT edu>, Jihoon Lee <jihoonlee.in AT gmail DOT com>
Author: Jonathan Mace <jonathan.c.mace AT gmail DOT com>
Rosbridge provides a JSON API to ROS functionality for non-ROS programs.
There are a variety of front ends that interface with rosbridge, including
a WebSocket server for web browsers to interact with.
Rosbridge_suite is a meta-package containing rosbridge, various front end
packages for rosbridge like a WebSocket package, and helper packages.
Maintainer status: maintained
Maintainer: Russell Toris <rctoris AT wpi DOT edu>, Jihoon Lee <jihoonlee.in AT gmail DOT com>
Author: Jonathan Mace <jonathan.c.mace AT gmail DOT com>
Rosbridge provides a JSON API to ROS functionality for non-ROS programs.
There are a variety of front ends that interface with rosbridge, including
a WebSocket server for web browsers to interact with.
Rosbridge_suite is a meta-package containing rosbridge, various front end
packages for rosbridge like a WebSocket package, and helper packages.
Maintainer status: maintained
Maintainer: Russell Toris <rctoris AT wpi DOT edu>, Jihoon Lee <jihoonlee.in AT gmail DOT com>
Author: Jonathan Mace <jonathan.c.mace AT gmail DOT com>
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:
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:
rosbridge_library - The core rosbridge package. The rosbridge_library is responsible for taking the JSON string and sending the commands to ROS and vice versa.
rosapi - Makes certain ROS actions accessible via service calls that are normally reserved for ROS client libraries. This includes getting and setting params, getting topics list, and more.
rosbridge_server - While rosbridge_library provides the JSON<->ROS conversion, it leaves the transport layer to others. Rosbridge_server provides a WebSocket connection so browsers can "talk rosbridge." Roslibjs is a JavaScript library for the browser that can talk to ROS via rosbridge_server.