Tuesday, 11 September 2012

How connect ROS to ROSBridge with service

Introduction
ROS is extendable and it can be controllable from website over a websocket, what you need is to install ROSBridge that makes your environmental accessible from a socket.
In the next steps I am going to show how to call a service from a website through websocket.

Install ROSBridge
This step is very simple, you have to make sure to have installed ROS correctly and then continue with ROSBridge installation on this link.
This operation will take only a few minutes and then when you have finished it, try to create a simple html page with this javascript example:

The ros.js is available from the repository that you have cloned.
You have to change  IP with your server's ip, and then try to run it, you should read "Connected to ROS" on your console, please use Google Chrome that makes your debugging easier.
 
Create a server service
You can use the example from ROS to create a simple service, just look on this link and try to make it works on your server but make sure that you are following this guide as well.

If you have problem to create the file AddTwoInts.srv, just create it and copy and paste the next rows:

int64 a
int64 b
---
int64 sum

When everything is working, try to sum two numbers from your client and then you are ready for the last step.

Call service from website
This is the last step to finish your little project.
You have to make sure that you have started you ROSBridge, the connection is working and your service is running. After these checks you can use the call "callService" on your website.

Modify your code like that:


When you run your webpage, you should see the result of the sum on your console.
You can change it and make a little calculator that uses a ROS service to do the calculation.

No comments:

Post a Comment