MSCKF调试:
①安装fast库----
$ git clone https://github.com/uzh-rpg/fast
$ cd fast
$ mdkir build
$ cd build
$ cmake ..
$ make
②修改cmakelists:
#############find_package(fast REQUIRED)
set(fast_INCLUDE_DIRS ${/home/s}/home/s/fast/include)
set(fast_LIBRARIES ${/home/s}/home/s/fast/build/libfast.so)
③下载数据集和MSCKF代码
官网下载,或者百度云:链接: https://pan.baidu.com/s/159D5fGCyEYM0pGOffNnbZA 提取码: kn9t
注:不一定全都有,一般跑程序应该够用。
MSCKF源码去github上搜一下就可以了
git clone https://github.com/daniilidis-group/msckf_mono.git
④yaml文件读取:在文件开头添加 %YAML:1.0
⑤CmakeLists.txt修改
1)找不到Eigen3,尝试使用Eigen
在主文件夹下直接查找FindEigen.cmake文件,然后把它复制到报错的CMakeLists.txt对应的路径下,在CMakeLists.txt中添加
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
include_directories($ {EIGEN3_INCLUDE_DIRS})
2)提示没有xxxx.cmake,尝试搜索Findxxx.cmake,并添加到对应CmakeLists.txt对应目录。
3)添加第三方库(以fast库为例)
set(fast_INCLUDE_DIRS ${/home/s}/home/s/fast/include)
set(fast_LIBRARIES ${/home/s}/home/s/fast/build/libfast.so)
④一些常用变量
1) CMAKE_SOURCE_DIR 工程根目录
2) CMAKE_CURRENT_SOURCE_DIR CmakeLists.txt所在目录
3) PROJECT_SOURCE_DIR 工程根目录,相当于1)
4) CMAKE_PREFIX_DIR 用于找到Findxxx.cmake文件
5) CMAKE_INSTALL_PREFIX 安装目录
⑤运行
在工作空间编译运行
catkin_make
roslaunch msckf_mono asl_msckf.launch data_set_path:=/home/s/data/MH_01_easy/mav0 stand_still_end:=1403636625413555456.
⑥ROS工作空间永久添加到环境变量中
终端输入:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
注意要根据自己的路径修改哦
运行截图:
终端参数 :
VINS-mono 调试
安装ceres,可参考高翔十四讲中安装方法。
数据集自行选择,我这里使用和MSCKF一样的数据集。
源码下载地址一样在github上搜索就可以了,这里不贴地址了。
进入工作空间catkin_ws :
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
(我习惯永久添加环境变量,不用时候删除)
在工作空间打开三个终端,分别运行以下命令:
roslaunch vins_estimator euroc.launch
roslaunch vins_estimator vins_rviz.launch
rosbag play ~/data/MH_01_easy/mav0/MH_01_easy.2.bag
(自己修改数据集文件路径)