Skip to content

hdl_graph_slam#

什么是 hdl_graph_slam?#

  • 一个开源的 ROS 软件包,用于使用 3D LIDAR 的实时 6DOF SLAM.它基于 3D Graph SLAM,具有基于 NDT 扫描匹配的里程计估计和回路检测.它还支持多个图形约束,例如 GPS、IMU 加速度(重力矢量)、IMU 方向(磁传感器)和地板平面(在点云中检测到).

存储库信息#

https://github.com/koide3/hdl_graph_slam

必需的传感器#

  • LIDAR [Velodyne, Ouster, RoboSense]
  • IMU [6-AXIS, 9-AXIS] [OPTIONAL]
  • GPS [OPTIONAL]

ROS 兼容性#

  • ROS 1

依赖#

  • ROS
  • PCL
  • g2o
  • OpenMP

需要以下 ROS 包:

构建并运行#

1) 构建#

# for melodic
sudo apt-get install ros-melodic-geodesy ros-melodic-pcl-ros ros-melodic-nmea-msgs ros-melodic-libg2o
cd catkin_ws/src
git clone https://github.com/koide3/ndt_omp.git -b melodic
git clone https://github.com/SMRT-AIST/fast_gicp.git --recursive
git clone https://github.com/koide3/hdl_graph_slam

cd .. && catkin_make -DCMAKE_BUILD_TYPE=Release

# for noetic
sudo apt-get install ros-noetic-geodesy ros-noetic-pcl-ros ros-noetic-nmea-msgs ros-noetic-libg2o

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

cd .. && catkin_make -DCMAKE_BUILD_TYPE=Release

2) 设置参数#

  • launch/hdl_graph_slam_400.launch 上设置激光雷达主题

  • launch/hdl_graph_slam_400.launch 上设置注册设置

3) 运行#

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

通过以下方式保存生成的映射:

rosservice call /hdl_graph_slam/save_map "resolution: 0.05
destination: `/full_path_directory/map.pcd`"

示例结果#

例 2 (室外)#

Bag文件(在室外环境中记录):

rosparam set use_sim_time true
roslaunch hdl_graph_slam hdl_graph_slam_400.launch
roscd hdl_graph_slam/rviz
rviz -d hdl_graph_slam.rviz
rosbag play --clock dataset.bag

文件#

Kenji Koide、Jun Miura 和 Emanuele Menegatti,基于便携式 3D 激光雷达的系统,用于长期和广域人员行为测量,高级机器人系统,2019 年 [link].

联系#

Kenji Koide, k.koide@aist.go.jp, https://staff.aist.go.jp/k.koide

[日本丰桥工业大学主动智能系统实验室] [日本先进工业科学技术研究所 (AIST) 移动机器人研究团队]