MiiViiDynamics / hdl_localization

Real-time 3D localization using a (velodyne) 3D LIDAR

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hdl_localization

hdl_localization is a ROS package for real-time 3D localization using a 3D LIDAR, such as velodyne HDL32e and VLP16. This package performs Unscented Kalman Filter-based pose estimation. It first estimates the sensor pose from IMU data implemented on the LIDAR, and then performs multi-threaded NDT scan matching between a globalmap point cloud and input point clouds to correct the estimated pose. IMU-based pose prediction is optional. If you disable it, the system predicts the sensor pose with the constant velocity model without IMU information.

Video:
hdl_localization

Requirements

hdl_localization requires the following libraries:

  • OpenMP
  • PCL 1.7

The following ros packages are required:

Parameters

All parameters are listed in launch/hdl_localization.launch as ros params.
You can specify the initial sensor pose using "2D Pose Estimate" on rviz, or using ros params (see example launch file).

Example

Example bag files (recorded in an outdoor environment): RE

rosparam set use_sim_time true
roslaunch hdl_localization hdl_localization.launch
roscd hdl_localizatrion/rviz
rviz -d hdl_localizatrion.rviz
rosbag play --clock hdl_400.bag

If it doesn't work well, change ndt_neighbor_search_method in hdl_localization.launch to "DIRECT1". It makes the scan matching significantly fast, but a little bit unstable.

Related packages

Kenji Koide, Jun Miura, and Emanuele Menegatti, A Portable 3D LIDAR-based System for Long-term and Wide-area People Behavior Measurement, Advanced Robotic Systems, 2019 [link].

Contact

Kenji Koide, Active Intelligent Systems Laboratory, Toyohashi University of Technology [URL]
koide@aisl.cs.tut.ac.jp

About

Real-time 3D localization using a (velodyne) 3D LIDAR


Languages

Language:C++ 93.6%Language:CMake 6.4%