相机IMU融合四部曲(三):MSF详细解读与使用 极品巧克力 前言 通过前两篇文章,<D-LG-EKF详细解读>和<误差状态四元数详细解读>,已经把相机和IMU融合的理论全部都推导一遍了.而且<误差状态四元数>还对实际操作中的可能遇到的一些情况,进行指导. 这些理论都已经比较完整了,那么,该如何在实际当中操作呢?该如何用到实际产品中呢?误差状态四元数,是有开源的程序的,但是它是集成在rtslam( https://www.openrobots.org/wiki/rtsl…
相机IMU融合四部曲(一):D-LG-EKF详细解读 极品巧克力 前言 前两篇文章<Google Cardbord的九轴融合算法>,<Madgwick算法详细解读>,讨论的都是在SO3上的传感器融合,即,输出的只是纯旋转的姿态.只有旋转,而没有位移,也就是目前的一些普通的VR盒子的效果. 而<相机IMU融合四部曲>要讨论的是,在SE3上面的传感器融合,在既有旋转又有位移的情况下,该如何对多传感器进行融合.也就是,工程实践中的,如何把基于相机算出来的位姿,与IMU的位姿融…
相机IMU融合四部曲(二):误差状态四元数详细解读 极品巧克力 前言 上一篇文章,<D-LG-EKF详细解读>中,讲了理论上的SE3上相机和IMU融合的思想.但是,还没有涉及到实际的操作,以及实际操作中会遇到的一些问题.所以,本文开始讲实际操作,包括,在相机和IMU融合的过程中,IMU速度的计算,加速度计和陀螺仪的使用,偏移的处理,重力的滤波等. 本文的主要参考文献为John sola的<Quaternion kinematics for the error state Kalman&g…
ImageLoader是一个加载网络图片的封装类,其内部还是由ImageRequest来实现的.但因为源码中没有提供磁盘缓存的设置,所以咱们还需要去源码中进行修改,让我们可以更加自如的设定是否进行磁盘缓存. 一.添加对磁盘缓存的控制 我们默默的打开源码,添加如下代码: private boolean mShouldCache = true; /** * Set whether or not responses to this request should be cached(Disk Cache…
VINS-mono详细解读 极品巧克力 前言 Vins-mono是香港科技大学开源的一个VIO算法,https://github.com/HKUST-Aerial-Robotics/VINS-Mono,是用紧耦合方法实现的,通过单目+IMU恢复出尺度,效果非常棒. 感谢他们开源,我从中学到了非常多的知识.源码总共有15000多行,我在通读完程序之后,结合参考文献,把程序背后的算法理论都推导了一遍,总结成了本文,与各位分享. 本文目标读者:对vins-mono有一定了解的SLAM算法工程师.由于程…
Madgwick算法详细解读 极品巧克力 前言 接上一篇文章<Google Cardboard的九轴融合算法>. Madgwick算法是另外一种九轴融合的方法,广泛应用在旋翼飞行器上,效果也蛮不错的.网上已经有很多madgwick算法的源代码了. 本文结合参考文献,按照我自己的理解,把Madgwick算法的来龙去脉讲清楚. 1.加权融合 由于姿态都是相对的,用来表示水平朝北静止时的物体,代表运动后的物体.所以,运动时的物体相对水平朝北静止时的物体的姿态可以用四元数来表示. 主要基于Madgwi…
1. 研究背景及相关工作 1)研究背景 单目视觉惯性slam是一种旨在跟踪移动平台的增量运动并使用来自单个车载摄像头和imu传感器的测量结果同时构建周围环境地图的技术.视觉相机和惯性测量单元(imu)是slam技术的理想选择,因为这两种传感器模式尺寸小,价格便宜,功耗低,并且可以相互补充.视觉传感器在大多数纹理丰富的场景中效果很好,但是如果遇到玻璃,白墙等特征较少的场景,基本上无法工作:imu长时间使用有很大的累计误差,但在短时间内,其相对位移数据又有很高的精度.所以视觉传感器失效时,融合imu…
SVO详细解读 极品巧克力 前言 接上一篇文章<深度滤波器详细解读>. SVO(Semi-Direct Monocular Visual Odometry)是苏黎世大学Scaramuzza教授的实验室,在2014年发表的一种视觉里程计算法,它的名称是半直接法视觉里程计,通俗点说,就是结合了特征点法和直接法的视觉里程计.目前该算法已经在github上面开源(https://github.com/uzh-rpg/rpg_svo).贺一家在它的开源版本上面进行改进,形成了SVO_Edgelet(ht…
MemCache是什么 MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度.MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串.对象等)所使用的key-value存储,数据可以来自数据库调用.API调用,或者页面渲染的结果.MemCache设计理念就是小而强大,它简单的设计促进了快速部署.易于开发并解决面对大规模的数据缓存的…
http://www.cnblogs.com/xrq730/p/4948707.html   MemCache是什么 MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度.MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串.对象等)所使用的key-value存储,数据可以来自数据库调用.API调用,或者页面渲染的结果.MemC…