十三章需要下载一个数据集,可以提前下
这个是官网,需要注册,而且网络不稳定
https://www.cvlibs.net/datasets/kitti/eval_odometry.php
博主找到了另一个稳定又好用的网站(专门下载KITTI,大概一小时)
-OpenDataLab-有影响力的数据开源开放平台,公开数据集触手可及
由于百度云只能上传10G以下,所以这里只放了00和05的数据集
链接: https://pan.baidu.com/s/1sm_RlAzn1uYQkrJzBLHQsA 密码: 3pgr
参考链接
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