hdl_graph_slam - 3D LIDAR-based Graph SLAM

  •        335

hdl_graph_slam is an open source ROS package for real-time 3D slam using a 3D LIDAR. It is based on 3D Graph SLAM with NDT scan matching-based odometry estimation and loop detection. It also utilizes floor plane detection to generate an environmental map with a completely flat floor. We have tested this packaged mainly in indoor environments, but it can be applied to outdoor environment mapping as well. hdl_graph_slam consists of four nodelets.

https://github.com/koide3/hdl_graph_slam

Tags
Implementation
License
Platform

   




Related Projects

awesome-visual-slam - :books: The list of vision-based SLAM / Visual Odometry open source, blogs, and papers

  •    

[1] Raúl Mur-Artal, J. M. M. Montiel and Juan D. Tardós. ORB-SLAM: A Versatile and Accurate Monocular SLAM System. IEEE > Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, 2015. (2015 IEEE Transactions on Robotics Best Paper Award). PDF. [2] Dorian Gálvez-López and Juan D. Tardós. Bags of Binary Words for Fast Place Recognition in Image Sequences. IEEE > Transactions on Robotics, vol. 28, no. 5, pp. 1188-1197, 2012. PDF. D. Nister, “An efficient solution to the five-point relative pose problem,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 26, no. 6, pp. 756–770, 2004.

g2o - g2o: A General Framework for Graph Optimization

  •    C++

g2o is an open-source C++ framework for optimizing graph-based nonlinear error functions. g2o has been designed to be easily extensible to a wide range of problems and a new problem typically can be specified in a few lines of code. The current implementation provides solutions to several variants of SLAM and BA. A wide range of problems in robotics as well as in computer-vision involve the minimization of a non-linear error function that can be represented as a graph. Typical instances are simultaneous localization and mapping (SLAM) or bundle adjustment (BA). The overall goal in these problems is to find the configuration of parameters or state variables that maximally explain a set of measurements affected by Gaussian noise. g2o is an open-source C++ framework for such nonlinear least squares problems. g2o has been designed to be easily extensible to a wide range of problems and a new problem typically can be specified in a few lines of code. The current implementation provides solutions to several variants of SLAM and BA. g2o offers a performance comparable to implementations of state-of-the-art approaches for the specific problems (02/2011).

lsd_slam - LSD-SLAM

  •    C++

LSD-SLAM is a novel approach to real-time monocular SLAM. It is fully direct (i.e. does not use keypoints / features) and creates large-scale, semi-dense maps in real-time on a laptop. For more information see http://vision.in.tum.de/lsdslam where you can also find the corresponding publications and Youtube videos, as well as some example-input datasets, and the generated output as rosbag or .ply point cloud. First, install LSD-SLAM following 2.1 or 2.2, depending on your Ubuntu / ROS version. You don't need openFabMap for now.

zed-ros-wrapper - ROS wrapper for the ZED SDK

  •    C++

This package lets you use the ZED stereo camera with ROS. It outputs the camera left and right images, depth map, point cloud, pose information and supports the use of multiple ZED cameras.

ORB_SLAM - A Versatile and Accurate Monocular SLAM

  •    C++

ORB-SLAM is a versatile and accurate Monocular SLAM solution able to compute in real-time the camera trajectory and a sparse 3D reconstruction of the scene in a wide variety of environments, ranging from small hand-held sequences to a car driven around several city blocks. It is able to close large loops and perform global relocalisation in real-time and from wide baselines. [1] Raúl Mur-Artal, J. M. M. Montiel and Juan D. Tardós. ORB-SLAM: A Versatile and Accurate Monocular SLAM System. IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, 2015. (2015 IEEE Transactions on Robotics Best Paper Award). PDF.


hector_slam - hector_slam contains ROS packages related to performing SLAM in unstructed environments like those encountered in the Urban Search and Rescue (USAR) scenarios of the RoboCup Rescue competition

  •    C++

hector_slam contains ROS packages related to performing SLAM in unstructed environments like those encountered in the Urban Search and Rescue (USAR) scenarios of the RoboCup Rescue competition.

ORB-YGZ-SLAM

  •    C++

