做无人机避障相关工作,3D毫米波避障测试顺利后,开始做4D毫米波雷达无人机避障遇到4D雷达点云需要进行处理的问题,查阅文献,发现以下这篇文章中的建图方法应该为后续思考的方向,特此将这个开源项目进行复现和学习:
A 4D Imaging Radar SLAM System for Large-scale Environments based on Pose Graph Optimization
代码地址:
GitHub - zhuge2333/4DRadarSLAM
Ubuntu版本:
1、安装准备阶段的库文件
// Eigen3安装:
sudo apt update
sudo apt install libeigen3-dev
// OpenMP安装:
sudo apt install build-essential
// PCL安装:
sudo apt install libpcl-dev
// g2o安装
// 安装依赖项
sudo apt-get install qt5-qmake qt5-default libqglviewer-dev-qt5 libsuitesparse-dev libcxsparse3 libcholmod3
g2o库文件下载:
GitHub - RainerKuemmerle/g2o: g2o: A General Framework for Graph Optimization
Ubuntu20.04LTS上运行4Dradar_slam_20.04 4dradar-CSDN博客
4DRadarSLAM 方案部署_4d radarslam-CSDN博客
// 在g2o-master文件目录下,把g2o-master文件夹名字改成g2o
mkdir build
cd build
cmake ..
make -j4 #-j8会快一点
sudo make install
下载下来以后是将g2o-master文件名修改为g2o文件名,而不是在g2o-master下面的文件夹中进行操作,会报错,这个可以看第二篇文章比较详细,第一篇可能会误导。
报错:
/home/nvidia/g2o/g2o/stuff/filesys_tools.cpp:29:10: fatal error: filesystem: 没有那个文件或目录
#include <filesystem>
^~~~~~~~~~~~
compilation terminated.
g2o/stuff/CMakeFiles/stuff.dir/build.make:117: recipe for target 'g2o/stuff/CMakeFiles/stuff.dir/filesys_tools.cpp.o' failed
make[2]: *** [g2o/stuff/CMakeFiles/stuff.dir/filesys_tools.cpp.o] Error 1
CMakeFiles/Makefile2:1123: recipe for target 'g2o/stuff/CMakeFiles/stuff.dir/all' failed
make[1]: *** [g2o/stuff/CMakeFiles/stuff.dir/all] Error 2
Makefile:155: recipe for target 'all' failed
make: *** [all] Error 2
原因:
当前安装的GCC版本是7.5.0,这是Ubuntu 18.04 LTS版本自带的默认GCC版本。虽然GCC 7支持大部分C++17特性,但不是全部。为了完全支持C+