资讯

【泡泡传感器评测】小觅双目摄像头D1000-IR-120/Color模组评测(中)

转载 2019-08-07 14:47 paopaoslam 来源:泡泡机器人SLAM
轻客小觅智能科技(北京)有限公司

  欢迎传感器厂商联系我们,这里既是一个评测平台,也是一个宣传平台。希望您能够通过泡泡机器人的"传感器评测"栏目,发布给合适的目标用户群。同时,也希望我们在评测过程中,为传感器提供有用的意见和建议,帮助传感器做的更好。

  只要和SLAM相关的设备,我们都可以评测,包括但不限于单目、双目摄像头,RGBD摄像头,激光雷达,运动底盘,计算平台,imu传感器等等。

  泡泡机器人-传感器评测专栏, 希望架起一座SLAM传感器的桥梁,在SLAM技术进化的道路上,起到一点点促进作用。

  评测人:郭荣伟,周平

  欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权

写在前面的话

  在本次评测过程中,泡泡机器人的评测人和传感器厂商的技术人员进行了充分的沟通。传感器厂商表示,在沟通过程中,为小觅双目摄像头提供了很多有用的建议,使得小觅双目摄像头在未来,能够产出更适合vSLAM的模组,为vio的技术发展提供更好的传感器支持。

  在“上一篇评测”中我们进行了评测前的准备工作,并基于sSensSLAMAR评测了相机对vio的支持情况。本篇文章将从imu角度对相机进行评测。

分析imu的噪声(Noise density)和随机游走(random walk)

  基本的imu噪声建模方式为噪声和随机游走,模型方程可表示为:

  从上面的模型可知, 我们在模型中需要的参数是几个分布的方差值, 这些方差值是硬件相关的,由硬件特性决定,因此下面我们讨论如何获取这些参数.


  随后我用小觅的API接口将imu的一些参数读了出来, 其中accel和gyro的noise项都是0, 后面会通过标定结果进行对比。

  参考Kalibr的wiki说明, 得知可以通过Allan standard deviation来分析imu的噪声性能.方法是将imu静置并采集数据,一般要求一个小时以上,然后用这些数据进行分析.Kalibr上提供的示例图如下:

  因此我们将小觅相机接在PC上(我用的是WIN10 VS2017环境,IMU使用200Hz的采集速率,单位换算成了rad/s和m/s^2 下同), 采集了三组数据, 每组大概持续2小时,为了解除温漂影响, 我将imu设置为PROC_IMU_TEMP_DRIFT模式.采集好数据后, 我们使用imu_utils提供的分析及可视化代码来处理.得到如下结果:

  可以看出实地测量出来的数值与官方数据在量级上基本吻合, 但是偏小. Kalibr文档也建议,在应用这些参数时,需要人为把方差调大以防止过于详细imu数值.另外在gyro的结果图中的左上部分还观察到了上凸现象, 不知这是什么原因.

分析imu的scale,misalignment,bias数值

  上文使用了bias+noise的方法来进行imu建模, 但实际上, imu的模型可能比上面的模型复杂很多, 比如加速度计和陀螺仪可能不是共轴的, 也可能他们自己的三个轴就不是正交的.因此这里我们用更复杂的模型来建模imu, 这里我们额外考虑了 scale和misalignment参数.

  Scale主要是解决数据尺度问题, 而misalignment则要解决陀螺仪和加速度计的相对旋转及轴正交问题. Imu的scale/misalignment/bias 对于每个硬件都不相同, 因此在数据手册中一般没有这些数据. 而且scale/misalignment/bias的建模方法也有很多. 我查看了从小觅相机的api读出的这些参数, 发现他们的建模方法与IMU_TK的建模方法是一样的. 所以小觅相机的出厂标定应该是用IMU_TK做的, 但不知道是每个相机都会做一次还是一批相机只做一次.

  IMU_TK的建模公式为:

  可以看出b为bias参数, T为misalignment参数, K为scale参数.从参数构成可以看出, IMU_TK的模型是以加速度计为初始, 认为加速度计的Z轴是标准的, 然后校正三个轴互相垂直, 然后再校正陀螺仪的三个轴对应加速度计的关系.标定流程如下图所示:

  如流程所示, 需要在采集IMU的时候将IMU不停翻面并静置, 因此我们按此方法使用小觅相机采集了3组数据,同样设置了PROC_IMU_TEMP_DRIFT以避免温漂问题. 由于算法需要加速度计的时间戳和陀螺仪的时间戳是完全一致的, 而小觅的相机加速度计和陀螺仪时间戳不是完全同步的, 因此我在采集的时候, 以陀螺仪时间戳为基础, 对加速度计数据进行了线性插值. 实现了两种数据的完全同步. 每组数据会有20~30次的翻面过程.下图是其中一组数据的值.

  采集好数据后, 需要将数据输入以下算法进行计算.

  从流程图中可以看出, 从初始的静止状态得到陀螺仪的bias值,然后先标定加速度计. 加速度计的error function为:

  物理意义为当加速度计静止的时候, 他的norm值应该与重力加速度值相等. 使用LM优化方法迭代优化.在得出加速度计参数值以后, 再使用这些参数重新校正所有加速度计值.并进行陀螺仪标定. 陀螺仪的error function为:

  物理意义为两个加速度计静止状态之间的旋转角度, 应该等同于陀螺仪在这段时间之内的积分值.同样采用LM迭代优化方法, 并采用龙格库塔四阶积分方法.

  在优化自己采集的数据的同时, 我们读取了小觅相机自带的标定参数,以下是比较结果:

  由于小觅的出厂标定没有设置初始bias, 因此我们认为都是0, 实际上在采集数据的计算结果中也可以看到标定出的bias值都非常小. 从上面两个表可以看出不同dataset的标定结果基本接近, 与小觅的出厂标定数据也基本一致.

  (此文系转载,文中所有文字内容和图片之知识产权均系原作者和机构所有。)


0 0

网友评论

取消