Showing posts with label ROS. Show all posts
Showing posts with label ROS. Show all posts

Wednesday, March 06, 2013

Navigation in ROS

I would like to check the ability of the turtlebot to navigate from one point to another on a built map using SLAM. I believe these are the sub modules that need to be taken care of:

1. build a map using gmapping or some laser map.

2. Whenever the map is used on the robot, make sure to localize using amcl.

3. Get coordinate of target point on map with respect to map coordinates.  (My last post on ROS should do the job, although I am yet to verify it )

4. Give the coordinates in the form of simple navigation goals following the simple tutorial at ros.

Primitive but necessary work, and in fact, one of the building blocks that will be re-used almost for everything to be built, I guess.

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