rsasaki0109/lidar_localization_ros2

3D LIDAR Localization using pointcloud map in ROS 2 (Not SLAM)

What it solves

This project provides a map-based 3D LiDAR localization system for robots using ROS 2 and Nav2. It allows a robot to determine its precise position and orientation within a pre-existing 3D point cloud map (in .pcd or .ply formats), ensuring the robot doesn't get lost while navigating an environment.

How it works

The system uses scan-matching algorithms—specifically NDT (Normal Distributions Transform) and GICP (Generalized Iterative Closest Point)—to align current LiDAR scans with a stored 3D map. To improve accuracy and stability, it incorporates odometry and IMU prediction, continuous-time scan deskewing to correct for motion distortion, and a guarded global initialization process that prevents the robot from guessing its starting position incorrectly.

Who it’s for

It is designed for robotics developers and engineers working with ROS 2 (specifically Jazzy and Humble) who need reliable 3D localization for autonomous mobile robots, including those using Livox MID-360 sensors.

Highlights

  • Map-based Localization: Supports .pcd and .ply 3D maps.
  • Algorithm Support: Implements NDT/GICP for high-precision alignment.
  • Integration: Fully compatible with Nav2 and standalone operation.
  • Robustness: Includes scan deskewing, IMU/odometry prediction, and guarded recovery mechanisms.
  • Easy Setup: Provides a quickstart.py tool for automatic sensor topic detection and configuration.

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト