ubuntu20.04运行se2lam

代码网站

1.安装ros

参考

2.安装opencv

这里选择的是opencv3.4.10版本,由于源代码支持的是2.4.x / 3.1 版本,因此这修改了一点代码,如果安装的版本和源码的一致就不需要修改
将所有 CV_GRAY2BGR 修改为 cv::COLOR_GRAY2BGR
将所有CV_LOAD_IMAGE_GRAYSCALE 修改为 cv::IMREAD_GRAYSCALE
安装参考https://www.jianshu.com/p/59608e83becb

3.安装g2o

下载地址
编译g2o前需要安装一些依赖

sudo apt-get install cmake libeigen3-dev
sudo apt-get install libqglviewer-dev-qt5
sudo apt-get install libsuitesparse-dev

在g2o目录下运行

mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

注:卸载g2o的命令

sudo rm -r /usr/local/include/g2o
sudo rm -r /usr/local/lib/libg2o*
sudo rm -r /usr/local/bin/g2o*

4.编译se2lam

mkdir catkin_se2lam
cd satkin_se2lam
mkdir src
# 把之前下载的se2lam源码放到src目录下
catkin_make

下载数据集和字典,这两个下载速度很慢
数据集地址
其中有两个轮速计测量,一个是较精确的odo_raw_accu.txt,一个是较粗糙的odo_raw_roug.txt,要使用哪个,就把它拷贝到DatasetRoom/目录下的odo_raw.txt。

字典地址

如果编译通过,就可以运行

source devel/setup.bash
rosrun rviz rviz -d src/se2lam/rviz.rviz

#另一个终端运行
rosrun se2lam test_vn PATH_TO_DatasetRoom PATH_TO_ORBvoc.bin

出现libg2o_opengl_helper.so: cannot open shared object file: No such file or directory 是因为g2o运行完需要sudo ldconfig
另外注意odo_raw.txt文件一定要有。
另外,需要将程序中的"/se2lam/World"修改为"se2lam/World"才能有可视化效果。

5.后续使用docker配置一下

你可能感兴趣的:(环境配置,slam,ubuntu,se2lam)