环境:opencv 3.4.12,其他的都是按照文档下载的。
首先进行组件的安装
一、Kimera-VIO
安装参考文档:https://github.com/MIT-SPARK/Kimera-VIO/blob/master/docs/kimera_vio_install.md
按照文档装就好,在安装过程中碰到如下问题:
0、make 过程很卡,不要用所有的核
1、cmake过程中卡下载 ORBvoc.zip ,手动下载这个文件,解压,将里面的3个文件,放到/Kimera-VIO/vocabulary文件下
2、由于我的opencv没有make install,make过程中会出现cv报错,检验发现DBoW2也用了opencv的库,重新编译一下DBoW2,把OpenCV_DIR设置为自己的库,即可解决。
3、make最后一步报错找不到libmetis-gtsam.so
将其复制一下换个目录即可,做软链接也可以
sudo cp /usr/local/lib/libmetis-gtsam.so /usr/lib/libmetis-gtsam.so
4、运行./scripts/stereoVIOEuroc.bash 报错:
terminate called after throwing an instance of 'cv::Exception' what(): OpenCV(3.4.12) ../modules/core/src/matrix_expressions.cpp:23: error: (-5:Bad argument) Matrix operand is an empty matrix. in function 'checkOperandsExist'
按照https://github.com/MIT-SPARK/Kimera-VIO/issues/134 对文件进行更改即可,大概在1260+行的位置上
最后运行是这样的,建图窗口贼卡。
折腾了半天params/Euroc/flags中的文件,也不能显示成demo的形式,所以直接采用ros版本的试一试。 在ros中改建图的模式可以显示网格
二、Kimera-VIO-ros
安装参考文档:https://github.com/MIT-SPARK/Kimera-VIO-ROS
照着装,opencv的配置再来一遍。本来想引用外部库(第一步装的那些),不使用wstool安装。结果折腾了半天也没弄好,主要是找不到.so库,加了软连接或者改lsconfig都报错,ros用的不熟不知道他是怎么检测的。因此直接按照readme进行安装。
需要注意点:
1、使用网址进行下载,别用ssh:git clone https://github.com/MIT-SPARK/Kimera-VIO-ROS.git
wstool merge Kimera-VIO-ROS/install/kimera_vio_ros_https.rosinstall
2、wstool update 多执行几次,找个文档记录一下,那些库done了,一共要16个done。
3、执行的时候把kimera_vio_ros_euroc.launch文件中
三、Kimera-semantics
依旧按照参考文档进行安装
注:1、wstool merge Kimera-Semantics/install/kimera_semantics_https.rosinstall以后把src/.rosinstall中安装过的库删掉,避免update时间太长
运行了V1_01_easy数据集,效果还算不错
显示图片需要改一下话题。
四、后续计划
1、手边只有stereo camera,没有imu,测试一下没有imu情况下kimera的情况
2、应用自己的相机,在线跑一下
3、rviz没有给出轨迹,研究一下源码,显示camera的历史轨迹
4、最后的语义地图是灰度,能否建图成彩色
5、后续代码迁移,使用pangolin或者其他非ros库进行显示
6、阅读源码,做下注释(网上找不到)
================================================
最近在尝试语义训练,给Ubuntu装显卡驱动装炸了,换了台新电脑,重新尝试,重新安装期间又遇到了一些新问题
kimera-vio:
1、本来又写了两个,装ros版本的时候直接catkin了卡炸了,没保存。。emmm 就这样吧。
Kimera-VIO-ROS:
改了下cmakelists用catkin_make装的。之前用cmake_build安装,引发了.so索引问题,所以调整了一下。并且用的是自己装的opencv
1、打开Kimera-VIO-ROS/install/kimera_vio_ros_https.rosinstall 手动把ros的包下载下来
2、把除了Kimera-VIO-ROS这个以外的包,统统放到src里面,检查一遍cmakelist文件,给下opencv路径
3、