Fork us on GitHub

Bringing Robots to your Favorite Browser

3D Interactions

Multi-Platform Support

Towards Compatibility

Robot Web Architecture

A variety of routes are available for architecting a robot web application. A common route is building web technologies on an existing robot framework. The Robot Operating System (ROS) is one of the more popular robot middlewares to build upon.

ROS is one of the top frameworks to program robots and can run on a variety of robots, from a TurtleBot to a PR2 to an Arduino connected to a computer. ROS - and other robot middleware frameworks - provide common robot functionality, including drivers for interfacing with a variety of sensors and actuators and algorithms for navigation, perception, and manipulation.

rosbridge as a Transport

While ROS works great for applications on the robot, another layer is needed to connect external devices and applications. rosbridge is both a JSON spec for interacting with ROS and a transport layer, providing a WebSocket for clients to communicate over.

In the browser layer sits the core JavaScript libraries: roslibjs, ros2js, and ros3djs. These libraries communicate with ROS on the robot over rosbridge's WebSocket server. It's a lightweight, evented library that provides a convenient abstraction to core ROS functionality.

The real benefits of the Robot Web Tools organization is JavaScript modules and tools that build off these foundations. Check out the Tools section for a list of what the community has contributed. And please add your own!

Latest News

May 8, 2013

Robot Web Tools Launches

It is our pleasure to announce the official launch of the Robot Web Tools organization. Robot Web Tools is a collection of open-source modules and tools for building web-based robot apps. Read more...

March 31, 2013

New Website Launched

The Robot Web Tools organization is proud to announce its new website. Along with bringing you the latests news related to the effort, this site will now showcase some demos and examples of the tools in action! And, as always, we welcome your contributions!


Robot Web Tools [ROS Topics]

While the community’s efforts have facilitated significant milestones in robotics research, the core ROS middleware still requires a considerable learning curve, including a general understanding of UNIX systems and languages such as C++, Python, or Java. To generate interest in robotics in a larger, more general population, we must remove this requirement. The World Wide Web provides both a guiding example and a path for broadening the reach and accessibility of robotics. With the goal of building a larger community of robot Web app developers, we describe recent efforts to expose the functionality of ROS via common Web development tools such as JavaScript.