9

汇总|视觉-惯性SLAM问题(vins-fusion)

 2 years ago
source link: https://zhuanlan.zhihu.com/p/410800248
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

汇总|视觉-惯性SLAM问题(vins-fusion)

本问答来自:视觉-惯性SLAM入门与实践教程(基于VINS-Fusion)

1. 一般认为SLAM和VO/VIO的区别是什么?没有全局优化和回环检测?
回答:一般认为 完整的slam系统和vo的区别,是这样的,但目前在很多地方 比如这几年有很多paper,其实做了个vo,但是给自己系统取个名字叫xxx slam ,也是存在的

2. 视觉引导的室内搬运或者无人配送这种场景,有没有合适的深度相机或双目相机推荐?双目相机的算力要求有多高啊?TOF和结构光相机适合这种场景吗?

回答:zed2+Nvidia Jetson Xavier,tof 结构光等相机 优势在于可以直接取深度图 不占本机算力,但结构光室外强光容易受干扰,tof的话 目前好像分辨率还是偏低一些,并且两者测距范围都偏小一些,双目的话,测距范围根据基线长度和分辨率 可以达到很高,所以看你对深度信息的依赖程度、算力、场景和处理资源,来决定选不选tof或者结构光了。

3. 请问运行vins-fusion走一段之后出现这种情况,轨迹飘了,问题在哪?
回答:多种原因会导致这个问题,比如相机imu外参设置的有问题、初始化结果不理想、imu噪声参数标定的有问题、优化参数的设置等,这种情况你先确定一下camera和imu的外参数没问题,大概率是这导致的。还有上面的camera-imu的外参数也需要调整,以及可以看一下 静止状态下,imu读出的重力向量是多少,配置文件里也改一下, 这个一般大差不差,但是realsense的imu质量有时候比较差,可以确认下这个.

4. 相机模型有推荐的资料吗?
回答:https://github.com/hengli/camodocal,可以看下readme里提到的对应的论文,主要涉及鱼眼相机,有鱼眼的话针孔hold不住。

5. 双目运行vins-fusion的话,需要对输入的图像进行立体矫正嘛,就是那个rectify。
回答:不需要,提供好双目的内外参(外参是两个目分别到imu)就OK了。

6. vins fusion的结果怎么用到室内移动机器人导航中呀?整个流程没有弄过,不大清楚,后面是不是需要接一个像RGBD SLAM那样的稠密点云地图,八叉树地图,再转换成占据栅格地图来做?
回答:你这问题有点太宽泛啊导航需要机器人知道当前的位姿,也就是vins fusion输出的定位结果,串起来就好了。你先看看你导航系统需要哪些输入,一般就是机器人自己的定位信息和地图信息,定位信息vins fusion可以提供,地图的话 vins fusion的稀疏点云图不太行的,要通过其他办法,导航算法并不是一定要基于概率栅格地图的。

7. 室内地面移动机器人,场景类似于产线物流搬运跟随这种,传感器主要是深度相机,单线激光雷达,UWB这些该如何导航呢?
回答:个人觉得完全可以单线激光+uwb为主、视觉为辅,定位主要依赖于单线激光和uwb,导航的话,可以把深度相机引入,和激光雷达配合,“在三维数据下做二维的导航”。

8. 请问一下IMU坐标系的问题,就是IMU的哪个轴向下的时候那个轴的线加速度在9.8左右,此时向下的方向就是这个轴的正方向吗。比如说我现在把IMU正常放在一个平面上,此时x轴的线加速度为9.7546,那此时的X轴就是朝下的吗?还有就是vins-fusion的坐标轴是怎么样的呀,就XYZ的方向。
回答:以imu的坐标系为body系,三轴遵循flu(前左上)关系,但是具体到具体设备,你查一下产品手册/sdk的输出 的xyz轴是怎么样的,不同的可能会不一样,这个不一定哈,mems加速度计静止时,测量值一般输出为-g,对于你用的imu设备的采用坐标系,直接查手册就OK啦。

9. 老师,轨迹漂移跟电脑算力有关吗,track_image和里程计输出的延迟很严重,比实际运行位置滞后很远。
回答:有一定关系, 你把部分参数调一下, 降低一些算力、牺牲一点精度试试, 比如把提取的特征点数量减少, 图像的分辨率也降低一些, 求解迭代次数也少一些.

10. 我使用kalibr_allan标定IMU,标定出来的陀螺仪的随机游走误差为无效数据有可能是什么原因呢,数据采集是在夜深时采集的5个小时的数据,kalibr_allan标定出来的imu内参的单位和vinsfusion中使用的imu的内参单位是一样的吗,就是kalibr_allan标定出来的imu内参值可以直接写在vinsfusion的配置文件里吗
回答:kalibr_allan使用的斜率1/2的线来拟合陀螺仪的random walk,从这个数据上来看emmm,确实看不出右侧1/2,单位不一样,kalibr_allan标出来是连续时间下的,vins的那个参数是离散的,需要乘1/(sqrt(1/imu的帧率))

11. 可以直接修改vins_fusion配置文件中的图像分辨率吗?但是realsense只支持这两个分辨率。
回答:先改realsense输出的分辨率(不是深度图的分辨率/帧率,是用到的双目图像的分辨率),改了后vins里对应的内参需要也改下,realsense的内参可以直接用rs-sensor-control那个工具看,不需要标




About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK