自动驾驶与机器人中的SLAM技术
记录一下《自动驾驶与机器人中的slam技术》代码复现
1. 算法复现

pangolin未安装,参考官网:https://github.com/stevenlovegrove/Pangolin?tab=readme-ov-file 源码编译安装的话20.04会出现点问题,遇到E: 无法定位软件包 catch2可以不需要管,这个是用于测试的,如果不测试就不用管。

解决办法参考:https://github.com/stevenlovegrove/Pangolin/issues/979 在对应的cmakelists文件中注释一些语句。 注释掉
94行: add_compile_options(-Wno-null-pointer-arithmetic)
95行: add_compile_options(-Wno-null-pointer-subtraction)
48行: -Wno-deprecated-register -Wno-deprecated>
89行: add_compile_options(-Wall -Wextra -Werror)
在49行处加上
-wno-deprecated>
build后执行:
cd ~/third_party/Pangolin/build
sudo make install
g2o报错,安装一下即可: 我安装在:– Installing: /usr/local/include/g2o/examples/interactive_slam/g2o_incremental/linear_solver_cholmod_online.h
运行可执行程序时报错:

查找查找libpango_windowing.so.0
sudo find / -name "libpango_windowing.so.0" 2>/dev/null
结果为
sd101t@sd101t-MS-7D76:~/slam_in_autonomous_driving/bin$ sudo find / -name "libpango_windowing.so.0" 2>/dev/null
[sudo] sd101t 的密码:
/home/sd101t/third_party/Pangolin/build/libpango_windowing.so.0
/usr/local/lib/libpango_windowing.so.0
设置 LD_LIBRARY_PATH 环境变量
运行export LD_LIBRARY_PATH=/home/sd101t/third_party/Pangolin/build:$LD_LIBRARY_PATH
或者export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
再执行./motion