文章目录

  • 一、PX4 的 ECL EKF 公式推导及代码解析 by 赵祯卿
  • 二、PX4 的 ECL EKF2 方程推导 by shuyong.chen

PX4的ECL EKF开源代码已经比较广泛地应用到很多无人机飞控项目中。该开源项目可以融合多种传感器数据,包括IMU、磁力计、气压高度计、GPS、测距仪、空速、光流、外部视觉传感器等。

由于PX4 EKF采用了四元数作为状态量,因此许多量测的雅可比矩阵其实还是比较难推导的。PX4前期采用了matlab,后面采用了python来进行雅可比矩阵的推导以及代码自动生成。如果直接看代码,其实理解起来还是比较困难的。

目前我看到的,有两位博主对PX4 EKF的算法进行了比较系统且详细的推导,并且无私地将文档分享了出来,非常感谢他们的无私分享,让我觉得获益匪浅。这篇文章主要是介绍这两篇文章的主要内容。

一、PX4 的 ECL EKF 公式推导及代码解析 by 赵祯卿

作者在知乎和CSDN博客都发表了该文章,根据文章内容和github上的代码来看,作者应该主要是根据PX4的matlab代码来进行相关的推导。matlab代码中融合的传感器实际比C++代码中少一些。如果是想用PX4 matlab先做做仿真研究的,非常推荐阅读赵同学的文档。

文档总共18页,如下图封面所示,文章中推导了EKF的状态方程、以及GPS,气压高度计、磁力计、光流、ZED相机相关的量测方程等。我比较仔细地阅读了全文,暂时没有发现任何错处。

文章链接:
知乎:PX4 的 ECL EKF 公式推导及代码解析
CSDN:PX4 的 ECL EKF 公式推导及代码解析

作者联系方式:
e-mail: ericzzj@163.com
github: https://github.com/ericzzj1989/matlab_px4_msf

二、PX4 的 ECL EKF2 方程推导 by shuyong.chen

从内容来看,作者应该主要是根据C++代码来整理的相关推导,因此会比赵同学的推导多出一些传感器。如果是用PX4做工程实践的,比较推荐阅读这篇文档。

文档总共67页,作者在推导时也参考了上述赵同学的文档,因此文档比较详尽。从下面的封面可以看到,文章中包括IMU、磁力计、气压高度计、GPS、测距仪、空速、合成侧滑、风场、光流、外部视觉的融合处理,以及地形高差估计、偏航对准以及输出互补滤波等。文档详细整理了每一个传感器的融合,并且还包含一些作者对一些处理的理解,比如为什么将水平和高度方向的位置分开融合,为什么将所有观测拆分成一维一维地处理。

文章链接:
知乎:PX4 的 ECL EKF2 方程推导

作者github:
https://github.com/shuyong/

最后,我想再次感谢两位作者,文中的推导,绝对不是一朝一夕就能完成的。我之前也推导过部分公式,本来有过将其全部推导一遍的想法,不过看到他们的内容,我觉得我就不要再班门弄斧、画蛇添足了。

两位作者能够公开知识供大家学习,是非常可贵的。如果他们的文档让你很有收获,我觉得也可以去向作者留言表示感谢。知识其实是很宝贵的,需要花大量的时间和精力去整理。如果没有正向的交流和反馈,可能就很难看到越来越多的公开的知识。

