<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SLAM &#8211; Robohub</title>
	<atom:link href="https://robohub.org/tag/slam/feed/" rel="self" type="application/rss+xml" />
	<link>https://robohub.org</link>
	<description>Connecting the robotics community to the world</description>
	<lastBuildDate>Sun, 04 Oct 2026 22:14:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>Rapid outdoor/indoor 3D mapping with a Husky UGV</title>
		<link>https://robohub.org/rapid-outdoorindoor-3d-mapping-with-a-husky-ugv/</link>
		
		<dc:creator><![CDATA[Clearpath Robotics]]></dc:creator>
		<pubDate>Sun, 09 Jul 2017 21:16:21 +0000</pubDate>
				<category><![CDATA[tutorials]]></category>
		<category><![CDATA[exploration & mining]]></category>
		<category><![CDATA[mapping & surveillance]]></category>
		<category><![CDATA[SLAM]]></category>
		<guid isPermaLink="false">http://robohub.org/rapid-outdoorindoor-3d-mapping-with-a-husky-ugv/</guid>

					<description><![CDATA[<p>The need for fast, accurate 3D mapping solutions has quickly become a reality for many industries wanting to adopt new technologies in AI and automation. New applications requiring these 3D mapping platforms include surveillance, mining, automated measurement &#38; inspection, construction management &#38; decommissioning, and photo-realistic rendering. Here at Clearpath Robotics, we decided to team up [&#8230;]</p>
<p>The post <a rel="nofollow external noopener noreferrer" href="https://www.clearpathrobotics.com/2017/07/rapid-outdoorindoor-3d-mapping-husky-ugv/" data-wpel-link="external" target="_blank">Rapid Outdoor/Indoor 3D Mapping with a Husky UGV</a> appeared first on <a rel="nofollow external noopener noreferrer" href="https://www.clearpathrobotics.com/" data-wpel-link="external" target="_blank">Clearpath Robotics</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" src="http://robohub.org/wp-content/uploads/2017/07/ClearpathSLAM.jpg" alt="" width="1080" height="675" class="alignnone size-full wp-image-81386" srcset="https://robohub.org/wp-content/uploads/2017/07/ClearpathSLAM.jpg 1080w, https://robohub.org/wp-content/uploads/2017/07/ClearpathSLAM-425x266.jpg 425w, https://robohub.org/wp-content/uploads/2017/07/ClearpathSLAM-768x480.jpg 768w, https://robohub.org/wp-content/uploads/2017/07/ClearpathSLAM-1024x640.jpg 1024w" sizes="(max-width: 1080px) 100vw, 1080px" /><strong>by Nicholas Charron</strong></p>
<p>The need for fast, accurate 3D mapping solutions has quickly become a reality for many industries wanting to adopt new technologies in AI and automation. New applications requiring these 3D mapping platforms include surveillance, mining, automated measurement &amp; inspection, construction management &amp; decommissioning, and photo-realistic rendering. Here at Clearpath Robotics, we decided to team up with <a href="http://mandalarobotics.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Mandala Robotics</a> to show how easily you can implement 3D mapping on a Clearpath robot.</p>
<p><span id="more-81346"></span></p>
<h2>3D Mapping Overview</h2>
<p>3D mapping on a mobile robot requires Simultaneous Localization and Mapping (SLAM), for which there are many different solutions available. Localization can be achieved by fusing many different types of pose estimates. Pose estimation can be done using combinations of GPS measurements, wheel encoders, inertial measurement units, 2D or 3D scan registration, optical flow, visual feature tracking and others techniques. Mapping can be done simultaneously using the lidars and cameras that are used for scan registration and for visual position tracking, respectively. This allows a mobile robot to track its position while creating a map of the environment. Choosing which SLAM solution to use is highly dependent on the application and the environment to be mapped. Although many 3D SLAM software packages exist and cannot all be discussed here, there are few 3D mapping hardware platforms that offer full end-to-end 3D reconstruction on a mobile platform.</p>
<h2>Existing 3D Mapping Platforms</h2>
<p>We will briefly highlight some more popular alternatives of commercialized 3D mapping platforms that have one or many lidars, and in some cases optical cameras, for point cloud data collection. It is important to note that there are two ways to collect a 3D point cloud using lidars:</p>
<p>1. Use a 3D lidar which consists of one device with multiple stacked horizontally laser beams<br />
2. Tilt or rotate a 2D lidar to get 3D coverage</p>
<p>Tilting of a 2D lidar typically refers to back-and-forth rotating of the lidar about its horizontal plane, while rotating usually refers to continuous 360 degree rotation of a vertically or horizontally mounted lidar.</p>
<table>
<tbody>
<tr>
<td width="33%"><img decoding="async" src="https://s3.amazonaws.com/assets.clearpathrobotics.com/wp-content/uploads/2017/07/07131148/MultiSense_SL.jpg" /></td>
<td width="33%"><img decoding="async" src="https://s3.amazonaws.com/assets.clearpathrobotics.com/wp-content/uploads/2017/07/07131138/3DLS-K2-L.jpg" /></td>
<td width="33%"><img decoding="async" src="https://s3.amazonaws.com/assets.clearpathrobotics.com/wp-content/uploads/2017/07/07131244/Cartographerbackpack.jpg" /></td>
</tr>
</tbody>
</table>
<p>Example 3D Mapping Platforms: 1. MultiSense SL (Left) by Carnegie Robotics, 2. 3DLS-K (Middle) by Fraunhofer IAIS Institute, 3. Cartographer Backpack (Right) by Google.</p>
<p><strong>1. MultiSense SL</strong></p>
<p>The <a href="http://files.carnegierobotics.com/products/MultiSense_SL/MultiSense_SL_brochure.pdf" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">MultiSense SL</a> was developed by Carnegie Robotics and provides a compact and lightweight 3D data collection unit for researchers. The unit has a tilting Hokuyo 2D lidar, a stereo camera, LED lights, and is pre-calibrated for the user. This allows for the generation of coloured point clouds. This platform comes with a full software development kit (SDK), open source ROS software, and is the sensor of choice for the DARPA Robotics Challenge for humanoid robots.</p>
<p><strong>2. 3DLS-K</strong></p>
<p>The <a href="http://www.3d-scanner.net/datasheet/3DLS_Flyer_kont_eng.pdf" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">3DLS-K</a> is a dual-tilting unit made by Fraunhofer IAIS Institute with the option of using SICK LMS-200 or LMS-291 lidars. Fraunhofer IAIS also offers <a href="http://www.3d-scanner.net/index.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">other configurations</a> with continuously rotating 2D SICK or Hokuyo lidars. These systems allow for the collection of non-coloured point clouds. With the purchase of these units, a full application program interface (API) is available for configuring the system and collecting data.</p>
<p><strong>3. Cartographer Backpack</strong></p>
<p>The <a href="https://opensource.googleblog.com/2016/10/introducing-cartographer.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Cartographer Backpack</a> is a mapping unit with two static Hokuyo lidars (one horizontal and one vertical) and an on-board computer. Google released <a href="https://github.com/googlecartographer" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">cartographer software</a> as an open source library for performing 3D mapping with multiple possible sensor configurations. The Cartographer Backpack is an example of a possible configuration to map with this software. Cartographer allows for integration of multiple 2D lidars, 3D lidars, IMU and cameras, and is also fully supported in ROS. <a href="https://google-cartographer-ros.readthedocs.io/en/latest/data.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Datasets</a> are also publicly available for those who want to see mapping results in ROS.</p>
<h2>Mandala Mapping – System Overview</h2>
<img decoding="async" src="https://s3.amazonaws.com/assets.clearpathrobotics.com/wp-content/uploads/2017/07/07130441/nicks_robot_close_web.png" />
<p>Thanks to the team at Mandala Robotics, we got our hands on one of their 3D mapping units to try some mapping on our own. This unit consists of a mount for a rotating vertical lidar, a fixed horizontal lidar, as well as an onboard computer with an Nvidia GeForce GTX 1050 Ti GPU. The horizontal lidar allows for the implementation of 2D scan registration as well as 2D mapping and obstacle avoidance. The vertical rotating lidar is used for acquiring the 3D point cloud data. In our implementation, real-time SLAM was performed solely using 3D scan registration (more on this later) specifically programmed for full utilization of the onboard GPU. The software used to implement this mapping can be found on the <a href="https://github.com/mandalarobotics/mandala-mapping" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">mandala-mapping github repository</a>.</p>
<p>Scan registration is the process of combining (or stitching) together two subsequent point clouds (either in 2D or 3D) to estimate the change in pose between the scans. This results in motion estimates to be used in SLAM and also allows a new point cloud to be added to an existing in order to build a map. This process is achieved by running iterative closest point (ICP) between the two subsequent scans. ICP performs a closest neighbour search to match all points from the reference scan to a point on the new scan. Subsequently, optimization is performed to find rotation and translation matrices that minimise the distance between the closest neighbours. By iterating this process, the result converges to the true rotation and translation that the robot underwent between the two scans. This is the process that was used for 3D mapping in the following demo.</p>
<p>Mandala Robotics has also released additional examples of GPU computing tasks useful for robotics and SLAM. These examples can be found <a href="https://github.com/JanuszBedkowski/gpu_computing_in_robotics" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">here</a>.</p>
<h2>Mandala Mapping Results</h2>
<p>The following video shows some of our results from mapping areas within the Clearpath office, lab and parking lot. The datasets collected for this video can be downloaded <a href="https://s3.amazonaws.com/CPR_PUBLIC/datasets.tar.gz" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">here</a>.</p>
<p><iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/gpJlrqSyIJo" frameborder="0" allowfullscreen></iframe></p>
<p>The Mandala Mapping software was very easy to get up and running for someone with basic knowledge in ROS. There is one launch file which runs the Husky base software as well as the 3D mapping. Initiating each scan can be done by sending a simple scan request message to the mapping node, or by pressing one button on the joystick used to drive the Husky. Furthermore, with a little more ROS knowledge, it is easy to incorporate autonomy into the 3D mapping. <a href="https://github.com/nickcharron/mandala-mapping" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Our forked repository</a> shows how a short C++ script can be written to enable constant scan intervals while navigating in a straight line. Alternatively, one could easily incorporate 2D SLAM such as <a href="http://wiki.ros.org/gmapping" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">gmapping</a> together with the <a href="http://wiki.ros.org/move_base" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">move_base package</a> in order to give specific scanning goals within a map.</p>
<h2>Why use Mandala Mapping on your robot?</h2>
<p>If you are looking for a quick and easy way to collect 3D point clouds, with the versatility to use multiple lidar types, then this system is a great choice. The hardware work involved with setting up the unit is minimal and well documented, and it is preconfigured to work with your Clearpath Husky. Therefore, you can be up and running with ROS in a few days! The mapping is done in real time, with only a little lag time as your point cloud size grows, and it allows you to visualize your map as you drive.</p>
<p>The downside to this system, compared to the MultiSense SL for example, is that you cannot yet get a coloured point cloud since no cameras have been integrated into this system. However, Mandala Robotics is currently in the beta testing stage for a similar system with an additional 360 degree camera. This system uses the <a href="https://www.ptgrey.com/ladybug5-360-degree-usb3-spherical-camera-systems" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Ladybug5</a> and will allow RGB colour to be mapped to each of the point cloud elements. Keep an eye out for a future Clearpath blogs in case we get our hands on one of these systems! All things considered, the Mandala Mapping kit offers a great alternative to the other units aforementioned and fills many of the gaps in functionality of these systems.</p>
<p>The post <a rel="nofollow external noopener noreferrer" href="https://www.clearpathrobotics.com/2017/07/rapid-outdoorindoor-3d-mapping-husky-ugv/" data-wpel-link="external" target="_blank">Rapid Outdoor/Indoor 3D Mapping with a Husky UGV</a> appeared first on <a rel="nofollow external noopener noreferrer" href="https://www.clearpathrobotics.com/" data-wpel-link="external" target="_blank">Clearpath Robotics</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How a challenging aerial environment sparked a business opportunity</title>
		<link>https://robohub.org/how-a-challenging-aerial-environment-sparked-a-business-opportunity/</link>
		
		<dc:creator><![CDATA[Max Ruffo]]></dc:creator>
		<pubDate>Tue, 30 May 2017 14:30:01 +0000</pubDate>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[mapping & surveillance]]></category>
		<category><![CDATA[SLAM]]></category>
		<guid isPermaLink="false">http://robohub.org/how-a-challenging-aerial-environment-sparked-a-business-opportunity/</guid>

					<description><![CDATA[We develop the fastest, smallest and lightest distance sensors for advanced robotics in challenging environments. These sensors are born from a fruitful collaboration with CERN while developing flying indoor inspection systems. How we began started with a challenge: the European Centre for Nuclear Research (CERN) asked if we could use drones to perform fully autonomous [&#8230;]]]></description>
										<content:encoded><![CDATA[<p class="project-description"><a href="http://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale.jpg" data-wpel-link="internal"><img decoding="async" class="aligncenter size-full wp-image-78858" src="http://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale.jpg" alt="" width="1200" height="1200" srcset="https://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale.jpg 1200w, https://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale-290x290.jpg 290w, https://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale-425x425.jpg 425w, https://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale-768x768.jpg 768w, https://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale-1024x1024.jpg 1024w, https://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale-220x220.jpg 220w, https://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale-32x32.jpg 32w, https://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale-50x50.jpg 50w, https://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale-64x64.jpg 64w, https://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale-96x96.jpg 96w, https://robohub.org/wp-content/uploads/2017/05/Image-1-TeraRanger-One-Scale-128x128.jpg 128w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></p>
<p class="project-description"><em>We develop the fastest, smallest and lightest distance sensors for advanced robotics in challenging environments. These sensors are born from a fruitful collaboration with CERN while developing flying indoor inspection systems.</em></p>
<p><span id="more-78346"></span></p>
<hr class="xh2  ">
<p><span style="font-weight: 400;">How we began started with a challenge: the </span>European Centre for Nuclear Research (CERN)<span style="font-weight: 400;"> asked if we could use drones to perform fully autonomous inspections within the tunnel of the Large Hadron Collider. Now if you haven’t seen it, it’s a complex environment; perhaps one of the most unfriendly environments imaginable for fully autonomous drone flight. But we accepted the mission, rolled-up our sleeves, and got to work. As you can imagine, the mission was very challenging! </span></p>
<div id="attachment_78641" style="width: 601px" class="wp-caption aligncenter"><a href="http://robohub.org/wp-content/uploads/2017/05/cern.jpg" data-wpel-link="internal"><img decoding="async" aria-describedby="caption-attachment-78641" class="wp-image-78641 size-full" src="http://robohub.org/wp-content/uploads/2017/05/cern.jpg" alt="" width="591" height="500" srcset="https://robohub.org/wp-content/uploads/2017/05/cern.jpg 591w, https://robohub.org/wp-content/uploads/2017/05/cern-425x360.jpg 425w" sizes="(max-width: 591px) 100vw, 591px" /></a><p id="caption-attachment-78641" class="wp-caption-text">Large Hadron Collider tunnel. Credit: CERN</p></div>
<p><span style="font-weight: 400;">One of the main issues we faced was finding suitable sensors to place on the drone for navigation and anti-collision. We got everything on the market that we could find and tried to make it work. Ultrasound was too slow and the range too short. Lasers tend to be too big, too heavy and consumed too much power. Monocular and stereo vision was highly complex and placed a huge computational burden on the system and even then was prone to failure. It became clear that what we really needed, simply didn’t exist! That&#8217;s how the concept for TeraRanger&#8217;s brand of sensors was born.</span></p>
<p>Having failed to make any of the available sensing technologies work at the performance levels required, we came to the conclusion that we would need to build the sensors from the ground up. It wasn’t easy (and still isn’t) but finally, we had something small enough, light enough (8g), with fast refresh rates and enough range to work well on the drone. Leading academics in robotics could see potential using the sensor and wanted some for themselves, then more people wanted them, and before too long we had a new business.</p>
<p><span style="font-weight: 400;">Millimetre precision wasn’t vital for the drone application, but the high refresh rates and range were. And by not using a laser emitter we were able to give the sensor a 3 degree field of view, which for many applications proved to be a real boon, giving a smoother flow of data when faced with uneven surfaces and complex and cluttered environments. It also enabled the sensor to be fully eye-safe and the supply current to remain low.</span></p>
<a href="http://robohub.org/wp-content/uploads/2017/05/Final-Replacement-for-Specsheet-image.jpg" data-wpel-link="internal"><img decoding="async" class="aligncenter size-full wp-image-79232" src="http://robohub.org/wp-content/uploads/2017/05/Final-Replacement-for-Specsheet-image.jpg" alt="" width="1877" height="600" srcset="https://robohub.org/wp-content/uploads/2017/05/Final-Replacement-for-Specsheet-image.jpg 1877w, https://robohub.org/wp-content/uploads/2017/05/Final-Replacement-for-Specsheet-image-425x136.jpg 425w, https://robohub.org/wp-content/uploads/2017/05/Final-Replacement-for-Specsheet-image-768x245.jpg 768w, https://robohub.org/wp-content/uploads/2017/05/Final-Replacement-for-Specsheet-image-1024x327.jpg 1024w" sizes="(max-width: 1877px) 100vw, 1877px" /></a>
<p>&nbsp;</p>
<p><b>Plug and play multi-axis sensing</b></p>
<p><span style="font-weight: 400;">Knowing that we would often need to use multiple sensors at the same time, we also designed-in support for multi-sensor, multi-axis requirements. Using a ‘hub’ we can simultaneously connect up to eight sensors to provide a simple to use, plug and play approach to multi-sensor applications. By controlling the sequence in which sensors are fired (along with some other parameters) we are able to limit or eliminate, the potential for sensor cross-talk and then stream an array of calibrated distance values in millimetres, and at high speed. From a user’s’ perspective this is about as simple as it gets since the hub also centralises power management.</span></p>
<a href="http://robohub.org/wp-content/uploads/2017/05/Image-4-TeraRangerTower.jpg" data-wpel-link="internal"><img decoding="async" class="aligncenter size-full wp-image-78860" src="http://robohub.org/wp-content/uploads/2017/05/Image-4-TeraRangerTower.jpg" alt="" width="1200" height="1004" srcset="https://robohub.org/wp-content/uploads/2017/05/Image-4-TeraRangerTower.jpg 1200w, https://robohub.org/wp-content/uploads/2017/05/Image-4-TeraRangerTower-425x356.jpg 425w, https://robohub.org/wp-content/uploads/2017/05/Image-4-TeraRangerTower-768x643.jpg 768w, https://robohub.org/wp-content/uploads/2017/05/Image-4-TeraRangerTower-1024x857.jpg 1024w" sizes="(max-width: 1200px) 100vw, 1200px" /></a>
<p>TeraRanger Tower</p>
<p><b>There’s no need to get in a spin</b></p>
<p>Using that same concept we continued to push the boundaries. A significant evolution has been our approach to LiDAR scanning &#8211; not just from a hardware point of view (although that is also different) but from a conceptual approach too. We’ve taken the same philosophy of small size, lightweight sensors with very high refresh rates (up to 1kHz) and applied that to create a new style of static LiDAR. Rather than rotating a sensor or using other mechanical methods to move a beam, TeraRanger Tower simultaneously monitors eight axis (or more if you stack multiple units together) and streams an array of data at up to 270Hz!</p>
<img decoding="async" style="-webkit-user-select: none; background-position: 0px 0px, 10px 10px; background-size: 20px 20px; background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee 100%),linear-gradient(45deg, #eee 25%, white 25%, white 75%, #eee 75%, #eee 100%);" src="http://www.teraranger.com/wp-content/uploads/2016/03/giphy-downsized-large-1.gif" />
<p><b>Challenging the point-cloud conundrum</b></p>
<p><span style="font-weight: 400;">With no motors or other moving parts, the hardware itself has many advantages, being silent, lightweight and robust, but there is also a secondary benefit from the data. Traditional thinking amongst the robotics community is that to perform navigation, Simultaneous Localisation and Mapping (SLAM) and collision avoidance you have to “see” everything around you. Just as we did at the start of our journey, people focus on complex solutions &#8211; like stereo vision &#8211; gathering millions of data points which then requires complex and resource-hungry processing. The complexity of the solution &#8211; and of the algorithms &#8211; has the potential to create many failure modes. Having discovered for ourselves that the complicated solution is not always necessary, our approach is different in that, we monitor fewer points. But,  we monitor them at very fast refresh rates to ensure that what we think we see, is really there. As a result, we build less intense point clouds, but with very reliable data. This then requires less complex algorithms and processing and can be done with lighter-weight computing. The result is a more robust, and potentially safer solution, especially when you can make some assumptions about your environment, or harness odometry data to augment the LiDAR data. Many times we were told you could never do SLAM monitoring on just eight points, but we proved that wrong.</span></p>
<div class="keep-aspect"><iframe title="Introducing TeraRanger Tower multi-axis lidar scanner" width="500" height="281" src="https://www.youtube-nocookie.com/embed/UP0T4fIuDAg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p></p>
<p><b>Coming full circle: There are no big problems, just a lot of little problems</b></p>
<p><span style="font-weight: 400;">All of this leads back to our original mission. We’ve not solved it yet, but recently we mounted TeraRanger Tower to a drone and proved, for the first time we believe, that a static LiDAR can be used for drone anti-collision. The Proof of Concept was quickly put together to harness code developed for the open source APM 3.5 flight controller, with Terabee writing drivers to hook into the codebase. Anti-collision is just one step in the journey to fully autonomous drone flight and we are still on the wild-ride of technology, but definitely, we are taming the beast! </span></p>
<div class="keep-aspect"><iframe title="Drone object avoidance with TeraRanger Tower" width="500" height="281" src="https://www.youtube-nocookie.com/embed/dOaO1mff9QM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p></p>
<p>If you have expertise in drone collision avoidance and wish to help us overcome the remaining challenges, please contact us at <a href="mailto:teraranger@terabee.com">teraranger@terabee.com</a>. For more information about Terabee and our TeraRanger brand of sensors, please visit our <a href="http://www.teraranger.com/" target="_blank" rel="noopener noreferrer follow external" data-wpel-link="external">website</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Real-time appearance-based mapping in action at the Microsoft Kinect Challenge, IROS 2014</title>
		<link>https://robohub.org/real-time-appearance-based-mapping-in-action-at-the-microsoft-kinect-challenge-iros-2014/</link>
		
		<dc:creator><![CDATA[Mathieu Labbé]]></dc:creator>
		<pubDate>Fri, 03 Oct 2014 22:46:37 +0000</pubDate>
				<category><![CDATA[education]]></category>
		<category><![CDATA[competitions]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[IROS 2014]]></category>
		<category><![CDATA[mapping & surveillance]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[SLAM]]></category>
		<guid isPermaLink="false">http://robohub.org/real-time-appearance-based-mapping-in-action-at-the-microsoft-kinect-challenge-iros-2014/</guid>

					<description><![CDATA[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. 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 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><em>Last month at IROS the <a href="http://www.meetup.com/SV-ROS-users/" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">SV-ROS</a> team Maxed-Out won the Microsoft Kinect Challenge. In this post Mathieu Labbé describes the mapping approach the team used to help them win.<span id="more-39197"></span></em></p>
<div style="width: 298px" class="wp-caption alignleft"><a href="http://robohub.org/sv-ros-pi-robot-win-1st-place-in-iros-2014-microsoft-connect-challenge/" data-wpel-link="internal"><img decoding="async" class="  " alt="" src="http://robohub.org/wp-content/uploads/2014/09/PiRobot_SV-ROS.jpg" width="288" height="175" /></a><p class="wp-caption-text">SV-ROS team &#8220;Maxed-Out&#8221; won the IROS 2014 Microsoft Kinect Challenge</p></div>
<p>One week before the <a href="http://www.iros2014.org/" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">IROS 2014</a> conference, I received an email from the <strong>Maxed-Out</strong> team telling me that they were using my open source code <a href="https://rtabmap.googlecode.com/" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">RTAB-Map</a> for the <a href="http://www.iros2014.org/program/kinect-robot-navigation-contest" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">Kinect Robot Navigation Contest</a> 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 <a href="https://introlab.3it.usherbrooke.ca/mediawiki-introlab/images/e/eb/Labbe14-IROS.pdf" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">paper</a>, I met them in person at the conference and helped them with the algorithm on site before the contest &#8230; and good surprise, they won the contest! See their <a href="http://www.meetup.com/SV-ROS-users/pages/Winning_the_IROS2014_Microsoft_Connect_Challenge/" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">official press release here</a>.</p>
<p>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).</p>
<p>In this article I share some of the technical details of the RTAB-Map.</p>
<p><strong>The robot</strong></p>
<p>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 &#8220;<a href="https://code.google.com/p/rtabmap/wiki/SetupOnYourRobot#Kinect_+_Odometry_+_Fake_2D_laser_from_Kinect" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">Kinect + Odometry + Fake 2D laser from Kinect</a>&#8221; configuration. The &#8220;2D laser&#8221; was simulated using the Kinect and the <a href="http://wiki.ros.org/depthimage_to_laserscan#depthimage_to_laserscan" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">depthimage_to_laserscan</a> ros-pkg. In this configuration, the robot is constrained to a plane (x,y and yaw).</p>
<div id="attachment_39203" style="width: 651px" class="wp-caption aligncenter"><img decoding="async" aria-describedby="caption-attachment-39203" class=" wp-image-39203" alt="R-TAB1" src="http://robohub.org/wp-content/uploads/2014/10/R-TAB1.png" width="641" height="435" srcset="https://robohub.org/wp-content/uploads/2014/10/R-TAB1.png 641w, https://robohub.org/wp-content/uploads/2014/10/R-TAB1-425x288.png 425w, https://robohub.org/wp-content/uploads/2014/10/R-TAB1-442x300.png 442w" sizes="(max-width: 641px) 100vw, 641px" /><p id="caption-attachment-39203" class="wp-caption-text">Source: <a href="http://www.iros2014.org/program/kinect-robot-navigation-contest" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">IROS 2014</a></p></div>
<p><strong>Contest environment</strong></p>
<p>The challenge was held in the exhibit room in the Palmer House Hotel. Since RTAB-Map&#8217;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&#8217;t have the chance to test it before the official mapping run &#8211; all we could do was to cross our fingers and hope that no wrong loop closures would be found!</p>
<div id="attachment_39204" style="width: 810px" class="wp-caption aligncenter"><img decoding="async" aria-describedby="caption-attachment-39204" class="size-full wp-image-39204" alt="Contest environment" src="http://robohub.org/wp-content/uploads/2014/10/RTAB-2.jpg" width="800" height="533" srcset="https://robohub.org/wp-content/uploads/2014/10/RTAB-2.jpg 800w, https://robohub.org/wp-content/uploads/2014/10/RTAB-2-425x283.jpg 425w, https://robohub.org/wp-content/uploads/2014/10/RTAB-2-450x300.jpg 450w" sizes="(max-width: 800px) 100vw, 800px" /><p id="caption-attachment-39204" class="wp-caption-text">Contest environment</p></div>
<div id="attachment_39205" style="width: 650px" class="wp-caption aligncenter"><img decoding="async" aria-describedby="caption-attachment-39205" class="size-full wp-image-39205" alt="Filtering visual features of the floor" src="http://robohub.org/wp-content/uploads/2014/10/RTAB-3.jpg" width="640" height="480" srcset="https://robohub.org/wp-content/uploads/2014/10/RTAB-3.jpg 640w, https://robohub.org/wp-content/uploads/2014/10/RTAB-3-425x318.jpg 425w, https://robohub.org/wp-content/uploads/2014/10/RTAB-3-400x300.jpg 400w" sizes="(max-width: 640px) 100vw, 640px" /><p id="caption-attachment-39205" class="wp-caption-text">Filtering visual features of the floor</p></div>
<p><strong>Results</strong></p>
<p>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 <a href="https://code.google.com/p/rtabmap/wiki/Tools#Database_viewer" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">rtabmap-databaseViewer</a> 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.</p>
<div id="attachment_39221" style="width: 910px" class="wp-caption aligncenter"><a href="http://robohub.org/wp-content/uploads/2014/10/RTAB-composite2.jpg" data-wpel-link="internal"><img decoding="async" aria-describedby="caption-attachment-39221" class=" wp-image-39221 " alt="RTAB-composite2" src="http://robohub.org/wp-content/uploads/2014/10/RTAB-composite2.jpg" width="900" height="323" srcset="https://robohub.org/wp-content/uploads/2014/10/RTAB-composite2.jpg 900w, https://robohub.org/wp-content/uploads/2014/10/RTAB-composite2-425x152.jpg 425w, https://robohub.org/wp-content/uploads/2014/10/RTAB-composite2-500x179.jpg 500w" sizes="(max-width: 900px) 100vw, 900px" /></a><p id="caption-attachment-39221" class="wp-caption-text">a) After first mapping; b) Used for navigation; c) Updated results (after the challenge)</p></div>
<p>During the autonomous navigation phase, RTAB-Map was set in localization mode with the pre-built map. By detecting &#8220;loop closures&#8221; with the previous map, the robot is relocalized so it can efficiently plan its trajectories through the environment.</p>
<p><strong>Updated Results</strong></p>
<div class=" "><iframe title="IROS 2014 Kinect Challenge Winner: SLAM approach used" width="500" height="281" src="https://www.youtube-nocookie.com/embed/_qiLAWp7AqQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p></p>
<p>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:</p>
<ul>
<li>RTAB-Map database: <a href="https://rtabmap.googlecode.com/svn/trunk/doc/IROS-Kinect-Challenge/IROS14-kinect-challenge.db" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">IROS14-kinect-challenge.db</a></li>
<li>RTAB-Map parameters: <a href="https://rtabmap.googlecode.com/svn/trunk/doc/IROS-Kinect-Challenge/IROS14-kinect-challenge.ini" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">IROS14-kinect-challenge.ini</a></li>
</ul>
<p>You can open RTAB-Map (standalone, not the ros-pkg) using the configuration file above, then set &#8220;Source from database&#8221; 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:</p>
<pre>// -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</pre>
<p>The following pictures show a comparison of the results with and without loop closures:</p>
<table style="border: 1px solid #ccc; padding: 5px;">
<tbody>
<tr>
<th scope="col"></th>
<th scope="col">Odometry Only</th>
<th scope="col">With Loop Closures</th>
</tr>
<tr>
<th scope="row">2D Map</th>
<td style="border: 1px solid #ccc; padding: 5px;"><a href="http://robohub.org/wp-content/uploads/2014/10/RTAB_7.png" data-wpel-link="internal"><img decoding="async" class="aligncenter  wp-image-39206" alt="RTAB_7" src="http://robohub.org/wp-content/uploads/2014/10/RTAB_7.png" width="1562" height="1146" srcset="https://robohub.org/wp-content/uploads/2014/10/RTAB_7.png 1562w, https://robohub.org/wp-content/uploads/2014/10/RTAB_7-425x311.png 425w, https://robohub.org/wp-content/uploads/2014/10/RTAB_7-1024x751.png 1024w, https://robohub.org/wp-content/uploads/2014/10/RTAB_7-408x300.png 408w" sizes="(max-width: 1562px) 100vw, 1562px" /></a></td>
<td style="border: 1px solid #ccc; padding: 5px;"><a href="http://robohub.org/wp-content/uploads/2014/10/RTAB-10.png" data-wpel-link="internal"><img decoding="async" class="aligncenter  wp-image-39212" alt="RTAB-10" src="http://robohub.org/wp-content/uploads/2014/10/RTAB-10.png" width="1562" height="1146" srcset="https://robohub.org/wp-content/uploads/2014/10/RTAB-10.png 1562w, https://robohub.org/wp-content/uploads/2014/10/RTAB-10-425x311.png 425w, https://robohub.org/wp-content/uploads/2014/10/RTAB-10-1024x751.png 1024w, https://robohub.org/wp-content/uploads/2014/10/RTAB-10-408x300.png 408w" sizes="(max-width: 1562px) 100vw, 1562px" /></a></td>
</tr>
<tr>
<th scope="row">3D Cloud</th>
<td style="border: 1px solid #ccc; padding: 5px;"><a href="http://robohub.org/wp-content/uploads/2014/10/RTAB_8.jpg" data-wpel-link="internal"><img decoding="async" class="aligncenter  wp-image-39211" alt="RTAB_8" src="http://robohub.org/wp-content/uploads/2014/10/RTAB_8.jpg" width="800" height="587" srcset="https://robohub.org/wp-content/uploads/2014/10/RTAB_8.jpg 800w, https://robohub.org/wp-content/uploads/2014/10/RTAB_8-425x311.jpg 425w, https://robohub.org/wp-content/uploads/2014/10/RTAB_8-408x300.jpg 408w" sizes="(max-width: 800px) 100vw, 800px" /></a></td>
<td style="border: 1px solid #ccc; padding: 5px;"><a href="http://robohub.org/wp-content/uploads/2014/10/RTAB_11.jpg" data-wpel-link="internal"><img decoding="async" class="aligncenter  wp-image-39216" alt="RTAB_11" src="http://robohub.org/wp-content/uploads/2014/10/RTAB_11.jpg" width="800" height="499" srcset="https://robohub.org/wp-content/uploads/2014/10/RTAB_11.jpg 800w, https://robohub.org/wp-content/uploads/2014/10/RTAB_11-425x265.jpg 425w, https://robohub.org/wp-content/uploads/2014/10/RTAB_11-480x300.jpg 480w" sizes="(max-width: 800px) 100vw, 800px" /></a></td>
</tr>
<tr>
<th scope="row">2D Map<br />
+<br />
3D Cloud</th>
<td style="border: 1px solid #ccc; padding: 5px;"><a href="http://robohub.org/wp-content/uploads/2014/10/RTAB-9.jpg" data-wpel-link="internal"><img decoding="async" class="aligncenter  wp-image-39210" alt="RTAB-9" src="http://robohub.org/wp-content/uploads/2014/10/RTAB-9.jpg" width="800" height="587" srcset="https://robohub.org/wp-content/uploads/2014/10/RTAB-9.jpg 800w, https://robohub.org/wp-content/uploads/2014/10/RTAB-9-425x311.jpg 425w, https://robohub.org/wp-content/uploads/2014/10/RTAB-9-408x300.jpg 408w" sizes="(max-width: 800px) 100vw, 800px" /></a></td>
<td style="border: 1px solid #ccc; padding: 5px;"><a href="http://robohub.org/wp-content/uploads/2014/10/RTAB_12.jpg" data-wpel-link="internal"><img decoding="async" class="aligncenter  wp-image-39215" alt="RTAB_12" src="http://robohub.org/wp-content/uploads/2014/10/RTAB_12.jpg" width="800" height="499" srcset="https://robohub.org/wp-content/uploads/2014/10/RTAB_12.jpg 800w, https://robohub.org/wp-content/uploads/2014/10/RTAB_12-425x265.jpg 425w, https://robohub.org/wp-content/uploads/2014/10/RTAB_12-480x300.jpg 480w" sizes="(max-width: 800px) 100vw, 800px" /></a></td>
</tr>
</tbody>
</table>
<div id="attachment_39214" style="width: 810px" class="wp-caption aligncenter"><a href="http://robohub.org/wp-content/uploads/2014/10/RTAB_13.jpg" data-wpel-link="internal"><img decoding="async" aria-describedby="caption-attachment-39214" class=" wp-image-39214 " alt="3D Cloud (download here: cloud.ply)" src="http://robohub.org/wp-content/uploads/2014/10/RTAB_13.jpg" width="800" height="499" srcset="https://robohub.org/wp-content/uploads/2014/10/RTAB_13.jpg 800w, https://robohub.org/wp-content/uploads/2014/10/RTAB_13-425x265.jpg 425w, https://robohub.org/wp-content/uploads/2014/10/RTAB_13-480x300.jpg 480w" sizes="(max-width: 800px) 100vw, 800px" /></a><p id="caption-attachment-39214" class="wp-caption-text">3D Cloud (download here: <a href="https://rtabmap.googlecode.com/svn/trunk/doc/IROS-Kinect-Challenge/cloud.ply" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">cloud.ply</a>)</p></div>
<div id="attachment_39213" style="width: 810px" class="wp-caption aligncenter"><a href="http://robohub.org/wp-content/uploads/2014/10/RTAB_14.jpg" data-wpel-link="internal"><img decoding="async" aria-describedby="caption-attachment-39213" class=" wp-image-39213 " alt="RTAB_14" src="http://robohub.org/wp-content/uploads/2014/10/RTAB_14.jpg" width="800" height="499" srcset="https://robohub.org/wp-content/uploads/2014/10/RTAB_14.jpg 800w, https://robohub.org/wp-content/uploads/2014/10/RTAB_14-425x265.jpg 425w, https://robohub.org/wp-content/uploads/2014/10/RTAB_14-480x300.jpg 480w" sizes="(max-width: 800px) 100vw, 800px" /></a><p id="caption-attachment-39213" class="wp-caption-text">3D Cloud + 2D Map (saved with <a href="http://wiki.ros.org/map_server" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">map_server</a>: <a href="https://rtabmap.googlecode.com/svn/trunk/doc/IROS-Kinect-Challenge/map.pgm" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">map.pgm</a> and <a href="https://rtabmap.googlecode.com/svn/trunk/doc/IROS-Kinect-Challenge/map.yaml" rel="nofollow external noopener noreferrer" data-wpel-link="external" target="_blank">map.yaml</a>)</p></div>
<p><strong>Conclusion</strong></p>
<p>SV-ROS team has created a great solution for autonomous navigation and they won the IROS 2014 Kinect Navigation Contest. I&#8217;m glad that my algorithm RTAB-Map was part of it. It was really nice to meet the team &#8211; 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.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>TED talk with Davide Scaramuzza on visual control of MAVs</title>
		<link>https://robohub.org/ted-talk-with-davide-scaramuzza-on-visual-control-of-mavs/</link>
		
		<dc:creator><![CDATA[Sabine Hauert]]></dc:creator>
		<pubDate>Thu, 29 Nov 2012 05:07:16 +0000</pubDate>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[lectures]]></category>
		<category><![CDATA[Davide Scaramuzza]]></category>
		<category><![CDATA[SLAM]]></category>
		<guid isPermaLink="false">http://robohub.org/?p=6070</guid>

					<description><![CDATA[Davide Scaramuzza leads the Robotics and Perception Group at the University of Zurich and is Adjunct Faculty at ETH Zurich. In the excellent TED talk below, he tells us about his work in visual control of Micro Aerial Vehicles (MAVs). Rather than use GPS, which is sometimes unavailable indoors and in obstructed environments, or external [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a title="Davide Scaramuzza" href="http://ailab.ifi.uzh.ch/sdavide/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Davide Scaramuzza</a> leads the Robotics and Perception Group at the University of Zurich and is Adjunct Faculty at ETH Zurich.<span id="more-6070"></span></p>
<p>In the excellent TED talk below, he tells us about his work in visual control of Micro Aerial Vehicles (MAVs). Rather than use GPS, which is sometimes unavailable indoors and in obstructed environments, or external sensing such as a Vicon system, Scaramuzza relies on vision and onboard sensing and computation to control flying robots. Using this visual information, the robot is able to build a map of the environment and self-localize within this map (SLAM). He tells us about the principles behind onboard visual SLAM, how multiple robots can work together to build a map and shows us a demo of the technology in action.</p>
<div class=" "><iframe title="Autonomous Flying Robots: Davide Scaramuzza at TEDxZurich" width="500" height="281" src="https://www.youtube-nocookie.com/embed/KQpKQXU7dkM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 

Served from: robohub.org @ 2026-10-09 18:49:02 by W3 Total Cache
-->