Ubuntu20.04+ros-noetic运行激光雷达SLAM(A-LOAM)

一、概述

        因为课程要求需要使用ros完成激光雷达SLAM,我们选择较为简单的A-LOAM激光雷达SLAM算法进行实验。

        可以参考这篇博客,里面对A-LOAM的原理有一定的讲解,后面附带一些关于A-LOAM和LOAM算法一些博客,有github的源代码网站、对代码的详细注释以及如何在Ubuntu下进行配置相关系统等。

        LOAM论文介绍与A-LOAM代码简介-腾讯云开发者社区-腾讯云

        下面将讲述我们的安装过程。

二、安装

        安装过程比较简单,github源代码网站如下所示。

        https://github.com/HKUST-Aerial-Robotics/A-LOAM/tree/devel        

        首先创建一个ros工作空间,新建一个终端,在终端中输入如下的命令

mkdir lidar
cd lidar
mkdir src
catkin_make

        将github上的源代码拷入到src目录下。可以采取在终端中使用git clone的命令,或者下载源码拷入。

        由于我们使用的速腾雷达是16线的,对ros的launch文件进行分析,我们需要运行的是下面这个文件。

        由于launch文件只运行了三个可执行文件,在编译ros包的时候,我们为了省事,将src/kittiHelper.cpp文件去除,不在编译这个文件。

        剩余文件如图所示。

         需要对这四个文件进行一些修改,否则在最后运行激光雷达SLAM时候,启动rviz无法显示点云。需要查找这几个文件中的/camera_init,将其全部更改为camera_init,即去掉前面的/,这样才可以正常显示点云。本处参考博客为ALOAM运行 - 知乎

        在scanRegistration.cpp文件中,有些地方需要进行修改。第一处在头文件中,需要将一行代码注释掉。这行代码导入的旧版的opencv文件,这里面不需要这行代码,这行代码有点多余。如果OpenCV版本过新,这里可能会报错,直接注释掉就行。

#include <opencv/cv.h>

         将原本main主函数中,将订阅激光雷达所采集点云数据的话题名称进行更改,需要与激光雷达发布的点云数据话题相对应,才可以正确接受到。

ros::Subscriber subLaserCloud = nh.subscribe&lt;sensor_msgs::PointCloud2&gt;("/rslidar_points", 100, laserCloudHandler);

        更改完成之后,启动激光雷达进行点云数据发布。

        新开终端,在终端中输入如下命令。

catkin_make
source ./devel/setup/bash
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch

        如图所示,即可正确显示简图。

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GFCGUO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值