mpu9150 mpu6050内部自带DMP实现姿态解算算法
楼主打算DIY四轴时间不算长,自己也还有好多问题没有解决。看到坛子里也有同学关注了invensense的mpu9150内部自带的DMP,故撰文来同大家讨论一下。楼主是在接触mpu9150的数据手册时读到其内部自带的DMP能够硬件实现姿态解算方法,DMP是数字运动处理器的缩写,顾名思义mpu9150(mpu6050)并不单单是一款传感器,其内部还包含了可以独立完成姿态解算算法的处理单元。
如在设计中使用DMP来实现传感器融合算法优势很明显。首先,invensense官方提供的姿态解算算法应该比像楼主这样的小白要可靠的多。其次,由DMP实现姿态解算算法将单片机从算法处理的压力中解放出来,单片机所要做的是等待DMP解算完成后产生的外部中断,在外部中断里去读取姿态解算的结果。这样单片机有大量的时间来处理诸如电机调速等其他任务,提高了系统的实时性。
最后,关于移植问题。坛子里很多朋友在喊怎么调,怎么移植。我只能说你们要认真的阅读invensense提供的motion driver源码。移植移植,你就是要实现那些跟你自己硬件平台相关的函数,上层的逻辑并不需要去动。motion driver的源码写的很通俗易懂,连楼主这样非211非985刚过六级的水平都看得懂想来各位大大也不会差。自己写好接口函数后要认真测试,确定没问题以后再在工程中加入DMP的上层逻辑还是比较容易实现的。 大侠能否共享一份作为参考? 看来楼主网线又坏了! wz18th 发表于 2013-5-10 11:57 static/image/common/back.gif
看来楼主网线又坏了!
卓桑回来飞飞机啦 准备试试 我也正在移植这个,大家可以讨论 楼主,既然开了头那就继续下去吧,不要太监了 sysbreaker 发表于 2013-5-19 07:46 static/image/common/back.gif
楼主,既然开了头那就继续下去吧,不要太监了
楼主在读研究生,整天被导师喊着做这做那的 等闲下来会补上的。。。。。
20天做完软硬件怎么搞嘛。。。。。。。。。。 顶一个。 sysbreaker 发表于 2013-5-19 07:46 static/image/common/back.gif
楼主,既然开了头那就继续下去吧,不要太监了
by the way, 楼主在这个板块有个帖子把自己源码公开了,你看看就知道怎么移植了。。。。。 风见流雅 发表于 2013-5-19 20:45 static/image/common/back.gif
by the way, 楼主在这个板块有个帖子把自己源码公开了,你看看就知道怎么移植了。。。。。 ...
我看了你那个是用pic32移植的,pic32里面的很多库函数跟msp430很像,移植比较方便,但是跟stm32的差别就很大了。 windless 发表于 2013-5-20 17:04 static/image/common/back.gif
我看了你那个是用pic32移植的,pic32里面的很多库函数跟msp430很像,移植比较方便,但是跟stm32的差别就 ...
底层的几个函数我自己写的 应该都大同小异吧。
还有 现在stm32用的人好多,有什么特点么 没接触过哎 风见流雅 发表于 2013-5-20 17:34 static/image/common/back.gif
底层的几个函数我自己写的 应该都大同小异吧。
还有 现在stm32用的人好多,有什么特点么 没接触 ...
嗯,不过,如果stm32的库函数是类似pic32的,我想坛子里面的筒子们也没有那么多的问题了。应该都调试出来了 底层的I2C改好了,现在在研究Interrupt,不理会Interrupt的话,MPU和DMP已经可以初始化了……研究中。。。。。。 kzjken 发表于 2013-5-31 16:42 static/image/common/back.gif
底层的I2C改好了,现在在研究Interrupt,不理会Interrupt的话,MPU和DMP已经可以初始化了……研究中。。。 ...
改好了吗?这个芯片用的怎么样了,我刚刚开始看这个芯片的资料 打算用这个芯片,弄好了麻烦把驱动共享一下哦 楼主能提供一下在该板块中提供的源码公开帖子的链接么,小菜初来咋到,多多关照啊,楼主{:handshake:} lukefan2008 发表于 2013-7-30 11:12 static/image/common/back.gif
楼主能提供一下在该板块中提供的源码公开帖子的链接么,小菜初来咋到,多多关照啊,楼主 ...
点楼主发过的主题就找到了 楼主你好,请问你调试的程序磁力计有作用吗? 我的用示波器看磁力计移植在采数并且数据是对的 但是DMP输出的值就是没有磁力计校正的,不知道哪里出了问题 方便的话麻烦回复一下! 吴汪洋 发表于 2013-8-14 13:50 static/image/common/back.gif
楼主你好,请问你调试的程序磁力计有作用吗? 我的用示波器看磁力计移植在采数并且数据是对的 但是DMP输出 ...
我当时看文档官方这个DMP只融合到6轴 磁力计的数据他没采用,你可以在得到的六轴融合数据的基础上再用磁力计做修正 风见流雅 发表于 2013-5-19 20:45 static/image/common/back.gif
by the way, 楼主在这个板块有个帖子把自己源码公开了,你看看就知道怎么移植了。。。。。 ...
你好,没找到您公开的motion driver的源代码。能否发个链接过来!谢谢了先! DMPMPU6050 角度变化很缓慢跟不上速度
http://www.amobbs.com/thread-5549961-1-1.html
大神这个问题遇到没啊 风见流雅 发表于 2013-8-18 11:57 static/image/common/back.gif
我当时看文档官方这个DMP只融合到6轴 磁力计的数据他没采用,你可以在得到的六轴融合数据的基础上再用磁 ...
楼主确定官方的DMP库没有融合磁力计的数据吗?我查看了下函数mpu_run_self_test(gyro, accel)的返回值为0x07,可是实际的Yaw数据还是会飘动,特别是大动作后回到原来位置会有较大变化;而静止时还好不会有大的变动。自己有尝试改下库函数,比较困难,求交流 hzqlz 发表于 2013-9-28 16:29 static/image/common/back.gif
楼主确定官方的DMP库没有融合磁力计的数据吗?我查看了下函数mpu_run_self_test(gyro, accel)的返回值为0 ...
楼主最近DIY四轴研究通信部分比较多,现在使用国外的DCM程序觉得效果蛮好 风见流雅 发表于 2013-9-30 20:06 static/image/common/back.gif
楼主最近DIY四轴研究通信部分比较多,现在使用国外的DCM程序觉得效果蛮好 ...
使用DCM互补滤波程序跟MPU6050/90500DMP相比较那个好呢?DMP真有那么神奇?这么多人追捧?传感器自身的处理能力怎么能跟32位单片机比,效果能有单片机处理的好? DMP跟一般的算法比效果如何? 9150太贵了,不划算 有道理,不过读源代码确实特别吃力,特别是对MSP430还不懂的我,很多地方不知道在干什么,对应STN32应该怎么办。。。。 hzqlz 发表于 2013-9-28 16:29
楼主确定官方的DMP库没有融合磁力计的数据吗?我查看了下函数mpu_run_self_test(gyro, accel)的返回值为0 ...
这位仁兄 我也发现这个问题了! 大动作后瞬间输出的姿态有大变化 然后慢慢地又调整回来
我设定一个角度范围 超出范围就报警 然后我再范围内快速来回晃 然后经常就报警超出范围了 但是慢慢的晃就没事
难道是角速度传感器的滤波设置有问题么
不知道你现在解决这个问题了没有 难道要再加一个软件滤波??????愁 顶一个吧~~ 支持楼主!!!!!!!!!!!!!!!!!!!! 小弟初步接触MPU9150,我想把测量的数据调出来,并实时显示在计算机上,利用什么软件较好 {:smile:}{:smile:}{:smile:}{:smile:}{:smile:}{:smile:}{:smile:} 还是没有调出来
啊
学习中! DMP有缺陷啊,就是内部的滤波过程不够清晰。
特定情况下,就不是很好了。比如直升机 静止的时候的数据pitch: 62.21 roll:52.28 yaw:54.67
pitch: 61.17 roll:42.12 yaw:101.33
pitch: 63.76 roll:35.36 yaw:149.28
pitch: 66.04 roll:38.78 yaw:-149.91
pitch: 64.64 roll:45.85 yaw:-91.09
pitch: 64.47 roll:41.65 yaw:-36.73
pitch: 66.11 roll:45.11 yaw:18.63
感谢楼主分享 dmp是不是只能输出四元数? 请问,dmp出来的值还需要滤波吗? zhoutonglink 发表于 2013-12-10 22:23
这位仁兄 我也发现这个问题了! 大动作后瞬间输出的姿态有大变化 然后慢慢地又调整回来
我设定一个角度范 ...
是不是用dmp之后就不需要卡尔曼滤波或者互补滤波了呢? 九轴和六轴的库是一样的吗?
页:
[1]