原博主琨特,本人便于学习写到了自己的账号下,见谅。
介绍基于Livox三维激光雷达和开源LOAM-Livox进行定位和建图实验。
目录
1、简介
1.1 Livox Mid-40三维激光雷达
1.2 基于LOAM-Livox的SLAM开源方案
2、Livox Mid-40驱动安装
2.1 编译和安装Livox SDK
2.2 Livox ROS Driver驱动安装
2.3 运行Livox ROS Driver驱动
3、LOAM-Livox开源方案编译
3.1 需要的环境和库
3.2 LOAM-Livox构建
3.3 运行LOAM-Livox
1、简介
本实验环境是基于Ubuntu16.04进行的。
1.1 Livox Mid-40三维激光雷达
Livox Mid-40是一款高性价比、安全可靠的激光探测测距仪传感器,可广泛应用于包括无人驾驶环境感知、机器人导航、动态路径规划、高精度测绘等众多领域。该款激光探测测距仪采用独有的非重复扫描技术,提供更高密度的点云,精确探测视场中的每个细节。用户可通过Livox Viewer软件实时获取三维图像,更能基于Livox SDK进行开发,轻松获取3D点云数据,满足个性化的应用需求。Livox Mid-40的高可靠性设计,有效确保无论是极寒天气还是酷热环境下都能稳定运行。
Livox Mid-40最大探测距离可达260米。
1.2 基于LOAM-Livox的SLAM开源方案
激光雷达作为新一代测绘利器,在移动三维建图中有着巨大的潜力。使用激光雷达可以快速构建周围环境的3D地图,具有测量精度高、方向性好等优点,且不易受周围环境光、雨尘等影响。针对此专题,香港大学MaRS实验室(web.hku.hk/~fuzhang) 使用了Livox Mid-40激光雷达,并开发出一种针对性的测距和建图算法—LOAM-Livox。
LOAM-Livox算法采用开源算法,供开发者免费使用(https://github.com/hku-mars/loam_livox)。
该LOAM 算法仅使用一个 Livox Mid-40 单元,没有融合其他传感器如 IMU、GPS 或摄像头。通过运动补偿机制进行连续扫描匹配,从而实现 LiDAR位姿的实时解算(即测距)。有了LiDAR位姿, 所有LiDAR测量的点云就可以投影到同一个全局坐标系中, 得到环境的三维地图。为提升算法性能和可靠性,一系列核心问题得以解决,包括有限视场下的特征提取和筛选、杂点剔除、移动物体过滤以及帧内运动补偿。该算法的测距和建图部分均可以同时在MacBook上以 20 Hz 的频率实时运行。
仅凭一个 Livox Mid-40 和一台手提电脑,MaRS 实验室就完成了香港科技大学主校区的高精度三维地图测绘,如下图示,即便是细微的细节也清晰可见。这一解决方案也大大降低大范围移动测绘的成本和门槛。
相关的论文已经发布:
1、Loam_livox: A fast, robust, high-precision LiDAR odometry and mapping package for LiDARs of small FoV (地址:https://arxiv.org/abs/1909.06700)
2、A fast, complete, point cloud based loop closure for LiDAR odometry and mapping
(地址:https://arxiv.org/abs/1909.11811)
2、Livox Mid-40驱动安装
2.1 编译和安装Livox SDK
Livox ROS Driver驱动取决于Livox-SDK ,如果您从未安装过Livox-SDK ,则必须首先安装Livox-SDK ,如果您安装了最新版本的Livox-SDK,请跳过此步骤并转到下一步。
Step1:在Linux终端中安装相应的依赖库
sudo apt install cmake pkg-config libapr1-dev libboost-atomic-dev libboost-system-dev
Step2:在Github上下载或克隆Livox-SDK/Livox-SDK存储库
git clone https://github.com/Livox-SDK/Livox-SDK.git
Step3:在build目录下编译并安装Livox-SDK
cd Livox-SDK/build
cmake ..
make
sudo make install
2.2 Livox ROS Driver驱动安装
Step1:从github克隆livox_ros_driver软件包
git clone https://github.com/Livox-SDK/livox_ros_driver.git ws_livox / src
Step2:编译livox_ros_driver软件包
cd ws_livox
catkin_make
Step3:软件包环境设置
source ./devel/setup.sh
2.3 运行Livox ROS Driver驱动
根据Livox Mid-40说明书(https://www.livoxtech.com/mobile/cn/mid-40-and-mid-100/downloads)把三维激光雷达和安装有Ubuntu的笔记本电脑连接起来,在rviz中查看是否能够看到点云信息。
roslaunch livox_ros_driver livox_lidar_rviz.launch
3、LOAM-Livox开源方案编译
3.1 需要的环境和库
Ubuntu and ROS安装
Ubuntu 64-bit 16.04 or 18.04 ROS Kinetic or Melodic.
(地址:http://wiki.ros.org/ROS/Installation)
Ceres Solver安装
Ceres优化求解器的安装。
(地址:http://ceres-solver.org/installation.html)
PCL安装
PCL点云库的安装。
(地址:https://pointclouds.org/downloads/linux.html)
3.2 LOAM-Livox构建
克隆LOAM-Livox到自己的工作空间,并进行编译。
cd ~/catkin_ws/src
git clone https://github.com/hku-mars/loam_livox.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
3.3 运行LOAM-Livox
假如步骤2的驱动正确安装的话,能够显示实时的点云数据,下面可以运行LOAM-Livox进行点云定位和建图。
启动Livox Mid-40
roslaunch livox_ros_driver livox_lidar.launch
启动LOAM-Livox
roslaunch loam_livox livox.launch
假如暂时没有Livox Mid-40三维激光雷达,可以利用官方给你实例数据(https://drive.google.com/drive/folders/1HWomWWPSEVvka2QVB2G41iRvSwIt5NWf)进行测试SLAM方案。之后直接按下面方式进行试验;
roslaunch loam_livox rosbag.launch
rosbag play YOUR_DOWNLOADED.bag