hdl_localization技术文档
hdl_localization是一个基于ROS的实时三维定位包,专为如Velodyne HDL32e和VLP16这样的3D激光雷达设计。它采用无迹卡尔曼滤波(UKF)进行姿态估计,结合了IMU数据初步估算传感器姿态,并通过多线程NDT(Normal Distributions Transform)扫描匹配进一步校正,提升定位精度。支持选择性地使用IMU信息,若不启用,则应用恒定速度模型。
安装指南
前提条件
确保您的系统已安装ROS(建议Melodic或更高版本)、PCL、OpenMP以及必要的编译工具。
步骤
-
克隆仓库:打开终端,进入您的catkin工作空间的
src目录。cd /your/catkin_ws/src接着,依次克隆所需的GitHub仓库:
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 -
构建与编译 使用
catkin_make命令进行编译,可以选择开启CUDA加速。cd /your/catkin_ws catkin_make -DCMAKE_BUILD_TYPE=Release # 如需CUDA加速的VGICP # catkin_make -DCMAKE_BUILD_TYPE=Release -DBUILD_VGICP_CUDA=ON
Docker快捷方式
对于快速搭建环境,可以使用Docker,按照提供的指示操作即可。
项目使用说明
-
启动服务 在启动前,设置仿真时间(如果使用模拟数据),并启动
hdl_localization节点:rosparam set use_sim_time true roslaunch hdl_localization hdl_localization.launch -
可视化 使用RVIZ显示定位结果:
roscd hdl_localization/rviz rviz -d hdl_localization.rviz -
播放示例数据 下载并播放提供的示例bag文件进行测试:
rosbag play --clock hdl_400.bag -
全球重定位 当需要进行全球重定位时,调用服务:
rosservice call /relocalize
API使用文档与话题、服务
-
话题:
odom: 输出的估计姿态,nav_msgs/Odometry类型。aligned_points: 输入点云,经过地图对齐。status: 扫描匹配状态信息,如收敛情况、匹配误差及内点比例。
-
服务:
/relocalize: 服务调用来重置传感器姿态至全局定位结果。
示例与配置
定位过程中,如果遇到性能瓶颈或定位不稳定,修改hdl_localization.launch中的ndt_neighbor_search_method至"DIRECT1"可显著加快匹配速度。
相关资源与联系
hdl_localization与其他几个包一起构成一套完整的系统,可用于长期且大面积的人群行为测量等场景。作者Kenji Koide及其研究团队的联系方式可在文档末尾找到,更多技术支持和最新信息请访问其官方网站或直接通过邮件联系。
此文档旨在提供清晰、逐步的指导,帮助开发者和研究人员快速上手并有效利用hdl_localization进行激光雷达的实时定位任务。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0134
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
AgentCPM-ReportAgentCPM-Report是由THUNLP、中国人民大学RUCBM和ModelBest联合开发的开源大语言模型智能体。它基于MiniCPM4.1 80亿参数基座模型构建,接收用户指令作为输入,可自主生成长篇报告。Python00