摘要:
最近在研究一个比较有意思的应用—车辆追踪算法。传统的车辆追踪算法是基于检测器检出车辆,之后使用卡尔曼滤波和匈牙利算法来进行位置预测与数据级联的。关于卡尔曼滤波,我之前已经写过一篇文章进行了详细的介绍;最近则是在研究匈牙利算法是如何工作的。这里简单的记录一下相关原理。
匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法,广泛应用在运筹学领域。 美国数学家哈罗德·库恩于1955年提出该算法。之所以被称作匈牙利算法,是因为算法很大一部分是基于以前匈牙利数学家Dénes Kőnig(1884-1944)和Jenő Egerváry(1891-1958)的工作上创建起来的。
在车辆追踪中,匈牙利算法(Hungarian Algorithm)与KM算法(Kuhn-Munkres Algorithm)都是用来解决多目标跟踪中的数据关联问题,而数据关联问题,亦可转化为求解二分图的最大匹配问题。二分图的最大匹配问题听起来很绕口,这里如何理解呢?换句话说,就是求解任务分配问题,也叫指派问题,即n项任务,对应分配给n个人去做,应该由哪个人来完成哪项任务,能够使完成效率最高。 阅读全文
摘要:
说到定位,相信大家一定不会觉得陌生。如今我们所处的信息时代,人人都有手机。每天,我们都会用到与地图和导航有关的APP。
这些APP,就是基于定位技术的。说到定位技术呢,大家又肯定会想到GPS、北斗这些名词。是的,这些都属于全球导航卫星系统,也就是**GNSS(Global Navigation Satellite System)**。 阅读全文
摘要:
大家可以看到中间是一根竖轴穿过一个盘子,而盘子处于高速旋转状态,是陀螺的转子,根据陀螺的定轴性,竖轴也就是陀螺的自转轴在惯性空间内的方向保持不变。在这里我们要说明一点,我们拿陀螺仪出来说明欧拉角的万向锁现象不是因为我们飞机上用的陀螺仪就是这个样子,而是欧拉角中的欧拉旋转与我们陀螺仪的这个旋转状态是一样的,我们拿陀螺仪来解释万向锁产生的原因,而我们之所以称呼它为万向锁,也是因为这是三轴万向节装置中会出现的现象。
接下来我们先来看看这个陀螺仪的旋转状态。我们把飞行器放到陀螺仪旁边进行对比。首先,我们先来解释一下上面那个旋转的陀螺仪的三个环是怎么旋转的,每一个环都连有一根或者两根轴,这根轴就是每个环的旋转轴,我们可以看到最外面那个环旋转不会影响里面两个环的位置,中间那个环的旋转不会影响最里面那个环的位置,但是最外面的那个环会跟着动,而最里面那个环旋转会影响到外面两个环的位置,这种现象跟我们上一次讲欧拉旋转里的三次旋转是一样的,这也是我们拿陀螺仪来解释欧拉角万向锁现象的原因。 阅读全文
摘要:
机器人的姿态测量对于许多应用至关重要,如导航、运动控制等。在这篇文章中,我们将介绍如何利用MPU6050传感器以及互补滤波和卡尔曼滤波算法来实现自平衡车的姿态测量。我们将从原理出发,逐步介绍互补滤波和卡尔曼滤波的基本原理,并提供相应的C代码实现。 阅读全文