/rosbridge_suite

Server Implementations of the rosbridge v2 Protocol

Primary LanguagePythonOtherNOASSERTION

rosbridge_suite Build Status

Server Implementations of the rosbridge v2 Protocol

rosbridge provides a JSON interface to ROS, allowing any client to send JSON to publish or subscribe to ROS topics, call ROS services, and more. rosbridge supports a variety of transport layers, including WebSockets and TCP. For information on the protocol itself, see the rosbridge protocol specification.

For full documentation, see the ROS wiki.

This project is released as part of the Robot Web Tools effort.

Packages

  • rosbridge_suite is a ROS meta-package including all the rosbridge packages.

  • rosbridge_library contains the Python API that receives JSON-formatted strings as input and controls ROS publishers/subscribers/service calls according to the content of the JSON strings.

  • rosbridge_server contains a WebSocket server implementation that exposes the rosbridge_library.

  • rosapi provides service calls for getting meta-information related to ROS like topic lists as well as interacting with the Parameter Server.

Clients

A rosbridge client is a program that communicates with rosbridge using its JSON API. rosbridge clients include:

  • roslibjs - A JavaScript API, which communicates with rosbridge over WebSockets.
  • jrosbridge - A Java API, which communicates with rosbridge over WebSockets.
  • roslibpy - A Python API, which communicates with rosbridge over WebSockets.

Development

You can use the run_docker.sh script to get an interactive shell in a container with rosbridge in a catkin workspace. The sources will be mounted read-only in the container, so any changes you make outside the container will be reflected inside. Host networking will be used so you can run interact with ROS nodes and access the server from outside the container. You can use this to quickly iterate without having to rebuild the image for most changes.

License

rosbridge_suite is released with a BSD license. For full terms and conditions, see the LICENSE file.

Authors

See the AUTHORS file for a full list of contributors.