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.
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.