【STM32L476 Nucleo】+建立组合导航系统04+飞上天的卡尔曼

  • 卡尔
  • 导航系统
  • 空间
  • Alanliu
  • LV3工程师
  • |      2016-05-30 09:09:39
  • 浏览量 1509
  • 回复:6
本帖最后由 Alanliu 于 2016-5-30 09:14 编辑 各位好,撸主又来了,这次将带来组合导航系统的最终篇之飞上天的卡尔曼。一、卡尔曼滤波。 撸主上学的时候是学过卡尔曼滤波的,当时还是某位老教授给上的课,现在想想就后悔啊,当时就知道贪玩了,早知道有这机会就像这位老教授多请教几个问题,或许撸主的人生也会有所改变,成为CEO,迎娶白富美,哈哈想多了,白日梦呢。不过呢,安利一句,应该你走的弯路一点也不会少!!!卡尔曼滤波说简单很简单,就五个公式,无非就是矩阵运算加求逆什么的,不过我看了很多帖子,大家普遍感觉很难,难在什么地方呢,无非就是系统的建模,和矩阵运算,毕竟和大家想象的加减乘除不一样哈。不过呢,在撸主看来,这些都不是最难的,就拿一个组合导航系统的状态方程来说吧,它的建模都已经在无数的大神级人物的努力下,用比较精确的数学公式表达出来了。相对难一点的可能是量测方程,需要自己去研究量测量和状态方程的关系。但撸主认为,最难的绝不是这里,或者说是这五个公式最艺术的地方就在于参数的选择,就像PID调参数是一样的,调的好与不好天差地别。 卡尔曼滤波,不过是实现动态系统的迭代最小二乘,或是用在数据融合。到卡尔曼滤波的话,一直到现在,火星车上也需要有人人专门负责IMU。原因很简单,同样是Kalman,同样是PID,调的水平可以差很多。实现卡尔曼滤波当然不是神级操作,分分钟的事情,几行代码。但用得好就是神级操作,一辈子能成为专家也不错。就是现在,能在火星车包括着落等这一级别的工程中,把卡尔曼滤波用好的,全世界有几人?把特别考虑到登月是第一次,那就是神级操作。现在的新算法也是一大堆,理论可行,但为什么大家还在用Kalman呢?调参难度确实可以大到不可估计,如JPL火星车。就是如今,能在火星车包括其着陆中这样级别的工程中调好的,也是寥寥无几。登月所用的那些理论、算法,几乎肯定不会失传,但设计、调参,因为有很多的trick和经验,其实是有“失传”的危险的。有可能某个关键人物没了就做不出来了。其实直到今天,工程和实际中的问题一样多,工程中能做出登月、火星车式的工程,理论上能提出下一个卡尔曼滤波式的结果,都是大神。两者应该都指日可待,毕竟前者都提上日程了,后者的话,PID才100来年的历史,卡尔曼滤波才50来年,不大可能控制就到此为止了吧~ 上面这些是我转载的,说说我自己的理解吧。用了卡尔曼也有段时间了,给我最深刻的一点就是大道至简。卡尔曼滤波就像是数据融合中的道,而如何去调参数就是术了,诚如风清扬老爷子的独孤九剑一般的艺术。那位我比较敬重的老教授,一大把年纪了,还被洛阳某所请过去解决问题,最近听说上海的某所也要请他去设计实验之类的。这就是真正的把理论转化为艺术了吧,别人还真玩不了。二 、设计组合导航系统 在这里要提一个算法的验证流程,因为撸主本人呢是工科男,所以比较习惯用matlab先对算法的有效性做个验证,然后再把代码用c语言实现,这样的话会大大缩短开发周期。不说了,先上图。 很漂亮吧,可是移植到板子上各种问题层出不穷,其中最主要的是两个,一是滤波发散,另一个就是设置的堆栈大小不合适,导致数组数据被修改。更重要的是,板载的ST-LINK不知道怎么回事不支持多个断点,这一点徒增了好多工作量。 三、代码 开始撸代码了啊!!! 四、实验 撸主抱着电脑绕着某个区域跑了一圈,然后得到了某些数据,并将它们导入到matlab和google earth 进行处理。 五、总结 到此为止,撸主完成了在L476上的测试,就体验来说,它的处理速度可能赶不上现在的Cortex A系列核心的处理器,但它的串口 I2C 定时器接口之多是其它赶不上,更何况它的低功耗特性。撸主此后会不定期更新L476的其他功能,比如定时器和其他设备比如树莓派的通信等等,说不定撸主因此成为一代网络写手哈哈!!!
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:6
xhuaihe 2017-06-30
楼主能分享代码包吗
0   回复
举报
发布
黄莨元 2017-05-13
:lol不错哦
0   回复
举报
发布
qwt3916 2017-05-11
请问楼主能分享下代码吗?
0   回复
举报
发布
大伟 2016-12-06
感谢楼主分享,好人一生平安~ 谢谢你您对论坛一如既往的支持~
0   回复
举报
发布
132654 2016-05-31
Awesome
0   回复
举报
发布
秦时茗月 2016-05-30
:funk:
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子