slambook2+ubuntu20.04(第十三章终)

十三章需要下载一个数据集,可以提前下


这个是官网,需要注册,而且网络不稳定
https://www.cvlibs.net/datasets/kitti/eval_odometry.php

博主找到了另一个稳定又好用的网站(专门下载KITTI,大概一小时)

-OpenDataLab-有影响力的数据开源开放平台,公开数据集触手可及

由于百度云只能上传10G以下,所以这里只放了00和05的数据集


链接: https://pan.baidu.com/s/1sm_RlAzn1uYQkrJzBLHQsA  密码: 3pgr

ch13


参考链接

slambook2(ch13)—— Ubuntu18.04安装GFlags + GLog + gtest + 例程演示_ubuntu 18.04glog与gflags的anzhuang_@曾记否的博客-CSDN博客


当然可以按照我的步骤
修改default.yaml路径为
dataset_dir: /home/mengs/slambook2/ch13/data_odometry_gray/dataset/sequences/00

一、安装 GFlags
运行如下指令:

git clone https://github.com/gflags/gflags.git
cd gflags
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON -DGFLAGS_NAMESPACE=gflags ../ 

make -j12
sudo make install


二、安装 GLog
git clone  https://github.com/google/glog
sudo apt-get install autoconf automake libtool
cd glog
mkdir build
cd build

cmake -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DINSTALL_HEADERS=ON -DINSTALL_SHARED_LIBS=ON -DINSTALL_STATIC_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/ ..

make -j12
sudo make install


三、gtest安装
git clone https://ghproxy.com/https://github.com/google/googletest.git
cd googletest
mkdir build
cd build
cmake ..
make -j12
sudo make install


安装依赖

sudo apt-get install freeglut3-dev

修改 CMakeLists.txt 

#fmt(添加)
find_package(fmt REQUIRED)

set(THIRD_PARTY_LIBS
        ${OpenCV_LIBS}
        ${Sophus_LIBRARIES}
        ${Pangolin_LIBRARIES} GL GLU GLEW glut
        g2o_core g2o_stuff g2o_types_sba g2o_solver_csparse g2o_csparse_extension
        ${GTEST_BOTH_LIBRARIES}
        ${GLOG_LIBRARIES}
        ${GFLAGS_LIBRARIES}
        pthread
        ${CSPARSE_LIBRARY}
        fmt
        )
        
        
/run_kitti_stereo.cpp

DEFINE_string(config_file, "./config/default.yaml", "config file path");
修改为绝对路径

DEFINE_string(config_file, "/home/mengs/slambook2/ch13/config/default.yaml", "config file path");

google::ParseCommandLineFlags(&argc, &argv, true);

//修改为

gflags::ParseCommandLineFlags(&argc, &argv, true);


/frontend.cpp

feat->position_.pt + cv::Point2f(10, 10), 0, CV_FILLED);

修改为

feat->position_.pt + cv::Point2f(10, 10), 0, cv::FILLED);

viewer.cpp加入头文件

#include



重新安装fmt(不用卸载fmt),不然会报错:链接失败,一系列fmt

git clone  https://ghproxy.com/https://github.com/fmtlib/fmt.git
cd fmt/
mkdir build
cd build
cmake .. -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC ..
make -j8
sudo make install

mkdir build 
cd build/
cmake ..
make -j12


不要注释%YAML:1.0

cd ../bin
./run_kitti_stereo

效果展示(10数据集)

修改default的dataset_dir,可以跑其他地图(本人跑了几个地图,发现00会出现段错误,其他地图没问题)


题外,pangolin::OpenGlMatrix m(Twc.matrix());的Twc会爆红,但不影响编译和运行。

至此slambook2的编译与运行告一段落,后续可能会考虑其他框架,算法和数据集的相关运行小白教程。。。

2023.06.12


 

你可能感兴趣的:(slam学习分享,ubuntu,slam)