All Projects → koide3 → Hdl_localization

koide3 / Hdl_localization

Licence: bsd-2-clause
Real-time 3D localization using a (velodyne) 3D LIDAR

Projects that are alternatives of or similar to Hdl localization

direct lidar odometry
Direct LiDAR Odometry: Fast Localization with Dense Point Clouds
Stars: ✭ 202 (-39.16%)
Mutual labels:  localization, ros, lidar
Depth clustering
🚕 Fast and robust clustering of point clouds generated with a Velodyne sensor.
Stars: ✭ 657 (+97.89%)
Mutual labels:  ros, lidar, real-time
Tonav
Implementation of Multi-State Constraint Kalman Filter (MSCKF) for Vision-aided Inertial Navigation. This is my master's thesis.
Stars: ✭ 235 (-29.22%)
Mutual labels:  ros, localization
pcl localization ros2
ROS2 package of 3D LIDAR-based Localization using PCL (Not SLAM)
Stars: ✭ 74 (-77.71%)
Mutual labels:  localization, lidar
teraranger
Ros nodes for single TeraRanger sensors
Stars: ✭ 19 (-94.28%)
Mutual labels:  ros, lidar
Hdl people tracking
Real-time people tracking using a 3D LIDAR
Stars: ✭ 162 (-51.2%)
Mutual labels:  ros, lidar
Kimera Vio Ros
ROS wrapper for Kimera-VIO
Stars: ✭ 182 (-45.18%)
Mutual labels:  ros, real-time
lidar-sync-mimics-gps
Open-Source LiDAR Time Synchronization System by Mimicking GPS-clock
Stars: ✭ 52 (-84.34%)
Mutual labels:  ros, lidar
Lego Loam
LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain
Stars: ✭ 1,138 (+242.77%)
Mutual labels:  ros, lidar
aruco localization
ROS localization node using an ArUco Marker Map.
Stars: ✭ 30 (-90.96%)
Mutual labels:  localization, ros
patchwork
Official page of Patchwork (RA-L'21 w/ IROS'21)
Stars: ✭ 174 (-47.59%)
Mutual labels:  ros, lidar
Lidar camera calibration
Light-weight camera LiDAR calibration package for ROS using OpenCV and PCL (PnP + LM optimization)
Stars: ✭ 133 (-59.94%)
Mutual labels:  ros, lidar
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+465.06%)
Mutual labels:  ros, lidar
Opensimplelidar
Open Source scanning laser rangefinder
Stars: ✭ 2,206 (+564.46%)
Mutual labels:  ros, lidar
Grl
Robotics tools in C++11. Implements soft real time arm drivers for Kuka LBR iiwa plus V-REP, ROS, Constrained Optimization based planning, Hand Eye Calibration and Inverse Kinematics integration.
Stars: ✭ 105 (-68.37%)
Mutual labels:  ros, real-time
pole-localization
Online Range Image-based Pole Extractor for Long-term LiDAR Localization in Urban Environments
Stars: ✭ 107 (-67.77%)
Mutual labels:  localization, lidar
urban road filter
Real-time LIDAR-based Urban Road and Sidewalk detection for Autonomous Vehicles 🚗
Stars: ✭ 134 (-59.64%)
Mutual labels:  ros, lidar
Pendulum
ROS, ROS2, real-time, control, pendulum
Stars: ✭ 37 (-88.86%)
Mutual labels:  ros, real-time
Loam velodyne
Laser Odometry and Mapping (Loam) is a realtime method for state estimation and mapping using a 3D lidar.
Stars: ✭ 1,135 (+241.87%)
Mutual labels:  ros, lidar
kidnapped-vehicle
Implemented a C++ particle filter for real-time vehicle localization with only current visual observations and a map.
Stars: ✭ 18 (-94.58%)
Mutual labels:  real-time, localization

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 uses the constant velocity model without IMU information.

Video:
hdl_localization

Build Status

Requirements

hdl_localization requires the following libraries:

  • PCL
  • OpenMP

The following ros packages are required:

Installation

cd /your/catkin_ws/src
git clone https://github.com/koide3/ndt_omp
git clone https://github.com/SMRT-AIST/fast_gicp --recursive
git clone https://github.com/koide3/hdl_localization
git clone https://github.com/koide3/hdl_global_localization

cd /your/catkin_ws
catkin_make -DCMAKE_BUILD_TYPE=Release

# if you want to enable CUDA-accelerated NDT
# catkin_make -DCMAKE_BUILD_TYPE=Release -DBUILD_VGICP_CUDA=ON

Parameters

All configurable parameters are listed in launch/hdl_localization.launch as ros params. The estimated pose can be reset using using "2D Pose Estimate" on rviz

Topics

  • /odom (nav_msgs/Odometry)
    • Estimated sensor pose in the map frame
  • /aligned_points
    • Input point cloud aligned with the map
  • /status (hdl_localization/ScanMatchingStatus)
    • Scan matching result information (e.g., convergence, matching error, and inlier fraction)

Services

  • /relocalize (std_srvs/Empty)
    • Reset the sensor pose with the global localization result
    • For details of the global localization method, see hdl_global_localization

Example

Example bag file (recorded in an outdoor environment): hdl_400.bag.tar.gz (933MB)

rosparam set use_sim_time true
roslaunch hdl_localization hdl_localization.launch
roscd hdl_localization/rviz
rviz -d hdl_localization.rviz
rosbag play --clock hdl_400.bag
# perform global localization
rosservice call /relocalize

If it doesn't work well or the CPU usage is too high, change ndt_neighbor_search_method in hdl_localization.launch to "DIRECT1". It makes the scan matching significantly fast, but a 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, [email protected]

Active Intelligent Systems Laboratory, Toyohashi University of Technology, Japan [URL] Human-Centered Mobility Research Center, National Institute of Advanced Industrial Science and Technology, Japan [URL]

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].