大致看了一下ORB-SLAM、DF-VO等SLAM相关项目,也围绕着DF-VO做了一些修改,现在研二,也该为自己的未来作打算了,看了一下求职的信息,其实给我的感觉招雷达SLAM的会比视觉SLAM的要多,稍微统计了一下,SLAM岗下面几个要求在招聘信息出现的次数比较多。
- ROS
- C++
- LOAM
- ORB-SLAM
- cartographer
- VINS
- 非线性优化
- 卡尔曼
其实之前也一直想学习一下激光SLAM相关知识,这会就拿LOAM开刀吧
安装依赖 1. Ubuntu和ROS这个不用多说了吧
2. CeresCeres的安装我参考了官方手册,连接在这
安装过程中也没遇到什么问题,一切都很顺利
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
我搜了,看到了这篇博客,终端打开输入以下命令即可解决
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问题3
找不到CV,其实ROS中noetic已经自动安装了CV4了,只不过引入不对而以link
这个时候只需要找到出错的位置,如下:
#include
改成下面这样子就可以了
#include问题4
/home/a/catkin_ws/src/A-LOAM/src/kittiHelper.cpp:91:64: error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope
cv::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);



