开源项目使用教程:Funny-Lidar-SLAM
1. 项目介绍
Funny-Lidar-SLAM 是一个实时多功能的激光雷达SLAM(Simultaneous Localization and Mapping,同步定位与建图)软件包。它具备地图构建和定位的双重功能,支持多种类型的IMU(6轴和9轴)和激光雷达(如Velodyne、Livox Avia、Livox Mid 360、RoboSense、Ouster等)。它支持多种前端处理方法,例如LOAM、NDT、ICP等。此外,它还支持多种融合方法,如卡尔曼滤波、优化方法等,并支持多种闭环检测方法。整体准确性和效率接近当前最先进的方法。
2. 项目快速启动
2.1 环境准备
- Ubuntu 20.04 或更高版本
- ROS Noetic
- C++17 编译器
安装ROS Noetic后,大部分依赖库已经安装,包括PCL、Eigen、CMake等。
安装glog、gflag和gtest:
sudo apt-get install libgoogle-glog-dev libgflags-dev libgtest-dev
安装g2o及其依赖:
sudo apt install libeigen3-dev libspdlog-dev libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-dev-qt5
克隆g2o源码并编译安装:
git clone https://github.com/RainerKuemmerle/g2o.git
cd g2o
mkdir build
cd build
cmake ..
make -j
sudo make install
2.2 编译项目
克隆项目代码到funny_lidar_slam_ws/src
目录:
mkdir -p funny_lidar_slam_ws/src
cd funny_lidar_slam_ws/src
git clone https://github.com/zm0612/funny_lidar_slam.git
cd ..
catkin_make -j
source devel/setup.bash
或者,您可以选择使用Docker容器来运行Funny Lidar SLAM。
3. 应用案例和最佳实践
3.1 运行Mapping
根据您的激光雷达型号,选择相应的启动文件和数据集。以下是一些例子:
-
Velodyne HDL-32E
使用M2DGR数据集:
cd funny_lidar_slam_ws source devel/setup.bash roslaunch funny_lidar_slam mapping_M2DGR.launch rosbag play street_02.bag
-
Livox Mid-360
使用Livox Mid-360数据:
cd funny_lidar_slam_ws source devel/setup.bash roslaunch funny_lidar_slam mapping_mid360.launch rosbag play mid_360.bag
-
自定义激光雷达模型(仅支持旋转机械激光雷达)
使用自定义数据:
cd funny_lidar_slam_ws source devel/setup.bash roslaunch funny_lidar_slam mapping_turing.launch rosbag play our.bag
保存点云地图:
cd funny_lidar_slam_ws
source devel/setup.bash
rosservice call /funny_lidar_slam/save_map
"map_path: '' split_map: false"
3.2 运行Localization
-
准备点云地图
将您的点云地图复制到
funny_lidar_slam/data
目录下,并重命名为map.pcd
。 -
运行定位
根据您的激光雷达型号,选择相应的启动文件:
roslaunch funny_lidar_slam localization_mid_360.launch # Livox Mid 360 roslaunch funny_lidar_slam localization_nclt.launch # Velodyne-32 roslaunch funny_lidar_slam localization_turing.launch # RoboSense-16
注意:其他激光雷达型号可以参考上述示例进行配置。
-
设置初始位姿
运行定位程序后,需要播放数据包并设置初始位姿。定位程序没有全局重定位功能,所以需要手动设置初始位置和方向。
4. 典型生态项目
本节将介绍与Funny-Lidar-SLAM相关的典型生态项目,包括但不限于数据集、工具和集成项目。这些项目可以帮助用户更好地使用和扩展Funny-Lidar-SLAM的功能。由于篇幅限制,具体项目内容将在后续更新中详细介绍。
以上就是Funny-Lidar-SLAM开源项目的使用教程。希望对您有所帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考