Skip to content
tyuownu edited this page Oct 9, 2015 · 1 revision

1. 移植需要做什么?

移植就是把别人的程序拆成以我们的方式定义好的模块,这样就能结合不同的模块进行测试。

例子: 就高博写的那个程序,包含定位与建图。

可以分为VO, Mapping, Loop closure, BA四个基本模块,外加一些读图,存图之类的操作,这几个模块,像一个框图一样组合起来。 这些模块在carrotslam里称为不同的node。

再比如具体VO模块要做什么呢? 需要实现一个node,这个node读取图像,计算之后估计出这个图像的位姿,再传出去给后面的节点。 然后做Mapping, Loop closure等等,都是类似的。

读取传入数据和输出数据都使用ISLAMData,Engine负责传递。 最后,一起做的各个node都写好了。 就可以写一个测试程序,直接读图像,估计地图和轨迹,还可以记录各模块花费了多少时间。

Clone this wiki locally