四、SLAM代码研究阶段
- 本章节包括:ROS环境配置,DS-SLAM、DynaSLAM代码阅读笔记
2020.01.16
中午开始聚会,上午简单做点准备工作。首先从DS-SLAM开始。
麻烦了,居然是需要ROS环境,我虚拟机还没配置过,唉,估计配置完一上午又没了(起得晚)。
基本配置思路是2017年的一篇博客:https://www.linuxidc.com/Linux/2017-08/146030.htm
但是因为文章比较老了,会出现几个问题:
-
E: 无法定位软件包 ros-kinetic-desktop-full
解决:https://blog.csdn.net/victoria_pierce/article/details/81638319
-
E: 无法定位软件包 Python-rosinstall
解决:https://www.cnblogs.com/j-c-y/p/11177710.html
这里说一下那个 “等待程序不动后,再打开一个窗口 ”这个是指不关闭原本的终端,再新打开一个终端输入…
剩下的居然一切顺利,然后下载SegNet编译安装。
突然发现一个DS-SLAM的编译教程:https://blog.csdn.net/yinghuaxuan/article/details/89969197
…等等!需要cuDNN?!眼前一黑。
我们还是等明天直接看代码吧。
2020.01.17
DS-SLAM代码阅读笔记
首先惯例从System入手,System::System里面多了一个语义分割的线程,调用Segment::Run,new了一个mpSegment,传入参数为pascal_prototxt, pascal_caffemodel, pascal_png,这三个是在System初始化里面传入的,而这个初始化在ros_tum_realtime.cc里面,实际传入为argv[5],argv[6],argv[7];而翻阅readme得知启动时代码为roslaunch DS_SLAM_TUM.launch ,翻找该文件,发现分别是:
ORB_SLAM2_PointMap_SegNetM)/prototxts/segnet_pascal.prototxt $(find ORB_SLAM2_PointMap_SegNetM)/models/segnet_pascal.caffemodel $(find ORB_SLAM2_PointMap_SegNetM)/tools/pascal.png" output="screen" />
model和png就不说了,prototxt文件是VGG_ILSVRC_16_layer的文字版,我猜这个权重文件和网络框架文件是分开的。
mpSegment传入传出仅和mpTracker连接。然后跳到Segment.cc文件。初始化没啥好说的,看Segment::Run()启动函数,开头直接new了一个分类器,这个分类器不是在src 里面,而是在

最低0.47元/天 解锁文章
583

被折叠的 条评论
为什么被折叠?