This is YGZ SLAM, a faster version folked from ORB-SLAM2 (see https://github.com/raulmur/ORB_SLAM2 and the README-ORB-SLAM2.md in this repo). We put the direct tracking in SVO to accelerate the feature matching in ORB-SLAM2. We can get an average 3x speed up and keep almost same accuracy. In addition we also support monocular Visual-Inertial SLAM (VI-SLAM), following idea proposed in Raul's paper. If you are using ubuntu, just type "./install_dependency.sh" to install all the dependencies except pangolin.

slambook

  •    C++

This is the code written for my new book about visual SLAM called "14 lectures on visual SLAM" which was released in April 2017. It is highy recommended to download the code and run it in you own machine so that you can learn more efficiently and also modify it. The code is stored by chapters like "ch2" and "ch4". Note that chapter 9 is a project so I stored it in the "project" directory. If you have any questions about the code, please add an issue so I can see it. Contact me for more information: gao dot xiang dot thu at gmail dot com.

cartographer_ros - Provides ROS integration for Cartographer.

  •    C++

Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations. This project provides Cartographer's ROS integration. You can find information about contributing to Cartographer's ROS integration at our Contribution page.

Robot navigation system

  •    

This program is a complete robot navigation system which includes: reading stereo image stream, stereo matching, depth map generation, 3D-point cloud generation, RANSAC-based travesable area extraction, path planning and 2D-SLAM.

SLAM! SharePoint List Association Manager

  •    DotNet

SharePoint List Association Manager (SLAM) allows you to define relationships (one to one, one to many, many to many) between SharePoint lists or Content Types and then leverage those relationships in webparts or custom field types using familiar and straight forward SQL Queries.

ScaViSLAM - This is a general and scalable framework for visual SLAM

  •    C++

This is a general and scalable framework for visual SLAM. It employs "Double Window Optimization" (DWO).

okvis - OKVIS: Open Keyframe-based Visual-Inertial SLAM.

  •    C++

Welcome to OKVIS: Open Keyframe-based Visual-Inertial SLAM. This is the Author's implementation of the [1] and [3] with more results in [2].

SceneLib2 - SceneLib2 is an open-source C++ library for SLAM originally designed and implemented by Professor Andrew Davison at Imperial College London

  •    C++

SceneLib2 is an open-source C++ library for SLAM originally designed and implemented by Professor Andrew Davison at Imperial College London.

cartographer - Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations

  •    C++

Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations. We regularly meet in an open-for-all Google hangout to discuss progress and plans for Cartographer. You can join the mailing list to receive announcements.

rgbd-slam-tutorial-gx - code for the rgbd-slam tutorial written in cnblogs

  •    C++

This is the code written for the tutorial on my cnblogs: http://www.cnblogs.com/gaoxiang12/ Please visit this blog if you are interested.

BreezySLAM - Simple, efficient, open-source package for Simultaneous Localization and Mapping

  •    C

This repository contains everything you need to start working with Lidar -based SLAM in Python. (There is also support for Matlab, C++, and Java; however, because of the popularity of Python for this kind of work, I am no longer updating the code for those languages.) BreezySLAM works with Python 3 on Linux and Mac OS X, and with C++ on Linux and Windows. By using Python C extensions, we were able to get the Python and Matlab versions to run as fast as C++. For maximum efficiency on 32-bit platforms, we use Streaming SIMD extensions (Intel) and NEON (ARMv7) in the compute-intensive part of the code. BreezySLAM was inspired by the Breezy approach to Graphical User Interfaces developed by my colleague Ken Lambert: an object-oriented Application Programming Interface that is simple enough for beginners to use, but that is efficient enough to scale-up to real world problems; for example, the mapping of an entire floor of a house, shown in the image above-right, made by a BreezySLAM user.

3DTK - The 3D Toolkit

  •    C++

The 3D Toolkit provides algorithms and methods to process 3D point clouds. In includes automatic precise registration (6D simultaneous localization and mapping, 6D SLAM) and other tools, e.g., a fast 3D viewer, plane extraction software, etc.

dvo_slam - Dense Visual Odometry and SLAM

  •    C++

NOTE: this is an alpha release APIs and parameters are going to change in near future. No support is provided at this point. These packages provide an implementation of the rigid body motion estimation of an RGB-D camera from consecutive images.