高翔博士SLAM十四讲(第三篇)

vim工具配置 vim ~/.vimrc进配置文件
显示行号 set numberset nu
tab
插入 iINSERT
退出 ESC : q 退出;ESC : wq保存退出;ESC : q! 不保存退出

ch9 工程

步骤
1.编写一个CMakeLists.txt g2o的cmake错误1,CMake Error at CMakeLists.txt:22 (find_package): By not providing "Findg2o.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "g2o", but CMake did not find one.
解决方法是 把findg2o.cmake文件复制一份到cmake_modules
cmake错误2,CMake Error at CMakeLists.txt:32 (add_subdirectory): The source directory /home/changshen/project/project0.1/src does not contain a CMakeLists.txt file.
解决方法是,新建一个CMakeLists.txt在给出的对应(两个)文件夹下
感觉要了解一下CMake的工作原理。。。
2.使用Kdevelop打开1中编写的CMakeLists.txt 可以写代码了!
2.1 先写,common_include.h;再写,头文件camera.h及源码实现camera.cpp
2.2 frame.hframe.cpp
2.3 0.1工程跟着写一遍,最后编译通过(可能会有一些语法错误)。阶段一通过。
3.基本的VO,工程0.2版本 这里着重介绍高博书上略去的部分。(即由0.1版本如何自己修改到0.2版本)
3.1 添加visual_odometry.h以及visual_odometry.cpprun_vo.cpp还有default.yaml,在编译执行之前,需要做几件准备工作:
3.2 数据集下载,高博在189页给出了链接,点进去需要在自己寻找一番。名字叫freiburg1_xyz。生成associate.txt不在赘述,此处讲如何确定该文件的位置,以我个人的为例:从linux的计算机出发,进入home文件夹,再进入changshen用户文件夹,到达rgbd_dataset_freburg1_xyz文件夹内,因此路径可以写出/home/changshen/rgbd_dataset_freburg1_xyz
3.3 执行,会发现画面一闪而过。而高博0.2版的代码可以完美执行!对比二者的区别,发现:1.camera.cpp文件的构造函数有改动!使用了default.yaml文件提供的参数;【注意】:在修改过代码build生成可执行文件的时候,最好,要把build文件夹下已经生成的中间文件清理一下;修改1之后,自己的代码仍然不能工作,仔细对比,发现了几处拼写错误!(一个是frame.h里的getCamCenter()成员函数名,另一处在visual_odometry.hposeEstimationPnP()成员函数名),修改过后,编译通过!成功!

你可能感兴趣的:(▶,ROS)