SLAM实操入门(七):使用Velodyne16线激光雷达与A | 您所在的位置:网站首页 › 激光雷达使用教程图解大全 › SLAM实操入门(七):使用Velodyne16线激光雷达与A |
SLAM实操入门(七):使用Velodyne16线激光雷达与A-Loam进行三维SLAM
吴恩达亲传弟子
分类:建图导航
发布时间 2023.02.02阅读数 3595 评论数 0
前言
上文介绍使用自己的多线激光雷达来可视化、采数据,接下来就是介绍怎么使用港科大改进的A-Loam进行建图。注意注意!第六和第七章使用的都是Ubuntu18.04系统!!!!!! 1 A-LOAM参考论文如下:LOAM: Lidar odometry and mapping in real-time A-LOAM 是 LOAM的先进实现(Advanced Implementation),使用 Eigen 和 Ceres Solver 库来简化代码结构。它一种实时的里程计和映射方法,使用来自 6 自由度移动的 2 轴激光雷达的距离测量。距离测量是在不同的时间接收的,并且运动估计中的错误会导致结果点云的错误配准。迄今为止,可以通过离线批处理方法构建连贯的 3D 地图,通常使用闭环来校正随时间的漂移(建图过程走一个闭环路线,进行重新匹配与地图修正)。我们的方法无需高精度测距或惯性测量即可实现低漂移和低计算复杂度。获得这种性能水平的关键思想是同时定位和映射的复杂问题的划分,该问题旨在通过两种算法同时优化大量变量。 一种算法以高频率但低保真度执行里程计来估计激光雷达的速度。另一种算法以低一个数量级的频率运行,用于点云的精细匹配和配准。两种算法的组合允许该方法实时映射。该方法已通过大量实验以及 KITTI 里程计基准进行了评估。结果表明,该方法可以达到最先进的离线批处理方法水平的准确性(2014年,目前来看任然很好用)。 Github工程的链接如下:Advanced implementation of LOAM 此代码是从 LOAM 和LOAM_NOTED修改的,简洁明了且没有复杂的数学推导和冗余操作。对于 SLAM 初学者来说是很好的入门学习项目。 2 预备条件 2.1 Ubuntu和ROSUbuntu 要求为64位16.04版本或18.04版本。ROS为 Kinetic 或 Melodic 。 (18.04以上应该也能运行,但是可能会有一些小bug,建议还不熟悉的同学使用推荐版本搭建项目) 2.2 Ceres Solver(Ceres求解器)Ceres安装的参考地址:Ceres Solver Ceres Solver 是一个开源 C++ 库,用于建模和解决大型、复杂的优化问题。它可用于解决具有边界约束和一般无约束优化问题的非线性最小二乘问题。也是A-LOAM的支持包。 首先安装依赖包 # CMake sudo apt-get install cmake # google-glog + gflags sudo apt-get install libgoogle-glog-dev libgflags-dev # Use ATLAS for BLAS & LAPACK sudo apt-get install libatlas-base-dev # Eigen3 sudo apt-get install libeigen3-dev # SuiteSparse (optional) sudo apt-get install libsuitesparse-dev # CMake sudo apt-get install cmake # google-glog + gflags sudo apt-get install libgoogle-glog-dev libgflags-dev # Use ATLAS for BLAS & LAPACK sudo apt-get install libatlas-base-dev # Eigen3 sudo apt-get install libeigen3-dev # SuiteSparse (optional) sudo apt-get install libsuitesparse-dev 复制依赖包安装完成 进入下载链接,点击如图所示连接,下载Ceres安装包进入下载文件 cd Downloads/ cd Downloads/ 复制使用ls ls看看文件名叫啥,使用tar tar解压 tar zxf ceres-solver-2.1.0.tar.gz tar zxf ceres-solver-2.1.0.tar.gz 复制创建工程文件,进入,编译 mkdir ceres-bin cd ceres-bin cmake ../ceres-solver-2.1.0 mkdir ceres-bin cd ceres-bin cmake ../ceres-solver-2.1.0 复制成功后,执行以下命令 make -j3 make test # Optionally install Ceres, it can also be exported using CMake which # allows Ceres to be used without requiring installation, see the documentation # for the EXPORT_BUILD_DIR option for more information. make install make -j3 make test # Optionally install Ceres, it can also be exported using CMake which # allows Ceres to be used without requiring installation, see the documentation # for the EXPORT_BUILD_DIR option for more information. make install 复制安装完成 2.3 PCL(Point Cloud Library)PCL安装网址:Point Cloud Library sudo apt install libpcl-dev sudo apt install libpcl-dev 复制 3 创建A-LOAM工程 回到主页,创建工程文件 sudo mkdir -p catkin_ALoam/src/ sudo mkdir -p catkin_ALoam/src/ 复制进入工程文件中 cd catkin_ALoam/src/ cd catkin_ALoam/src/ 复制拉取工程 sudo git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git sudo git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git 复制返回上级目录,编译 cd .. catkin_make cd .. catkin_make 复制source一下bash文件以配置环境变量 source devel/setup.bash source devel/setup.bash 复制搞定! 3 使用A-Loam进行SLAM这时候得把第六章的代码一起跑,一个拿数据,一个来建图。 Ctrl+Alt+T Ctrl+Alt+T 打开新终端,启动激光雷达 roslaunch velodyne_pointcloud VLP16_points.launch roslaunch velodyne_pointcloud VLP16_points.launch 复制启动A-Loam建图 roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch 复制结果如下 把雷达拿起来动一动试试! 注意动作幅度最好不好太大,也不要给俯仰和滚转的运动。 创建地图的过程视频如下,我简单站起来走了两步https://live.csdn.net/v/embed/239777 A-Loam建图过程 建图效果如下 运动轨迹如下(站起来鬼畜) 看看地图的细节和不同角度 https://live.csdn.net/v/embed/239780 A-Loam创建的地图 总结本文介绍了使用Velodyne的16线激光雷达进行建图,算法是港科大2014年重构的A-Loam,希望能帮到大家。 SLAM实操入门(一):在已有WIN10的电脑上安装Ubuntu20.04 SLAM实操入门(二):Ubuntu20.04安装ROS Noetic并运行“小乌龟”程序 SLAM实操入门(三):Ubuntu20.04安装Turtlebot3并运行SLAM例程仿真 SLAM实操入门(四):使用ROS连接自己的激光雷达并可视化扫描结果 SLAM实操入门(五):无里程计仅使用激光雷达建图(GMapping算法) SLAM实操入门(六):连接Velodyne的16线激光雷达并可视化 SLAM激光雷达自动驾驶学习笔记Velodyne
打赏 0 点赞 0 收藏 0 分享 微信 微博 QQ 图片 上一篇:SLAM实操入门(六):连接Velodyne的16线激光雷达并可视化 |
CopyRight 2018-2019 实验室设备网 版权所有 |