hdl_graph_slam#
什么是 hdl_graph_slam?#
- 一个开源的 ROS 软件包,用于使用 3D LIDAR 的实时 6DOF SLAM.它基于 3D Graph SLAM,具有基于 NDT 扫描匹配的里程计估计和回路检测.它还支持多个图形约束,例如 GPS、IMU 加速度(重力矢量)、IMU 方向(磁传感器)和地板平面(在点云中检测到).
存储库信息#
原始仓库 link#
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文件(在室外环境中记录):
- hdl_400.bag.tar.gz (raw data, about 900MB)
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