从零开始的三维激光雷达SLAM教程第一讲(搭建运行环境,并跑Kitti数据集)

引言

毕业设计打算做三维激光SLAM,记录一些学习历程,也给后面人一点帮助。本教程不涉及SLAM基本概念(如果没有自行补充),主要包含以下几部分内容。

  1. 搭建激光SLAM的运行环境并运行数据集
  2. 在Gazebo中构建仿真地图并添加动态障碍物,使用仿真小车采集激光数据。
  3. A-LOAM详解,算法+代码
  4. Lego-LOAM详解,算法+代码

本教程所有代码都在github上:github

第一节:运行xx-LOAM与数据集

编译A-LOAM

先从git上clone代码,使用了我常用的ghproxy代理下载,直接clone可能会有网络问题,当然也有很多其他办法

git clone https://ghproxy.com/https://github.com/HKUST-Aerial-Robotics/A-LOAM.git

安装ceres(最小二乘求解库)

安装ceres,先安装依赖

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev

然后下载下面的文件并解压进入

https://github.com/ceres-solver/ceres-solver/releases/tag/2.0.0

然后是我们最熟悉的安装(不熟悉说明用的太少了),如果你发现有错很可能是需要加sudo

mkdir build
cd build
cmake ..
make -j8 #用八个核编译
sudo make install # 安装

安装pcl(最常见的点云处理库)

现在的版本基本上都可以一键安装

sudo apt-get install libpcl-dev pcl-tools

注意:如果是在ubuntu20.04在后面编译的时候需要把cmakelist里面的set(CMAKE_CXX_FLAGS “-std=c++11”)改成c++14,因为这个版本pcl只能用C++14编译

安装OPENCV

新版本一般都自带了opencv,但是可能找不到,你需要把#include <opencv/cv.h>改为#include <opencv2/imgproc.hpp>
你也可以不安装opencv,删除src下的Kittihelper,我后面会使用将Kitti转ROSbag的方式制作数据集,然后山调scanRegistration文件中的包含的opencv头文件,因为根本没用到。

catkin_make

这个不用说了,catkin_make就行了

制作Kitti数据集

其实网上直接就有很多rosbag,但是还是将Kitti数据集制作成rosbag,这样在其他SLAM算法中也可以使用对比,总规是要对比算法效果的。
你可以通过官网下载,也可以通过连接下载(也在github上写了)
然后安装kitti转rosbag工具

pip install kitti2bag

可能会出现以下问题,主要针对noetic的python3问题

kitti2bag -t 2011_09_26 -r 0001 raw_synced .

在这里插入图片描述

运行A-LOAM建图

先启动aloam,kitti用的是64线的velodyne雷达

roslaunch aloam_velodyne aloam_velodyne_HDL_64.launch  

再播放rosbag,注意要重新映射topic

rosbag play kitti_2011_09_26_drive_0001_synced.bag /kitti/velo/pointcloud:=/velodyne_points

还有一个阴间问题,如果是noetic版本(问题真多),一定要把所有原文件里面的/camera_init改成camera_init

LOAM安装

配置完aloam后,直接下载catkin_make即可

https://github.com/laboshinl/loam_velodyne.git

需要注意如果出错很可能是这个问题修改cmakelist
如果noetic一样要/camera_init改成camera_init,我提供的链接已经修改好了
然后运行即可

roslaunch loam_velodyne loam_velodyne.launch 

可以在launch里面修改线数(默认16线)

Lego-LOAM安装

一样下载编译,但是要安装gtsam和opencv

git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git

可能有的问题(我其他都正常,在用noetic的时候各种问题,建议不要使用noetic):

gtsam安装

下载压缩包

wget https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip

然后老套路安装就行了,可能cmake …时会出错
参考解决方案

结果

在这里插入图片描述

  • 9
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
以下是从零开始三维激光雷达SLAM教程的步骤: 1. 搭建激光SLAM运行环境:确保你的计算机上已经安装了ROS(Robot Operating System)和Gazebo仿真环境。如果没有安装,你可以从ROS官方网站下载并按照官方文档进行安装。 2. 运行数据集在Gazebo中构建仿真地图并添加动态障碍物:使用Gazebo仿真环境创建一个虚拟的三维地图,并添加动态障碍物模拟真实环境。你可以使用ROS提供的相应软件包和插件来实现这一步骤。 3. 采集激光数据:使用仿真小车或者真实的激光雷达设备采集激光数据。你可以使用ROS提供的激光雷达驱动程序来接收和处理激光数据。 4. A-LOAM详解,算法和代码:深入了解A-LOAM算法的原理和实现细节,并查看相应的代码。A-LOAM是一种常用的三维激光SLAM算法,它可以用于在实时环境中建立地图并进行定位和导航。 5. Lego-LOAM详解,算法和代码:除了A-LOAM,你还可以了解Lego-LOAM算法的原理和实现细节,并查看相应的代码。Lego-LOAM是另一种常用的三维激光SLAM算法,它也可以用于实时建图和定位导航。 在进行教程中的实践时,请确保按照每个步骤的指导执行操作,并逐步完成搭建、仿真、数据采集、算法理解和代码实现的过程。你可以参考教程中提供的代码,也可以自己编写代码进行实践。 请注意,这仅是一个从零开始三维激光雷达SLAM教程的简要概述。对于每一步的具体细节和更多深入的解释,请参考教程中提供的引用资料和相关文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值