Robotics and web applications

Around robotics
La robotique et le web

Robotics and web technologies start to work together. Robotics is becoming more open, thanks to a lot of open source projects for example, and web is adapting for more advanced use cases (Web is not only surfing on Html pages like it was 20 years ago !).

So… How can robotics benefit from web technology ?

Remote control

Nowadays, you can do almost everything remotely : book your holidays, buy your groceries, turn on the light on the kitchen, … You will be able soon to control any new robot from a web interface, anywhere in the world !

For example, video streaming is now possible, even for very high definition images. It means that you can always, at least, see what the robot is doing. You can also compute image processing on a remote computer, using a video stream coming from the robot.

The point here, is that with web technologies, you won’t have to put all the intelligence inside the robot, as long as it can communicate with the outside. This is time and money saving. Your robot will be lighter, so you have less constraints, less hardware to maintain and synchronize.

Cloud simulation

So now you can remotely control a robot using web technologies. What if you could just control a robot from the cloud, and thus have no need for a powerful computer at home, at school or at work ?

Here’s where cloud computing is coming in. If the robot can communicate with the outside through Internet, then you can use a remote server to make the bridge between the robot and the user. The remote server will be powerful and running an adapted robotics environment. A simple mobile application could then be enough to tell the robot what you want it to do.

Robotics simulation on the cloud will also allow you to remotely control a virtual robot, for teaching and testing purposes. It means you can always learn with your robot, even if it is not physically working, because you have a remote simulation of it.

Now let’s take a look at a technical solution that brings some reality to what have been discussed :

Robot Web Tools is, as its name suggests, a suite of tools to control robots from web applications. (compatible with Robot Operating System)

One of the most used, Rosbridge, allows web and mobile applications to communicate with a robot. Technically, Rosbridge provides a JSON API to ROS functionality for non-ROS programs. This tool is used on Niryo One, so anyone can control the robot from a user friendly interface.

Robotics is about to be much more open, so not only researchers and robotics engineers will be able to create cool and useful applications with a robot. So if you are a web/mobile developer for example, you can develop an entire cloud service, and a front-end application using Javascript (with roslibjs library), or java for Android (rosjava). You can also develop your own library to communicate with the WebSocket server provided by Rosbridge.

On the contrary, if you want to program directly on a robot, you can just dive into the low-level code to build a strong, reliable and fast program, and thus let other people work on the web interface to control the robot and connect to the Internet for more user-centric use cases.

This reunion of multiple expertises will accelerate robotics democratization. The web is already everywhere in our lives, it will now help robotics to stand out from the crowd faster.

Robots will be more than just products, they will become a part of a set of higher-level services.

This is a topic we’ll cover in the next blog post : After having heard so much about Software as a Service, let Robot as a Service begin !