推荐关于PX4 ECL EKF方程推导的两篇“宝藏“文章相关推荐

  1. 水深平均的二维浅水方程推导

    浅水方程推导 将三维的基本方程沿水深积分平均,即可得到沿水深平均的平面二维流动基本方程. 定义水深为,.为基准面下液面水位和河床高程: 定义沿水深平均流速为: 引用莱布尼兹公式 自由表面及底部运动学条 ...

  2. 罗德里格斯(Rodrigues)旋转方程推导

    罗德里格斯旋转方程是从角度和向量计算出相应的旋转矩阵,这个旋转方程在很多方面有重要的应用,这里简要概述一下方程的推导过程. 主要参考资料是维基百科,其实基本上就是翻译一下,自己走一遍这个推导过程,这里 ...

  3. 手眼标定eye-in-hand(一)AX=XB方程推导

    1. 前言 本文主要介绍eye-in-hand的手眼标定,引用OpenCV的文档原话和原图1:"The following picture describes the Hand-Eye ca ...

  4. 守恒型N.S.方程推导

    简介 梳理了以下NS方程推导的整个过程,包括流体本构方程的推导,最后面还介绍了NS方程常用的简化形式,并且用介绍了张量计算并推导了NS方程简化形式的由来. 这些手稿可以帮助大家理解流体力学中最基本的N ...

  5. Bulter-Volmer 方程推导 Tafel斜率

    Bulter-Volmer 方程: i=ic−ia=FAk0[cO(0,t)exp−βF(E−E0′)RT−cR(0,t)exp(1−β)F(E−E0′)RT](1) (1) i = i c − i ...

  6. 正常情况及匝间短路情况下,三相PMSM电机电压方程推导及对电感的理解

    匝间短路下(interturn short)的电压方程 最近在学习故障检测的知识(fault detection),fault detection可以分为三类方法:based on model/sig ...

  7. DFIG控制10-b: 双馈发电机的转矩方程推导

    DFIG控制10-b 双馈发电机的转矩方程推导 接上DFIG控制10: 双馈发电机的动态模型_Fantasy237的博客,DFIG的转矩方程和推导. (字数限制,只能放在新的一篇博文里了..) 转矩方 ...

  8. 贝叶斯概率在目标跟中的应用及CK方程推导(20.9.27)

    贝叶斯概率在目标跟中的应用及CK方程推导 一.贝叶斯定理 1.两个事件的情况讨论 贝叶斯定理是目标跟踪的基本原理,对于两个相关的事件x和y.x通常代表被考察目标的状态.y通常表示传感器的输出(也是x的 ...

  9. 9月推荐 | 从近1000篇Python文章中精选Top10

    作者 | MyBridge 译者 |王天宇 编辑 | Jane 出品 | AI科技大本营 [导读]我们从过去一个月近 1000 篇有关 Python 的文章中,精心挑选出了最热门的 10 篇(前 1% ...

最新文章

  1. 网易严选 x 网易有数:数据产品+数据中台双引擎模式实践
  2. Bitcoin Core P2P网络层
  3. html ie浏览器视频无法播放视频,HTML5视频以Chrome格式播放,但不播放IE9
  4. linux mktime函数会受当前环境变量设置的时区影响
  5. java反序列化 构造函数_FastJson反序列化和构造函数之间的一点小秘密
  6. SAP Spartacus 服务器端 nodejs 应用里渲染 Angular Component 的一个例子
  7. LeetCode 1773. 统计匹配检索规则的物品数量
  8. 学习笔记25_MVC前台API
  9. Oracle里面的用户user无法登录 LOCKED(TIMED)
  10. 计算文件大小与文件行数
  11. ip地址与整数的相互转化
  12. 20190908每日一句
  13. 一天搞懂深度学习--深度学习简介
  14. RTE 2020第二批嘉宾公布 教育+社交+IoT行业大咖参会
  15. 英文打字训练程序c语言,x86汇编实现英文打字练习软件
  16. 西门子PLC丨虚拟机运行仿真器供物理主机使用
  17. 保罗.沃尔克:世界经济“有控制地解体”
  18. 500台机以上大型网吧设计方案(转)
  19. 网络流建图方法(二)——辅助点(虚点)决策法洛谷 P1361 小M 的作物 Dinic
  20. 京东首页html+css1.0

热门文章

  1. PTA 7-191 百钱百鸡
  2. MySQL 数据库重启
  3. Java尚硅谷基础笔记-day4数组-数组常见算法
  4. React.Meno
  5. Linux操作系统 df命令
  6. 由《对应届和即将应届毕业生的忠告》想到的
  7. FXO端口的断开呼叫的问题(转)
  8. java 套娃_论“套娃”
  9. linux系统安装python包
  10. linux磁盘分区什么意思,linux 磁盘分区详解