Tuesday, March 05, 2013

ROS


Currently, perhaps the most popular software for robotics, ROS(Robotics Operating System) has been one of the long pending to-do items. Finally, the time and the task
came together in the form of PR2. 


A brief visit to the Tata Elxsi campus in Bangalore gave me a very clear understanding of the task at hand and the related challenges. The first module was to help the robot move from one point to another. To get map coordinates on to the robot, I wrote a small code with some opencv to intercept clicks and with help from Karthik Desingh's code for conversions. I believe we are good to go. A map server is first switched on to provide a static map which has been developed by gmapping earlier. Then our program is run which uses the service provided by the map server to get map data onto a Mat data type of opencv. Then, I resize the mat as the image was larger than my screen resolution and then finally load it up onto the screen. A click on the screen causes a callback which calls a converter method which finally prints out what we want. Here are some screenshots:
Might require close observation , but the second screenshot is where I click and a grey point is visible where I clicked.

On the shell, I print the info I need about the robot's pose in the context of the built map:


Here is the link to my small ROS repo: git@github.com:gururajkosuru/ros.git



And some resources from the ROS home page which I feel are good to start off with :
http://www.ros.org/wiki/Events
https://www.youtube.com/user/WillowGaragevideo
http://www.ros.org/wiki/Courses
http://www.ros.org/wiki/Papers

No comments: