ubuntu 20.04 运行A-LOAM

1、学习A-LOAM的原因

        代码清晰度确实很高,整理的非常简洁,适用于入门

2、安装

2.1下载源配置

在软件与更新里更换源,这样方便下面各种库的安装 

2.2 相关配置安装与测试

2.2.1 ROS

                ubuntu 20.04 一键安装ROS(原博主鱼香ROS)

                终端输入以下一句代码

                wget http://fishros.com/install -O fishros && bash fishros

 2.2.2 eigen  

                sudo apt-get install libeigen3-dev

2.2.3 ceres

1、ceres安装(参考学无止境的小龟-CSDN博客

2、ceres安装测试(参考AAAAAJoker-CSDN博客
 

2.2.4 pcl

1、安装PCL

sudo apt install libpcl-dev

2、测试pcl(参考博主甜橙の学习笔记-CSDN博客运行的一个实例)

2.3 A-LOAM包下载

1、下载A-LOAM

//建立A-LOAM工作空间
sudo mkdir ALOAM
cd ALOAM
sudo mkdir src// 不要修改文件夹名称,就用src
cd src
 //clone下来,如果网络不好同样可以直接去官网下载源码下来解压
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git

带注释的代码参考WellP.C 

 2、修改修改CMakeLists.txt

由于PCL版本1.10,将C++标准改为14,在A-LOAM源码中的CMakeLists.txt中进行如下修改

//set(CMAKE_CXX_FLAGS "-std=c++11")
set(CMAKE_CXX_FLAGS "-std=c++14")

3、修改.cpp文件部分内容

a、将四个.cpp文件中的/camera_init修改为camera_init
b、将scanRegistration.cpp中的 #include <opencv/cv.h> 修改为#include <opencv2/imgproc.hpp>
c、修改kittiHelper.cpp中 CV_LOAD_IMAGE_GRAYSCALE为 cv::IMREAD_GRAYSCALE
d、如果编译遇到大量未找到Eigen相关错误,将四个.cpp文件中的#include <eigen3/Eigen/Dense>修改为#include <Eigen/Dense>

3、运行

cd ALOAM   //里面有src文件夹
catkin_make 
source devel/setup.bash  //不运行setup.bash后面的rosplay会出问题
  1. 下载数据集包nsh_indooroutdoor.bag,注意是从外网下载的,如果下载损坏,重新下载

  2.  make回出现问题


    在laserMapping.cpp(row567-568)和 laserOdometry.cpp(row286-287)这两个cpp文件中,将如下代码

    ceres::LocalParameterization *q_parameterization = new ceres::EigenQuaternionParameterization();

    改为:

    ceres::Manifold *q_parameterization = new ceres::EigenQuaternionManifold();
  3. 在文件夹src中找打launch文件夹,在该文件夹中打开终端并输入如下命令
    roslaunch  aloam_velodyne_VLP_16.launch
  4. 然后运行数据包
    rosbag play nsh_indoor_outdoor.bag
  5. 显示结果
  6. 。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值