Robohub.org
 

Real-time appearance-based mapping in action at the Microsoft Kinect Challenge, IROS 2014


by
03 October 2014



share this:

Last month at IROS the SV-ROS team Maxed-Out won the Microsoft Kinect Challenge. In this post Mathieu Labbé describes the mapping approach the team used to help them win.

SV-ROS team “Maxed-Out” won the IROS 2014 Microsoft Kinect Challenge

One week before the IROS 2014 conference, I received an email from the Maxed-Out team telling me that they were using my open source code RTAB-Map for the Kinect Robot Navigation Contest that would be held during the conference. I am always glad to know when someone is using what I have done, so I said I would answer whatever questions they had before the contest. Since I was already in Chicago to present a paper, I met them in person at the conference and helped them with the algorithm on site before the contest … and good surprise, they won the contest! See their official press release here.

This contest featured robots (equipped only with a Kinect) navigating autonomously across multiple waypoints in a typical office environment. The first part of the contest was to map the environment so that the robot could plan trajectories in it. The robot was driven through the environment to incrementally create a 2D map (like a top view map of an office), using only its sensors. Sensors are not perfect, so maps can become misaligned over time. These errors can be minimized when the robot detects when it comes back to a previously visited area, a process called loop closure detection. This mapping approach is known as Simultaneous Localization And Mapping (SLAM). SLAM is used when the robot doesn’t have a map already built of the environment, and when it doesn’t have access to external global localization sensors (like a GPS) to localize itself. The mapping solution chosen by the SV-ROS team was my SLAM approach called RTAB-Map (Real-Time Appearance-Based Mapping).

In this article I share some of the technical details of the RTAB-Map.

The robot

The robot was an Adept MobileRobots Pioneer 3 DX equipped with a Kinect sensor. The up-facing camera was only used by the scoring computer (detecting patterns on the ceiling to localize the robot). The RTAB-Map ROS setup was based on the “Kinect + Odometry + Fake 2D laser from Kinect” configuration. The “2D laser” was simulated using the Kinect and the depthimage_to_laserscan ros-pkg. In this configuration, the robot is constrained to a plane (x,y and yaw).

R-TAB1

Source: IROS 2014

Contest environment

The challenge was held in the exhibit room in the Palmer House Hotel. Since RTAB-Map’s loop closure detection is based on visual appearance of the environment, the repetitive texture on the carpet made it very challenging. When there were only discriminative visual features on the floor (like a long hall), loop closures could be found with images from different locations, thus causing big errors in the map. To avoid this problem, just two minutes before the official mapping run, we set a parameter to ignore 30% of the bottom image for features extraction. We didn’t have the chance to test it before the official mapping run – all we could do was to cross our fingers and hope that no wrong loop closures would be found!

Contest environment

Contest environment

Filtering visual features of the floor

Filtering visual features of the floor

Results

After mapping, no wrong loop closures were found. However, the robot missed a loop closure on the bottom of the map (because the camera was not facing the same direction), causing a wall at the end of the hall. This was one case where, when exploring an unknown environment, it would be better to occasionally do a 360° turn. This would enable the system to see more images at different angles, and would result in more loop closures. However, by using rtabmap-databaseViewer and reprocessing data included in the database, we could detect a loop closure between locations before and after exploring the hall. The result was an aligned bottom corner. There was still a misalignment on the middle-top, but given the time we had, the map was good enough for the navigation part of the contest. Below are results with these remaining errors corrected. The loop closures are shown in red.

RTAB-composite2

a) After first mapping; b) Used for navigation; c) Updated results (after the challenge)

During the autonomous navigation phase, RTAB-Map was set in localization mode with the pre-built map. By detecting “loop closures” with the previous map, the robot is relocalized so it can efficiently plan its trajectories through the environment.

Updated Results

In this section, I will show a parametrization of RTAB-Map that I did after the challenge to automatically find more loop closures. The video above can be reproduced using the data here:

You can open RTAB-Map (standalone, not the ros-pkg) using the configuration file above, then set “Source from database” and select the database above. Set Source rate to 2 Hz and press start; this should reproduce the video above. Here the principal parameters modified from the defaults:

// -Filter 30% bottom of the image
// -Maximum depth of the features is 4 meters
Kp/RoiRatios=0 0 0 0.3
Kp/MaxDepth=4

// -Loop closure constraint, computed visually
LccBow/Force2D=true
LccBow/InlierDistance=0.05
LccBow/MaxDepth=4
LccBow/MinInliers=3

// -Refining visual loop closure constraint using 
//   2D icp on laser scans
LccIcp/Type=2
LccIcp2/CorrespondenceRatio=0.5
LccIcp2/VoxelSize=0

// -Disabled local loop closure detection based on time.
// -Optimize graph from the graph beginning, to 
//   have same referential when relocalizing to this 
//   map in localization mode.
RGBD/LocalLoopDetectionTime=false
RGBD/OptimizeFromGraphEnd=false

// -Extract more SURF features
SURF/HessianThreshold=60

// Run this for a description of the parameters:
$ rosrun rtabmap rtabmap --params

The following pictures show a comparison of the results with and without loop closures:

Odometry Only With Loop Closures
2D Map RTAB_7 RTAB-10
3D Cloud RTAB_8 RTAB_11
2D Map
+
3D Cloud
RTAB-9 RTAB_12
3D Cloud (download here: cloud.ply)

3D Cloud (download here: cloud.ply)

RTAB_14

3D Cloud + 2D Map (saved with map_server: map.pgm and map.yaml)

Conclusion

SV-ROS team has created a great solution for autonomous navigation and they won the IROS 2014 Kinect Navigation Contest. I’m glad that my algorithm RTAB-Map was part of it. It was really nice to meet the team – they were very motivated, enthusiastic and all their efforts were rewarded. This post has provided a technical description of the mapping approach used by the team and shows some promising results using visual features for loop closure detection on a robot equipped only with a Kinect.



tags: , , , , ,


Mathieu Labbé is the author of [RTAB-Map] (Real-Time Appearance-Based Mapping), an open source solution for large-scale online RGB-D mapping.
Mathieu Labbé is the author of [RTAB-Map] (Real-Time Appearance-Based Mapping), an open source solution for large-scale online RGB-D mapping.

            AUAI is supported by:



Subscribe to Robohub newsletter on substack



Related posts :

Muscle coordination can be mimicked by electric motors – it could lead to improved robots

  02 Nov 2026
Researchers built a physical model using ordinary electric motors to try and simulate how muscles may perform tasks.

Robot Talk Episode 168 – Advancing robotics with novel electronics, with Zlatka Stoeva

  30 Oct 2026
In the latest episode of the Robot Talk podcast, Claire chatted to Zlatka Stoeva from DZP Technologies about flexible, stretchable and soft printed electronics for dexterous robots.

Competing in RoboCup@Home and winning the 2026 best paper award: an interview with Raphael Memmesheimer

and   28 Oct 2026
Hear more about Raphael's research and his involvement in the RoboCup@Home league.

Robots in Society, Business and Culture: September 2026

We showcase a selection of robotics stories from society, business, research and culture.

Robot Talk Episode 167 – Automating construction, with Jan Petrš

  23 Oct 2026
In the latest episode of the Robot Talk podcast, Claire chatted to Jan Petrš from École Polytechnique Fédérale de Lausanne about novel robot designs for construction and architecture.

ACM SIGAI Autonomous Agents Award 2027 open for nominations

  20 Oct 2026
Nominations are solicited for the 2027 ACM SIGAI Autonomous Agents Research Award.

Powered by muscle cells, a paper-thin robot swims through watery maze

  19 Oct 2026
MIT engineers’ new aquabot offers a way to design small, efficient “biohybrid” robots.

Robot Talk Episode 166 – Evolving robot bodies and brains, with Rika Antonova

  16 Oct 2026
In the latest episode of the Robot Talk podcast, Claire chatted to Rika Antonova from the University of Cambridge about using artificial intelligence to develop complimentary robot hardware and algorithms.


↑


AUAI is supported by:







Subscribe to Robohub newsletter on substack




 















©2026.05 - Association for the Understanding of Artificial Intelligence