All Projects → abougouffa → ndtpso_slam

abougouffa / ndtpso_slam

Licence: GPL-2.0 license
ROS package for NDT-PSO, a 2D Laser scan matching algorithm for SLAM

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to ndtpso slam

li slam ros2
ROS2 package of tightly-coupled lidar inertial ndt/gicp slam
Stars: ✭ 160 (+400%)
Mutual labels:  lidar, slam, ndt
pcl localization ros2
ROS2 package of 3D LIDAR-based Localization using PCL (Not SLAM)
Stars: ✭ 74 (+131.25%)
Mutual labels:  lidar, ndt
Mola
A Modular Optimization framework for Localization and mApping (MOLA)
Stars: ✭ 206 (+543.75%)
Mutual labels:  lidar, slam
dvo python
Coding dense visual odometry in a little more than a night (yikes)!
Stars: ✭ 40 (+25%)
Mutual labels:  slam, slam-algorithms
M Loam
Robust Odometry and Mapping for Multi-LiDAR Systems with Online Extrinsic Calibration
Stars: ✭ 114 (+256.25%)
Mutual labels:  lidar, slam
Pyicp Slam
Full-python LiDAR SLAM using ICP and Scan Context
Stars: ✭ 155 (+384.38%)
Mutual labels:  lidar, slam
SLAM-application
LeGO-LOAM, LIO-SAM, LVI-SAM, FAST-LIO2, Faster-LIO, VoxelMap, R3LIVE application and comparison on Gazebo and real-world datasets. Installation and config files are provided.
Stars: ✭ 258 (+706.25%)
Mutual labels:  lidar, slam
lt-mapper
A Modular Framework for LiDAR-based Lifelong Mapping
Stars: ✭ 301 (+840.63%)
Mutual labels:  lidar, slam
AVP-SLAM-PLUS
An implementation of AVP-SLAM and some new contributions
Stars: ✭ 371 (+1059.38%)
Mutual labels:  slam, slam-algorithms
slam docker collection
A collection of docker environments for 3D SLAM packages
Stars: ✭ 130 (+306.25%)
Mutual labels:  lidar, slam
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+5762.5%)
Mutual labels:  lidar, slam
RGB-D-SLAM
Work in Progress. A SLAM implementation based on plane and superquadric tracking.
Stars: ✭ 23 (-28.12%)
Mutual labels:  slam, slam-algorithms
Ssl slam2
SSL_SLAM2: Lightweight 3-D Localization and Mapping for Solid-State LiDAR (mapping and localization separated) ICRA 2021
Stars: ✭ 96 (+200%)
Mutual labels:  lidar, slam
Staticmapping
Use LiDAR to map the static world
Stars: ✭ 191 (+496.88%)
Mutual labels:  lidar, slam
Urbannavdataset
UrbanNav: an Open-Sourcing Localization Data Collected in Asian Urban Canyons, Including Tokyo and Hong Kong
Stars: ✭ 79 (+146.88%)
Mutual labels:  lidar, slam
Lego Loam
LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain
Stars: ✭ 1,138 (+3456.25%)
Mutual labels:  lidar, slam
Hdl graph slam
3D LIDAR-based Graph SLAM
Stars: ✭ 945 (+2853.13%)
Mutual labels:  lidar, slam
Loam velodyne
Laser Odometry and Mapping (Loam) is a realtime method for state estimation and mapping using a 3D lidar.
Stars: ✭ 1,135 (+3446.88%)
Mutual labels:  lidar, slam
DSP-SLAM
[3DV 2021] DSP-SLAM: Object Oriented SLAM with Deep Shape Priors
Stars: ✭ 377 (+1078.13%)
Mutual labels:  lidar, slam
puma
Poisson Surface Reconstruction for LiDAR Odometry and Mapping
Stars: ✭ 302 (+843.75%)
Mutual labels:  lidar, slam

NDTPSO-SLAM

NDTPSO-SLAM is a ROS package which provides an enhanced implementation of the scan matching algorithm proposed in 1 and 2. It uses NDT (Normal Distribution Transform) to model the environment and PSO (Particle Swarm Optimisation) to perform the scan matching optimization and solve the pose problem.

This package has been tested with ROS Melodic on Ubuntu 18.04, however; it should work with newer ROS1 versions.

This project is devided to two parts, the libndtpso_slam which is a C++ library that implements the proposed scan matching method, and in the other part, the ROS node ndtpso_slam_node which provides the ROS interface to this library.

Abdelhak BOUGOUFFA <abdelhak [dot] bougouffa [at] universite-paris-saclay.fr>

If you used this work, please cite:

  • Sara BOURAINE, Abdelhak BOUGOUFFA and Ouahiba AZOUAOUI, Particle Swarm Optimization for Solving a Scan-Matching Problem Based on the Normal Distributions Transform, 10.1007/s12065-020-00545-y, Evolutionary Intelligence, Jan 2021. Download PDF
  • Sara BOURAINE, Abdelhak BOUGOUFFA and Ouahiba AZOUAOUI, NDT-PSO, a New NDT based SLAM Approach using Particle Swarm Optimization, 10.1109/ICARCV50220.2020.9305519, 16th International Conference on Control, Automation, Robotics and Vision (ICARCV 2020), Dec 2020. Download PDF

Build NDTPSO-SLAM

This package has been tested on ROS Melodic and ROS Noetic

Dependencies

  1. Eigen3 (can be installed from package manager)
  2. OpenCV3+ (OPTIONAL: used to export map image)

To build NDTPSO-SLAM, clone it to your ROS Catkin workspace.

cd path/to/catkin_ws/src
git clone https://github.com/abougouffa/ndtpso_slam.git
cd ..
catkin_make --pkg ndtpso_slam

Using the provided node

You can edit the provided launch files to fit your LiDAR topic name and run:

roslaunch ndtpso_slam scan.launch

Footnotes

  1. Sara BOURAINE, Abdelhak BOUGOUFFA and Ouahiba AZOUAOUI, Particle Swarm Optimization for Solving a Scan-Matching Problem Based on the Normal Distributions Transform, 10.1007/s12065-020-00545-y, Evolutionary Intelligence, Jan 2021. Download PDF

  2. Sara BOURAINE, Abdelhak BOUGOUFFA and Ouahiba AZOUAOUI, NDT-PSO, a New NDT based SLAM Approach using Particle Swarm Optimization, 10.1109/ICARCV50220.2020.9305519, 16th International Conference on Control, Automation, Robotics and Vision (ICARCV 2020), Dec 2020. Download PDF

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].