Files
rtabmap/index.html
T

328 lines
20 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="description" content="RTAB-Map : Real-Time Appearance-Based Mapping">
<link rel="stylesheet" type="text/css" media="screen" href="stylesheets/stylesheet.css">
<title>RTAB-Map</title>
</head>
<body>
<!-- HEADER -->
<div id="header_wrap" class="outer">
<header class="inner">
<a id="forkme_banner" href="https://github.com/introlab/rtabmap">View on GitHub</a>
<h1 id="project_title">RTAB-Map</h1>
<h2 id="project_tagline">Real-Time Appearance-Based Mapping</h2>
<section id="downloads">
<a class="zip_download_link" href="https://github.com/introlab/rtabmap/zipball/master">Download this project as a .zip file</a>
<a class="tar_download_link" href="https://github.com/introlab/rtabmap/tarball/master">Download this project as a tar.gz file</a>
</section>
</header>
</div>
<!-- MAIN CONTENT -->
<div id="main_content_wrap" class="outer">
<section id="main_content" class="inner">
<p><a href="http://www.youtube.com/watch?v=AMLwjo80WzI"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/onlinergbdslam.jpeg" alt="video"></a></p>
<h2>
<a id="overview" class="anchor" href="#overview" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Overview</h2>
<p><img src="https://raw.githubusercontent.com/introlab/rtabmap/master/guilib/src/images/RTAB-Map.png" alt="RTAB-Map logo" title="RTAB-Map" align="left" width="120">
<strong>RTAB-Map</strong> (Real-Time Appearance-Based Mapping) is a RGB-D Graph-Based SLAM approach based on an incremental appearance-based loop closure detector. The loop closure detector uses a bag-of-words approach to determinate how likely a new image comes from a previous location or a new location. When a loop closure hypothesis is accepted, a new constraint is added to the map's graph, then a graph optimizer minimizes the errors in the map. A memory management approach is used to limit the number of locations used for loop closure detection and graph optimization, so that real-time constraints on large-scale environnements are always respected. RTAB-Map can be used alone with a hand-held Kinect or stereo camera for 6DoF RGB-D mapping, or on a robot equipped with a laser rangefinder for 3DoF mapping.</p>
<ul>
<li>
<strong>RGB-D mapping</strong>
<ul>
<li>M. Labbé and F. Michaud, “<a href="https://introlab.3it.usherbrooke.ca/mediawiki-introlab/images/e/eb/Labbe14-IROS.pdf">Online Global Loop Closure Detection for Large-Scale Multi-Session Graph-Based SLAM</a>,” in <em>Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems</em>, 2014. (<a href="http://ieeexplore.ieee.org/document/6942926/">IEEE Xplore</a>)</li>
<li>Results shown in this paper can be reproduced by the <a href="https://github.com/introlab/rtabmap/wiki/Multi-session">Multi-session mapping</a> tutorial.</li>
</ul>
</li>
<li>
<strong>Loop closure detection</strong>:
<ul>
<li>M. Labbé and F. Michaud, “<a href="https://introlab.3it.usherbrooke.ca/mediawiki-introlab/images/b/bc/TRO2013.pdf">Appearance-Based Loop Closure Detection for Online Large-Scale and Long-Term Operation</a>,” in <em>IEEE Transactions on Robotics</em>, vol. 29, no. 3, pp. 734-745, 2013. (<a href="http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6459608">IEEE Xplore</a>)</li>
<li>M. Labbé and F. Michaud, “<a href="https://introlab.3it.usherbrooke.ca/mediawiki-introlab/images/f/f0/Labbe11memory.pdf">Memory management for real-time appearance-based loop closure detection</a>,” in <em>Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems</em>, 2011, pp. 12711276. (<a href="http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6094602">IEEE Xplore</a>)</li>
<li>Visit <a href="https://introlab.3it.usherbrooke.ca/mediawiki-introlab/index.php/RTAB-Map">RTAB-Map's page on IntRoLab</a> for detailed information on the loop closure detection approach and related datasets.</li>
</ul>
</li>
</ul>
<h2>
<a id="install" class="anchor" href="#install" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Install</h2>
<p><a href="https://github.com/introlab/rtabmap_ros#rtabmap_ros"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/logos/ros.png" alt="ROS" width="50"></a> <a href="https://github.com/introlab/rtabmap/wiki/Installation#ubuntu"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/logos/ubuntu.png" alt="Ubuntu" width="50"></a> <a href="https://github.com/introlab/rtabmap/wiki/Installation#macosx"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/logos/apple.png" alt="Mac OS X" width="50"></a> <a href="https://github.com/introlab/rtabmap/wiki/Installation#windows"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/logos/windows.png" alt="Windows" width="50"></a> <a href="https://play.google.com/store/apps/details?id=com.introlab.rtabmap"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/logos/tango.png" alt="Google Tango" width="50"></a>  <a href="https://github.com/introlab/rtabmap/wiki/Installation#raspberrypi"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/logos/raspberrypi.png" alt="Raspberry Pi" width="40"></a></p>
<ul>
<li>
<a href="https://github.com/introlab/rtabmap/wiki/Installation">Installation</a> instructions. </li>
<li>
<a href="https://github.com/introlab/rtabmap/wiki/Tutorials">Tutorials</a>.</li>
<li>
<a href="https://github.com/introlab/rtabmap/wiki/Tools">Tools</a>.</li>
<li>For <strong>ROS</strong> users, take a look to <a href="http://wiki.ros.org/rtabmap">rtabmap</a> page on the ROS wiki for a package overview. See also <a href="http://wiki.ros.org/rtabmap_ros/Tutorials/SetupOnYourRobot">SetupOnYourRobot</a> to know how to integrate RTAB-Map on your robot.</li>
</ul>
<h3>
<a id="troubleshooting" class="anchor" href="#troubleshooting" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Troubleshooting</h3>
<p><strong>Standalone</strong></p>
<ul>
<li>Visit the <a href="https://github.com/introlab/rtabmap/wiki">wiki</a>.</li>
<li>Ask a question on the <a href="http://official-rtab-map-forum.67519.x6.nabble.com/">RTAB-Map Forum</a>.</li>
<li>Post an <a href="https://github.com/introlab/rtabmap/issues">issue on GitHub</a> </li>
<li>For the loop closure detection approach, visit <a href="https://introlab.3it.usherbrooke.ca/mediawiki-introlab/index.php/RTAB-Map">RTAB-Map on IntRoLab website</a>
</li>
</ul>
<p><strong>ROS</strong></p>
<ul>
<li>Visit <a href="http://wiki.ros.org/rtabmap_ros">rtabmap_ros</a> wiki page for nodes documentation, demos and tutorials on ROS. </li>
<li>Ask a question on <a href="http://answers.ros.org/questions/scope:all/sort:activity-desc/tags:rtabmap_ros/page:1/">answers.ros.org</a> with <strong>rtabmap</strong> or <strong>rtabmap_ros</strong> tag.</li>
</ul>
<h2>
<a id="license" class="anchor" href="#license" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>License</h2>
<ul>
<li>If OpenCV is built <strong>without the nonfree</strong> module, RTAB-Map can be used under the permissive BSD License.</li>
<li>If OpenCV is built <strong>with the nonfree</strong> module, RTAB-Map is free for research only because it depends on <strong>SURF</strong> and <strong>SIFT</strong> features. <strong>SIFT</strong> and <strong>SURF</strong> are not free for commercial use.
<ul>
<li>SURF noncommercial notice: <a href="http://www.vision.ee.ethz.ch/%7Esurf/download.html">http://www.vision.ee.ethz.ch/~surf/download.html</a>
</li>
<li>SIFT patent: <a href="http://www.cs.ubc.ca/%7Elowe/keypoints/">http://www.cs.ubc.ca/~lowe/keypoints/</a>
</li>
</ul>
</li>
</ul>
<h2>
<a id="author" class="anchor" href="#author" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Author</h2>
<ul>
<li>
<p><a href="https://introlab.3it.usherbrooke.ca/mediawiki-introlab/index.php?title=Mathieu_Labb%C3%A9&amp;setlang=en">Mathieu Labbé</a></p>
<ul>
<li><a href="http://introlab.3it.usherbrooke.ca/mediawiki-introlab/index.php/RTAB-Map">RTAB-Map's page at IntRoLab</a></li>
<li><a href="https://introlab.3it.usherbrooke.ca/mediawiki-introlab/index.php/RTAB-Map#Publications">Papers</a></li>
<li>Similar projects: <a href="http://introlab.github.io/find-object/">Find-Object</a>
</li>
<li>
<p>If you find this project useful and to help me keeping this project updated, you can buy me a cup of coffee with the link below :P. It is also nice to receive new sensors to test with and even supporting them in RTAB-Map for quick SLAM demonstrations (e.g., stereo cameras, RGB-D cameras, 2D/3D LiDARs). Thanks <a href="https://www.stereolabs.com/">Stereolabs</a> for the <a href="https://www.stereolabs.com/zed/specs/">ZED</a>, thanks Walt (with Tango coupon discount) and Google for <a href="https://store.google.com/product/tango_tablet_development_kit">Google Tango Development Kits</a> and thanks to all contributors (for donations, reporting bugs, helping me fixing bugs or making pull requests).</p>
<p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=X8TCXXHHDL62Q"><img src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" alt="paypal"></a></p>
</li>
</ul>
</li>
</ul>
<h2>
<a id="whats-new" class="anchor" href="#whats-new" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>What's new</h2>
<h3>
<a id="october-2016" class="anchor" href="#october-2016" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>October 2016</h3>
<ul>
<li>
<p>Application example: See how RTAB-Map is helping nuclear dismantling with Areva's MANUELA project (Mobile Apparatus for Nuclear Expertise and Localisation Assistance):</p>
<p><a href="https://youtu.be/bHsNVoRkK2w"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/manuela.jpg" alt="video" title="video"></a></p>
</li>
<li><p><strong>Version 0.11.11</strong>: Visit the <a href="https://github.com/introlab/rtabmap/releases/0.11.11">release page</a> for more info!</p></li>
</ul>
<h3>
<a id="july-2016" class="anchor" href="#july-2016" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>July 2016</h3>
<ul>
<li>
<strong>Version 0.11.8</strong>: Visit the <a href="https://github.com/introlab/rtabmap/releases/0.11.8">release page</a> for more info!</li>
</ul>
<h3>
<a id="june-2016" class="anchor" href="#june-2016" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>June 2016</h3>
<ul>
<li>
<strong>Version 0.11.7</strong>: Visit the <a href="https://github.com/introlab/rtabmap/releases/0.11.7">release page</a> for more info!</li>
</ul>
<h3>
<a id="february-2016" class="anchor" href="#february-2016" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>February 2016</h3>
<ul>
<li>
<p>I'm pleased to announce that RTAB-Map is now on <strong>Project Tango</strong>. The app is <a href="https://play.google.com/store/apps/details?id=com.introlab.rtabmap">available</a> on Google Play Store.</p>
<p><a href="https://youtu.be/BE8kMkrCeuA"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/rtabmap-tango.jpeg" alt="video" title="video"></a></p>
</li>
<li>
<p>Screenshots:</p>
<p><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/rtabmap-tango.png" alt="rtabmap tango 1" width="600"></p>
<p><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/rtabmap-tango2.png" alt="rtabmap tango 2" width="600"></p>
</li>
</ul>
<h3>
<a id="october-2015" class="anchor" href="#october-2015" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>October 2015</h3>
<ul>
<li>
<strong>Version 0.10.10</strong>: Visit the <a href="https://github.com/introlab/rtabmap/releases/0.10.10">release page</a> for more info!</li>
</ul>
<h3>
<a id="september-2015" class="anchor" href="#september-2015" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>September 2015</h3>
<ul>
<li>
<p><strong>Version 0.10.6</strong>: Integration of a robust graph optimization approach called <a href="https://openslam.org/vertigo.html">Vertigo</a> (which uses <a href="https://openslam.org/g2o.html">g2o</a> or <a href="https://collab.cc.gatech.edu/borg/gtsam">GTSAM</a>), see <a href="https://github.com/introlab/rtabmap/wiki/Robust-Graph-Optimization">this page</a>:</p>
<p><a href="http://www.youtube.com/watch?v=A8v70DZxLF8"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/robust_graph_optimization.jpg" alt="video" title="video"></a></p>
</li>
</ul>
<h3>
<a id="august-2015" class="anchor" href="#august-2015" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>August 2015</h3>
<ul>
<li>
<p><strong>Version 0.10.5</strong>: New example to export data to <a href="http://meshlab.sourceforge.net/">MeshLab</a> in order to add textures on a created mesh with low polygons, see <a href="https://github.com/introlab/rtabmap/wiki/Export-Raster-Layers-to-MeshLab">this page</a>:</p>
<p><a href="https://github.com/introlab/rtabmap/wiki/Export-Raster-Layers-to-MeshLab"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/Tutorials/Texture/texture_tutorial.jpeg" alt="Texture tutorial" width="400"></a></p>
</li>
</ul>
<h3>
<a id="october-2014" class="anchor" href="#october-2014" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>October 2014</h3>
<ul>
<li>
<p>New example to speed up RTAB-Map's odometry, see <a href="https://github.com/introlab/rtabmap/wiki/Change-parameters">this page</a>:</p>
<p><a href="http://www.youtube.com/watch?v=Bh8WZsU4YC8"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/speedup.jpeg" alt="video" title="video"></a></p>
</li>
</ul>
<h3>
<a id="september-2014" class="anchor" href="#september-2014" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>September 2014</h3>
<ul>
<li>
<p>At <strong>IROS 2014</strong> in Chicago, a team using RTAB-Map for SLAM <strong>won</strong> the Kinect navigation contest held during the conference. See their press release for more details: <a href="http://www.meetup.com/SV-ROS-users/pages/Winning_the_IROS2014_Microsoft_Connect_Challenge/">Winning the IROS2014 Microsoft Kinect Challenge</a>. I also added the Wiki page <a href="https://github.com/introlab/rtabmap/wiki/IROS-2014-Kinect-Challenge">IROS2014KinectChallenge</a> showing in details the RTAB-Map part used in their solution.</p>
<p><a href="http://www.youtube.com/watch?v=_qiLAWp7AqQ"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/iros2014.jpeg" alt="video" title="video"></a></p>
</li>
</ul>
<h3>
<a id="august-2014" class="anchor" href="#august-2014" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>August 2014</h3>
<ul>
<li>
<p>Here a comparison between reality and what can be shown in RVIZ (you can <a href="http://wiki.ros.org/rtabmap_ros#Robot_mapping_with_Find-Object">reproduce this demo here</a>):</p>
<p><a href="http://www.youtube.com/watch?v=o1GSQanY-Do"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/findobject.jpeg" alt="video" title="video"></a></p>
</li>
</ul>
<h3>
<a id="july-2014" class="anchor" href="#july-2014" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>July 2014</h3>
<ul>
<li>
<p>Added <a href="http://wiki.ros.org/rtabmap_ros/Tutorials/SetupOnYourRobot">Setup on your robot</a> wiki page to know how to integrate RTAB-Map on your ROS robot. Multiple sensor configurations are shown but the optimal configuration is to have a 2D laser, a Kinect-like sensor and odometry.</p>
<p><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/Tutorials/MultiSession/4.png" alt="AZIMUT3" align="left" width="300"></p>
<table>
<thead>
<tr>
<th>Onboard mapping</th>
<th>Remote mapping</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="http://wiki.ros.org/rtabmap_ros/Tutorials/SetupOnYourRobot#Bring-up_your_robot"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/rgbd/setupA.png" alt="" width="300"></a></td>
<td><a href="http://wiki.ros.org/rtabmap_ros/Tutorials/SetupOnYourRobot#Remote_mapping"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/rgbd/remoteMapping.png" alt="" width="300"></a></td>
</tr>
</tbody>
</table>
</li>
</ul>
<h3>
<a id="june-2014" class="anchor" href="#june-2014" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>June 2014</h3>
<ul>
<li>
<p>I'm glad to announce that my paper submitted to <a href="http://www.iros2014.org/">IROS 2014</a> was accepted! <a href="https://introlab.3it.usherbrooke.ca/mediawiki-introlab/images/e/eb/Labbe14-IROS.pdf">This paper</a> explains in details how RGB-D mapping with RTAB-Map is done. Results shown in this paper can be reproduced by the <a href="https://github.com/introlab/rtabmap/wiki/Multi-session">Multi-session mapping</a> tutorial:</p>
<p><a href="https://github.com/introlab/rtabmap/wiki/Multi-session"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/Tutorials/MultiSession/3.png" alt="Multi-session mapping" width="600"></a></p>
</li>
</ul>
<h2>
<a id="videos" class="anchor" href="#videos" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Videos</h2>
<ul>
<li>
<p><strong>RGBD-SLAM</strong></p>
<p><a href="http://www.youtube.com/watch?v=Nm2ggyAW4rw"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/desktop.jpeg" alt="video" title="video"></a></p>
<p><a href="http://www.youtube.com/watch?v=joV7VCvGrKM"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/globalonly.jpeg" alt="video" title="video"></a></p>
</li>
<li>
<p><strong>Appearance-based loop closure detection</strong></p>
<p><a href="http://www.youtube.com/watch?v=CAk-QGMlQmI"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/rtabmap.jpeg" alt="video" title="video"></a></p>
<p><a href="http://www.youtube.com/watch?v=1dImRinTJSE"><img src="https://raw.githubusercontent.com/wiki/introlab/rtabmap/doc/video_screenshots/newcollegeomni.jpeg" alt="video" title="video"></a></p>
</li>
<li><p>More loop closure detection videos <a href="http://introlab.3it.usherbrooke.ca/mediawiki-introlab/index.php/RTAB-Map">here</a>.</p></li>
</ul>
</section>
</div>
<!-- FOOTER -->
<div id="footer_wrap" class="outer">
<footer class="inner">
<p class="copyright">RTAB-Map maintained by <a href="https://github.com/introlab">introlab</a></p>
<p>Published with <a href="https://pages.github.com">GitHub Pages</a></p>
</footer>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-56986679-1");
pageTracker._trackPageview();
} catch(err) {}
</script>
</body>
</html>