Ten-Minute Guide to rosbridge More information is available from: http://ros.org/wiki/rosbridge (the documentation page for rosbridge on ros.org) http://ros.org/wiki/rosjs (the ros.js documentation page) and by writing tjay@cs.brown.edu After installing ROS ( http://www.ros.org/wiki/ROS/Installation ), rosbridge is available either: 1) By apt-get repository (after installing the ROS apt sources) via: sudo apt-get install ros-electric-brown-remotelab or 2) Via SVN checkout: svn co https://brown-ros-pkg.googlecode.com/svn/trunk/experimental/rosbridge rosbridge to launch rosbridge: rosrun rosbridge rosbridge.py by default rosbridge runs on port 9090 . To talk to rosbridge, use JSON ( http://www.json.org/ ) messages wrapped in byte 0 and byte 255 (you may optionally include a newline before the 255. Communication from the server will come similarly wrapped, and with a newline before the 255. rosbridge only supports pure ASCII messages. To publish: {"receiver":"/topic","msg":{"fieldname":"value"},"type":"ros/type"} To make a service call: {"receiver":"/service","msg":["in","order","arguments"]} Most of the functionality of the ROS C++ and Python API is available as pseudo-services provided by rosbridge. See the ros.js tutorial for more information. Example: {"receiver":"/rosbridge/subscribe","msg":["/topic",-1,"type"]} subscribes to the /topic regardless of whether it currently exists.