The Baxter Research Robot runs rosbridge nodes automatically, which enables users to interface with the robot directly via the rosbridge JSON APIs without needing a ROS installed platform.
Rosbridge Overview
Rosbridge is a package and API, which provide a JSON interface to ROS so that non-ROS programmers -- and non-ROS platforms! -- can access and use ROS. The standard implementation provides the JSON API via WebSockets, which allows developers to interface with the ROS world from web browsers, along with a very broad range of Programming Languages and Development Environments due to the wide support of JSON and websockets in many languages.
Robot Web Tools is an organization and collection of software packages that provide interfaces and tools for "building web-based robot apps." They are also the maintainers of the rosbridge_suite
.
- The Rosbridge Suite contains the protocol implementation and a number of nodes that serve as bridges between the ROS Network and the JSON WebSocket interface.
- There is also a set of JavaScript libraries and tools built specifically for easy use of key ROS functionality from JavaScript. These include roslibjs and ros3djs.
Check out Robot Web Tools for more information.
- http://robotwebtools.org/
- Github: https://github.com/RobotWebTools
- ROS Wiki - rosbridge_suite: http://wiki.ros.org/rosbridge_suite
Baxter Implementation
Starting in v1.0.0 of the SDK, the following rosbridge nodes are run by default on robot startup as part of the robot software:
- /rosbridge_websocket
- /tf2_web_republisher