Ubuntu20.04下A-LOAM配置安装及测试教程(包含报错问题踩坑)

这篇具有很好参考价值的文章主要介绍了Ubuntu20.04下A-LOAM配置安装及测试教程(包含报错问题踩坑)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考文章:

ubuntu20.04下ros运行A-LOAM
Ubuntu20.04下运行LOAM系列:A-LOAM、LeGO-LOAM、SC-LeGO-LOAM、LIO-SAM 和 LVI-SAM

需要学习源码的同学可以下载LOAM论文
LOAM论文链接

1.需要安装的库文件

1.1Eigen 3.3
可以直接使用apt命令安装,或者去官网下载源码安装

sudo apt-get install libeigen3-dev

安装成功如下,我这里之前装过所以显示如下,可以看到安装的版本为3.3.7
Ubuntu20.04下A-LOAM配置安装及测试教程(包含报错问题踩坑),SLAM
1.2 ceres

//克隆下来,如果网络不好一直下载不了就去官网下载源码然后解压
git clone https://ceres-solver.googlesource.com/ceres-solver
 //在当前目录下创建文件夹ceres-bin
sudo mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver
make -j4
make test
sudo make install

按照上面的步骤装好之后,我们再来测试一下ceres是否装好了
测试ceres

sudo mkdir ceres_test
cd ceres_test
touch CMakeLists.txt
touch cere_example.cpp
sudo mkdir build 
cd build
cmake ..
make
./ceres_example

其中CMakeLists.txt和ceres_example.cpp文件内容分别如下
CMakeLists.txt

cmake_minimum_required(VERSION 3.8.0)
 
project(ceres_example)
 
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
find_package(Ceres REQUIRED)
 
include_directories(
  ${CERES_INCLUDE_DIRS}
)
 
add_executable(ceres_example
ceres_example.cpp)
 
target_link_libraries(ceres_example
    ${CERES_LIBRARIES}
)

ceres_example

#include <ceres/ceres.h>
 
class CostFunctor {
public:
    template <typename T>
    bool operator()(const T* const x, T* residual) const
    {
        residual[0] = 10.0 - x[0];
        return true;
    }
};
 
int main(int argc, char const* argv[])
{
    double initial_x = 5.0;
    double x = initial_x;
 
    // Build the problem.
    ceres::Problem problem;
 
    // Set up the only cost function (also known as residual). This uses
    // auto-differentiation to obtain the derivative (jacobian).
    ceres::CostFunction* cost_function = new ceres::AutoDiffCostFunction<CostFunctor, 1, 1>(new CostFunctor);
    problem.AddResidualBlock(cost_function, nullptr, &x);
 
    // Run the solver!
    ceres::Solver::Options options;
    options.linear_solver_type = ceres::DENSE_QR;
    options.minimizer_progress_to_stdout = true;
    ceres::Solver::Summary summary;
    Solve(options, &problem, &summary);
 
    std::cout << summary.BriefReport() << "\n";
    std::cout << "x : " << initial_x
              << " -> " << x << "\n";
    return 0;
}

运行后输出如下,就代表测试成功,ceres安装成功
Ubuntu20.04下A-LOAM配置安装及测试教程(包含报错问题踩坑),SLAM
1.3 pcl
同样的可以使用apt安装,或者去官网下载源码自行安装

sudo apt install libpcl-dev

2 下载编译A-LOAM

2.1下载源码
A-LOAM开源地址

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

2.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")

2.2 修改源码
如果我们下载下来源码之后直接对其编译,是会发生报错的,因此我们需要对源码进行一些修改

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

2.3 编译ALOAM

//定位至我们原来新建的工作空间中进行编译
cd ~/ALOAM/
catkin_make

编译成功显示如下
Ubuntu20.04下A-LOAM配置安装及测试教程(包含报错问题踩坑),SLAM

3 运行测试ALOAM

在A-LOAM源码中新建dataSet文件夹存放我们的数据集,将nsh_indooroutdoor.bag数据集下载至该文件夹中。
在A-LOAM源码中找打launch文件夹,在该文件夹中打开终端并输入如下命令

roslaunch  aloam_velodyne_VLP_16.launch

然后再在dateSet文件夹中打开一个终端,输入如下命令开始播放数据集

rosbag play nsh_indoor_outdoor.bag

显示效果如下:
Ubuntu20.04下A-LOAM配置安装及测试教程(包含报错问题踩坑),SLAM
最后测试成功。

4 关于报错

如果我们在编译ALOAM的时候出现大量关于ceres的报错,如下图所示
Ubuntu20.04下A-LOAM配置安装及测试教程(包含报错问题踩坑),SLAM
解决方法:
是因为ceres版本的问题,我们可以将ceres更换至和A-LOAM配套的版本,或者进行如下的源码修改:
在laserMapping.cpp(row567-568)和 laserOdometry.cpp(row286-287)这两个cpp文件中,将如下代码

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

改为:

