ROSCON & IROS :)

Hi Guys !

Its been a long time ! But I have been pretty busy with my internship at Bosch (and enjoying California) :)

Last month, I got the opportunity to attend 2 awesome conferences – ROSCON and IROS  in Chicago as a part of my internship at OSRF. I got to see a lot of different robots. There were some really amazing talks. I, also met a lot of people who are actively contributing to the field of robotics and made some really cool friends.

ROSCON was awesome. People from OSRF talked about ROS and Gazebo and the different kinds of problems that people face while using it with, say, in a multi-master environment. Took suggestions on how to solve those problems. They also discussed about ROS 2.0 which sounds amazing and promises to solve most of the issues that we see in ROS 1. I liked the lightening talk sessions too. People who signed up talked about how they were using ROS in their own projects. I’m not kidding when I say that a guy was working on build a dog-trainer robot. :) How cool is that! There were so many more great projects.

People also talked about some of the ROS packages like roscontrol and the navigation stack and discussed their functionalities in depth. For instance, we can now add multiple-layers while navigating an area and assign different costs to those layers as the need be. All in all, it was a really awesome experience.

At IROS, I attended the workshops and got to check out the exhibitions. I attended a workshop on autonomous driving which was super cool. A lot of techniques like vision based slam, object detection and navigation on very narrow roads and master-slave technique were talked about. I also attended a computer vision workshop which was amazing as well.

All-in-all it was a very cool and enlightening experience. I want to thank my mentors- Steve and Carlos from OSRF for teaching me a ton of new stuff throughout the internship and being so patient with me :). Thanks! I would also like to thank Gnome and the OPW committee for giving me and many others this great opportunity.

Until next time … :)

Enhancements for Gazebo

Hi all!!

For the past couple of weeks, I have been digging deep into the gazebo source code. It is indeed challenging and an exhilarating experience to work with an intricate system like this one.

I have been working on a couple of enhancements for the better representation of the OSM data in Gazebo.

OSM data has a lot of information with regards to the types of roads, and the number of lanes it has. Gazebo supported only a single road texture, and thus, the information from the data could not be used to its fullest capacity. In order to remedy this situation, I have been working on adding textures to the roads in gazebo. We have added about 6 distinct road textures which respond to various tags depending on the type of the roads, i.e., motorway, trunk, primary, secondary, residential and tertiary; depending on the number of lanes, (1, 2, 4, 6); it also provides representation for footway and pedestrian roads.

default_gzclient_camera(1)-2014-04-01T14_04_57.980448

Road textures depending upon its type

default_gzclient_camera(1)-2014-04-01T14_17_53.852697

Road textures depending upon the number of lanes

One  of the major issues we faced during the simulation of maps in Gazebo was a suitable and quick way to render buildings of various shapes. The second enhancement addresses this issue. I am working on adding extruded polylines as a standard model type in gazebo which would form a closed polygon given a list of 2D vertices. These polylines would have a height associated with them, making them 3-D.  This part needs some more work.

For the next couple of weeks, I will be working on perfecting these enhancements and also, updating the plug-in in order to be able to represent information using these enhancements.

The Map!

Hi guys !

In the past few weeks I have been able to represent the buildings in the form of polygons with different colors to define their significance. For example, schools and universities are represented by purple polygons, while normal buildings are represented by red polygons and, so on. Also, parking aisles are represented by yellow polygons.

I have some really good pictures of my work for you! On the right you have the pictures of the area from open street maps and on the left, the pictures from the gazebo plug-in

combine_images

 

Lehigh University Campus

newCA1

The Bayshore Freeway, CA

Currently, I am working on adding textures to the roads. I will also be working on a faster way to represent buildings in gazebo.

Buildings and Features !

Hi guys!

I wanted to share with you what I have been doing for the past weeks.

As indicated in the previous post, I have added some more features to the maps.  You’ll be able to see that with the pictures below. I have added buildings, stop signs, parking spaces, traffic signals, yield signs , etc..

lehighRoads   Lehigh university campus- roads only     Lehigh university campus

Lehigh University Campus, Bethlehem, PA

map        default_gzclient_camera(0)-2014-02-10T14_14_27.598523       default_gzclient_camera(0)-2014-02-10T12_20_04.412926

West El Camino Real Highway – South Shoreline Boulevard intersection, CA

default_gzclient_camera(0)-2014-02-10T14_55_07.698638            default_gzclient_camera(0)-2014-02-10T14_49_50.369821

Some Features: Bus stop(left);  Stop sign(right)

I have also modified the python tool which has both command line compatibility and an interactive interface for the users. You can specify the area you want to visualize using latitude and longitudes. You have the option to add/delete models and/or roads from the world. There is also an option to generate an image of the map of the area you selected. All the files can be named from the command line and also output directory can be specified.

For the next couple of weeks, I plan to iron out the bugs and errors in the layout of features and roads and add new functionality to the tool.

Thanks !

That’s the way!!

Hi!! After a lot of delay, I finally started off my intern-ship last week!

Well, for starters, you can find my project here

I have been able to get the roads simulated on Gazebo’s simulator. Yay !!! Here are some pictures for you !

Image

West El Camino Real Highway, CA (Mountview area)

Image

W. 4th Street , Bethlehem, PA

I used the python version of Open Street Map (OSM) API v6.0 to access the OSM databases. These databases were then used to extract information about the roads in the specified areas and their widths, depending on their type. The areas can be specified by giving the latitudinal and longitudinal coordinates of the bounding boxes of that area.

To build world files in gazebo, we need them to be reflected in the sdf format used by the simulator. I tackled this issue by building a class which lets you make an sdf file for working with gazebo based on what is needed in the your simulated world.

The two classes are independent but work together to create a world file for gazebo, simulating the area of map required.

What’s next you say! Well, now that we can simulate roads, we are planning to add texture and lanes to these roads. Also, we are going to go ahead and add more features to the map, like stop signs, fire hydrants, buildings , houses and the so on. These features might help localize the robots better. The aim is to provide the robots with the simulation of the world map which is as close to real as possible.

Please feel free to leave behind your suggestions and comments to make this project better!

Lastly, I want to take a moment to thank everyone at GNOME and OSRF who worked with me while I got the necessary paperwork done!

OPW Intern at OSRF !!!

Well, that has to be one of greatest news I have ever gotten. Being one of the 4 participants to be selected for an internship with the OSRF is like the best thing ever! I’m looking forward to make a contribution of my own to the amazing field of robotics! :)

I have been lucky as to get the support of some of best people around! I want to thank Gnome and OSRF for considering me for the internship. I want to thank my adviser, Prof. John Spletzer for encouraging  me to apply for the internship and Tully Foote for taking the time to introduce me to OPW, OSRF and  helping me to find the mentor I could work with in my area of interest. And last but not the least, Nate Koenig , you are the best and most patient mentor ever! Thanks a ton for working with me to setup the OSM project proposal and the contribution, and, so quickly at that ! ;)

About the project! I will be working on building an Open Street Maps (OSM) API plugin for Gazebo Simulator. I plan to start out by building a simple program to fetch road data of familiar areas from Open Street Maps and, plot them out to check their accuracy. This will help me get to know the intricacies of using OSM C++ API. I have already done this using Python 2.x and it works! :) Then I will be writing a plugin for Gazebo to do the same. There’s a lot more stuff to do, but I’ll be initially focusing on these two points for now.

I plan to post some road maps for you soon!! Don’t get lost!! Be sure to find your way back!

Thanks Again!