koide3/hdl_localization

C++

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

localizationroslidarreal-timevelodyne
スター成長
スター
1k
フォーク
333
週間成長
+0
Issue
67
5001k
2018年1月2020年11月2023年10月2026年9月
README

New packages arrived

We released a new open source 3D mapping framework GLIM.
We also developed a map-based localization system GLIL as closed source.

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

Support docker :whale:

Using docker, you can conveniently satisfy the requirement environment.
Please refer to the repository below and use the docker easily.

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.

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, k.koide@aist.go.jp

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]

関連リポジトリ
AtsushiSakai/PythonRobotics

Python sample codes and textbook for robotics algorithms.

PythonPyPItutorialOtherpythonrobotics
atsushisakai.github.io/PythonRobotics/
30.5k7.4k
Huanshere/VideoLingo

Netflix-level subtitle cutting, translation, alignment, and even dubbing - one-click fully automated AI video subtitle team | Netflix级字幕切割、翻译、对齐、甚至加上配音,一键全自动视频搬运AI字幕组

PythonPyPIApache License 2.0ai-translationdubbing
docs.videolingo.io
18.4k2k
formatjs/formatjs

The monorepo home to all of the FormatJS related libraries, most notably react-intl.

TypeScriptnpmjavascriptreact
formatjs.github.io
14.7k1.4k
krillinai/OpenCreator

Formerly KrillinAI. Open-source AI workspace for creators, powered by Codex. Create videos, images, voice, avatars, translations, and edits with Agents in one place.

TypeScriptnpmappvideo-transcriptionvideo-translation
11.4k1.1k
krillinai/KrillinAI

AI video translation & dubbing tool for humans and AI Agents, powered by LLMs. Full pipeline: download, transcribe, translate, TTS dub, reformat, cover generation. 100+ languages, optimized for YouTube, TikTok, Bilibili, Douyin, and more.AI视频翻译配音工具,面向人类与AI Agent,100+语言全链路,CLI分阶段调用,适配抖音、小红书、哔哩哔哩、视频号、TikTok、YouTube

GoGo ModulesappGNU General Public License v3.0video-transcriptionvideo-translation
11.3k1.1k
Humanizr/Humanizer

Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities

C#libraryOtherlocalizationhacktoberfest
9.9k1.1k
SwiftGen/SwiftGen

The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs!

SwiftMIT Licenseiosswift
9.5k766
cartographer-project/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++libraryApache License 2.0slammapping
8k2.3k
Laravel-Lang/lang

List of 128 languages for Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova and Laravel UI.

PHPPackagistlibraryMIT Licenselaravellanguage
laravel-lang.com/packages-lang.html
7.8k2.9k
WeblateOrg/weblate

Web based localization tool with tight version control integration.

PythonPyPIGNU General Public License v3.0localizationinternationalization
weblate.org
6.1k1.4k
lingui/js-lingui

🌍 📖 A readable, automated, and optimized (2 kb) internationalization for JavaScript

TypeScriptnpmMIT Licensetranslationinternationalization
lingui.dev
5.9k456
tolgee/tolgee-platform

Developer & translator friendly web-based localization platform

TypeScriptnpmOtherlocalizationlocalization-tool
tolgee.io
4.1k367