ceres::Manifold *q_parameterization = new ceres::EigenQuaternionManifold();

再次进行catkin_make发现编译成功,问题解决!文章来源地址https://www.toymoban.com/news/detail-792582.html

到了这里,关于Ubuntu20.04下A-LOAM配置安装及测试教程(包含报错问题踩坑)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows系列(特别有参考意义):Windows 10 安装配置WSL2(ubuntu20.04)教程 超详细

    超详细windows安装配置WSL2(ubuntu20.04)步骤 Windows上快速安装WSL2教程 windows wsl2安装 1.什么是WSL? Windows Subsystem for Linux(简称WSL),Windows下的Linux子系统,是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是

    2024年04月16日
    浏览(44)
  • Ubuntu 20.04 LTS 安装教程

    官方桌面版下载:https://cn.ubuntu.com/download/desktop,进入下载页面后,通常我们并不想安装最新的Ubuntu版本,那么需要找到其它版本的下载链接,如下图的红色框。如果要安装最新版,直接点击下载下图中的绿色框即可   由于该教程主要是安装 Ubuntu 20.04 版本,所以点击【上图

    2024年02月17日
    浏览(58)
  • Ubuntu server 20.04详细安装教程

    去Ubuntu官网找到20.04的镜像文件(20.04下载地址),按照自己的需求下载 iso文件 用Rufus制作启动盘,到官网下载文件(rufus官网) 分区类型:选择GPT,目标系统类型UEFI(非SM) GPT和MBR是不同的分区表类型 使用MBR分区表的硬盘最多只能划分4个主分区磁盘,并且MBR最大仅支持

    2024年03月23日
    浏览(34)
  • Ubuntu20.04安装配置Nginx

    由于在学习配置时,网上的教程比较杂乱,用时很久才做好一些基础配置,把流程记录一下方便和我一样的小白学习 本文写于2023.2.10,如果间隔太久,下述内容可能会失效,请另寻教程 仅包含基础教程,个人服务未涉及到负载均衡 安装nginx 配置静态服务器 配置端口转发 配

    2024年02月03日
    浏览(46)
  • 安装配置 JupyterLab ubuntu20.04

    目录 ​编辑 (1)安装  (2)配置 (1)生成配置文件  (2)生成jupyterlab的登录密码 (3)修改 jupyter 的配置文件 (4)安装 jupyterlab 插件  (3)启动  安装时保持software updater设置如下 安装jupyterlab时有warning 参考后解决:(1条消息) WARNING: The scripts ... are installed in /home/.../.

    2023年04月21日
    浏览(62)
  • Ubuntu系统安装、配置与美化(Ubuntu20.04)

    本文的写作目的在于帮助完全零基础的小白不理解原理而可以 无脑安装Linux系统 ,同时也是为自己进行的一个整理,相较于网上大多数的教程,本教程将一些内容进行了整合与整理,加之本人在安装Ubuntu系统的时候听从学长的教导了解的内容,对于部分的网络常见的教程进行

    2023年04月17日
    浏览(57)
  • 下载安装Ubuntu 20.04详细教程(内附安装22.04版本教程链接)

    🌈 个人主页:python老鸟的博客 🔆 免费专栏:Python基础教程 ❤️  分享网站: 《Python自学网》👉👉基础入门到逐步深入  |  适合新手入门到精通  | python全栈体系课程   🙏 如果觉得博主文章对你有所帮助的话,还望大家多多支持呀!关注  |  点赞  |  收藏  |  评论

    2024年01月21日
    浏览(57)
  • Carla 安装详细教程 —— Ubuntu 20.04 安装 Carla

    自动驾驶算法的调试和效果评测首先要在仿真环境中去做,因此,一个强大、灵活的仿真环境是开发、测试过程中必不可少的要素。我们在查找可用的仿真工具时主要关注以下几个特性: 开源,免费; 包含高速场景; 可以便捷的控制、切换场景的环境,且场景、环境尽可能

    2024年02月03日
    浏览(37)
  • Ubuntu 20.04 安装VNC Server的教程。

    以下是在Ubuntu 20.04上安装VNC服务器(VNC Server)的教程: 更新系统: 安装Xfce桌面环境: 安装TightVNC服务器: 启动VNC服务器并设置访问密码: 在第一次运行vncserver时,会要求设置一个访问密码,并确认密码。 停止VNC服务器: 注意,\\\":1\\\" 是显示的标识符,如果您设置了不同的显

    2024年02月12日
    浏览(36)
  • Ubuntu20.04安装Nvidia显卡驱动教程

    nouveau是Ubuntu自带的显卡驱动,但他是核显,我这里想安装独显,就得把他禁掉。 1、创建文件,如果没有下载vim编辑器,将vim换成gedit即可 2、在文件中插入以下内容,将nouveau加入黑名单,默认不开启 3、输入以下命令使禁用生效然后重启 4、重启后验证 如果回车后无反应,则

    2024年02月07日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包