ubuntu20运行A-LOAM记录
前言
大致看了一下ORB-SLAM、DF-VO等SLAM相关项目,也围绕着DF-VO做了一些修改,现在研二,也该为自己的未来作打算了,看了一下求职的信息,其实给我的感觉招雷达SLAM的会比视觉SLAM的要多,稍微统计了一下,SLAM岗下面几个要求在招聘信息出现的次数比较多。
- ROS
- C++
- LOAM
- ORB-SLAM
- cartographer
- VINS
- 非线性优化
- 卡尔曼
其实之前也一直想学习一下激光SLAM相关知识,这会就拿LOAM开刀吧
安装依赖
1. Ubuntu和ROS
这个不用多说了吧
2. Ceres
Ceres的安装我参考了官方手册,连接在这
安装过程中也没遇到什么问题,一切都很顺利
3. PCL
PCL我也参考了官网的操作流程,我在CSDN上搜索ubuntu20安装PCL,看了一些,感觉安装流程都很麻烦,直到我看到了官网的安装教程,只需要一句话而以!!
官方手册在这
官网在这
终端打开并输入以下命令一键安装
sudo apt-get install libpcl-dev
编译过程
下载和编译
cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
当然,一般来说编译肯定不是一帆风顺的哈哈,下面是我编译过程中遇到的几个小问题
问题1
/usr/include/pcl-1.10/pcl/pcl_config.h:7:4: error: #error PCL requires C++14 or above#error PCL requires C++14 or above
就是工作空间里面的PCL得用C++14吧,而编译时候指定的是11,所以需要该一下,这个时候打开cmakeLists.txt文件,第五行如下:
set(CMAKE_CXX_FLAGS "-std=c++11")
只要改成下面这个就可以了
set(CMAKE_CXX_FLAGS "-std=c++14")
问题2
/home/a/catkin_ws/src/A-LOAM/src/laserMapping.cpp:43:10: fatal error: pcl_conversions/pcl_conversions.h: 没有那个文件或目录#include <pcl_conversions/pcl_conversions.h>
我搜了,看到了这篇博客,终端打开输入以下命令即可解决
sudo apt-get install ros-noetic-pcl-conversions
/home/a/catkin_ws/src/A-LOAM/src/scanRegistration.cpp:44:10: fatal error: opencv/cv.h: 没有那个文件或目录#include <opencv/cv.h>
问题3
找不到CV,其实ROS中noetic已经自动安装了CV4了,只不过引入不对而以link
这个时候只需要找到出错的位置,如下:
#include <opencv/cv.h>
改成下面这样子就可以了
#include <opencv2/imgproc.hpp>
问题4
/home/a/catkin_ws/src/A-LOAM/src/kittiHelper.cpp:91:64: error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scopecv::Mat left_image = cv::imread(left_image_path.str(), CV_LOAD_IMAGE_GRAYSCALE);
C++我不是很懂,我找到博客有说明这个问题的
找到出错位置,如下
cv::Mat left_image = cv::imread(left_image_path.str(), CV_LOAD_IMAGE_GRAYSCALE);
改成以下的就行了
cv::Mat left_image = cv::imread(left_image_path.str(), cv::IMREAD_GRAYSCALE);
运行
运行这部分,前面indoor数据比较容易运行起来,就直接上kitti数据吧。
这里得下载KITTI odometry数据集,官网在这
但是这个地方下载贼慢,我看到有博主把东西下载下来了,传到了云盘,可以在这找。
然后这是我数据集的格式,根规定的稍微有点区别,所以代码要改一下下。
.
└── KITTI├── results│ ├── 00.txt│ ├── 01.txt│ └── 10.txt├── sequences│ ├── 00│ │ ├── calib.txt│ │ ├── image_0│ │ │ ├── 000000.png│ │ │ └── 000002.png│ │ ├── image_1│ │ │ ├── 000000.png│ │ │ └── 000002.png│ │ ├── times.txt│ │ └── velodyne│ │ ├── 000000.bin│ │ └── 000001.bin│ ├── 01│ │ ├── calib.txt│ │ ├── image_0│ │ │ ├── 000000.png│ │ │ └── 000002.png│ │ ├── image_1│ │ │ ├── 000000.png│ │ │ └── 000002.png│ │ ├── times.txt│ │ └── velodyne│ │ ├── 000000.bin│ │ └── 000001.bin│ └── 10│ ├── calib.txt│ ├── image_0│ │ ├── 000000.png│ │ └── 000002.png│ ├── image_1│ │ ├── 000000.png│ │ └── 000002.png│ ├── times.txt│ └── velodyne│ ├── 000000.bin│ └── 000001.bin└── velodyne└── sequences├── 00│ ├── calib.txt│ ├── image_0│ ├── image_1│ └── times.txt├── 01│ ├── calib.txt│ ├── image_0│ ├── image_1│ └── times.txt└── 10├── calib.txt├── image_0├── image_1└── times.txt
在原文的132行,把第一个velodyne/
去掉就可以了,这样子数据集好看一点。
lidar_data_path << dataset_folder << "velodyne/sequences/" + sequence_number + "/velodyne/"
改称这样子
lidar_data_path << dataset_folder << "sequences/" + sequence_number + "/velodyne/"
然后编译,按照github项目先更改launch文件,再运行两个launch就可以了
ubuntu20运行A-LOAM记录相关推荐
- Ubuntu20安装ROS noetic记录
Ubuntu20安装ROS noetic记录 参考地址 官方网址:wiki.ros.org/noetic/Installation/Ubuntu 安装过程 1.添加ROS软件源 sudo sh -c ...
- mysql数据库访问记录_MySQL数据库运行、访问记录与日志
以下的文章主要向大家介绍的是查看MySQL数据库运行.访问记录与日志的实际操作,我们大家都知道MySQL数据库运行.访问记录与日志的实际应用可以说很是广泛,以下的文章就是对这些内容的详细介绍. 1.首 ...
- 怎么在mysql查看运行日志_如何查看mysql运行、访问记录等日志
如何查看mysql运行.访问记录等日志 1.首先确认你日志是否启用了 mysql>show variables like 'log_bin'; mysql>show variables l ...
- ubuntu20.04 基本配置记录 安装 搜狗输入法 QQ 微信
ubuntu重装系统的操作已经是家常便饭,但是因为每次都没有记录解决问题的过程,导致每次操作系统都要花很大精力去解决问题,这次就记录下吧. 搜狗输入法 因为官网提供的搜狗输入法需要解决依赖关系,需要q ...
- windows11 + ubuntu20.04 + r9000p 安装记录
1. 制作u盘,随便找个教程都可以哒,我主要是用rufus,默认写入即可 2. bios中 boot security boot 变成 disenabled 3.我是双硬盘,win的c盘是一个盘0,其 ...
- Qt debug版本运行正常release版本运行崩溃问题记录
问题由来 某一项目debug版本运行正常,进入发布阶段,结果release后的版本出现了崩溃问题,因为是release版本,不能debug运行,只能通过printf debug,虽然问题原因很简单,但 ...
- C语言 将程序运行的时间记录在记事本中,下次运行进行读取
fprintf函数: 头文件 原型 说明 返回值 #include <stdio.h> int fprintf(FILE *stream, const char *format, -); ...
- velodyne运行Loam_velodyne过程记录
刚拿到手的3D激光雷达,运行一下试试. (1)loam_velodyne环境配置 cd ~/catkin_ws/src/ git clone https://github.com/laboshinl/ ...
- 树莓派开机自动运行shell脚本——记录开机时间
目录 1.目的 2.思路 3.实现步骤 1.目的:树莓派开机时自动执行某些脚本,不用手动设置,减少麻烦. 2.思路:新建一个记录时间的脚本 record_time.sh,然后添加执行命令到 /etc/ ...
最新文章
- Python基础08-数据类型:集合set
- python中国地图热力图是什么意思_python实现输入的数据在地图上生成热力图效果...
- JQuery中的html(),text(),val()区别
- 上海php黑名单,php判断ip黑名单程序代码实例
- lenos快速开发脚手架
- 在Windows上运行-XX:CompileCommand
- 如何在24行JavaScript中实现Redux
- 定义python函数时如果没有return_定义 Python 函数时,如果函数中没有 return 语句,则默认返回空值 None 。_学小易找答案...
- [CATARC_2017] 第八周
- OpenCV模板匹配函数:matchTemplate()介绍
- python编程软件哪个好-来 看看谁最适合学Python编程
- 我们团队一位Android开发者的故事
- python 调用图灵机器人api实现简单的人机交互
- 转载:Erlang 资源
- 友盟分享失败后有回调吗_友盟分享成功回调问题
- 软件首次亮相前超级账本技术升温
- 【NOIP2017提高A组集训10.25】嘟嘟噜
- HP光影精灵3 TPN-Q193显卡驱动安装不上,鲁大师检测不到显卡
- 荣耀30pro系统_荣耀30pro和pro+的区别_荣耀30pro和pro+的区别对比详情 - 系统家园
- 量子笔记:单比特量子门、泡利矩阵