IMU-3000硬件融合的联想
今天看了IMU-3000——3轴数字陀螺仪自带的DMP(数字运动处理)功能,觉得非常有趣,于是联想到了四轴中陀螺仪和加速度传感器的融合。请大家讨论下这个硬件融合能否取代飞控代码中的软件融合算法。如可行将大大减轻飞控代码编写和飞控板的处理负担。点击此处下载 ourdev_632763F2RYY7.pdf(文件大小:1.39M) (原文件名:ps-imu-3000a-00-01.1.pdf)
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_632765JG8O0D.jpg
(原文件名:21010132318204_141.jpg) 有个德国人搞的FreeIMU(九个自由度IMU),一开始也为选IMU-3000或ITG-3200伤脑筋,现在选用ITG-3200。
IMU-3000 的DMP 没有太大帮助,除非你在技术手册上看到可读取的X、Y轴倾角暂存器(Register),Z轴的偏航角暂存器,才是有用的。所以,目前还是只能用德国人的这种方案,比较理想。
参考网址: http://www.varesano.net/projects/hardware/FreeIMU#0.4 是的,我用了MPU3050,DMP没什么意义,就是能自动读取ACC的数据,并能把所有数据放到FIFO里,并不是能直接计算出姿态数据,这部分的算法还是需要你自己做的 德国人在等MPU6050才出0.4版,说INVENSENSE经常延迟发布新品,所以还在等,我手头有一MPU3050+ADXL345,试验了一下,数据还可以,要做好的IMU还是用ADI的模拟的来搞 算法可以在IMU中实现,不过不知道这个行不行。如果采用简单的毕卡算法,硬件开销不大。并且这个方案是很常用的方案,可以实现。 最近在平板机上用过MPU3050+KXTF9+AKM8975的方案,感觉效果不错,计算方位角基本不飘。算法是Invensense直接给了SDK,不过都是so库,不开源。 回复【5楼】qwernet 小俊
-----------------------------------------------------------------------
你的SDK是在LINUX还是ANDRIOD上跑的?可否说详细点,我也在弄这快,还没成功 回复【6楼】lihua
回复【5楼】qwernet 小俊
-----------------------------------------------------------------------
你的sdk是在linux还是andriod上跑的?可否说详细点,我也在弄这快,还没成功
-----------------------------------------------------------------------
是这样的。首先Invensense提供了MPU3050的Linux kernel驱动,同时里面包含了加速度计和磁场计的数据读取部分(也就是说一个驱动搞定全部sensor)。这个驱动是开源的,不过没什么功能,基本上就是读写I2C。
核心算法在Invensense给的SDK里,是不开源的so库,提供修正和计算功能,跑在linux上的。当然我做平板机的话就是用在Android的Sensor HAL层里。 回复【5楼】qwernet 小俊
-----------------------------------------------------------------------
你好,我目前的一个方案也是MPU3050+AKM8975+kxsd9,比较疑惑,请教几个问题,硬件连接上akm8975和kxsd9都是连在MPU3050的secondary i2c bus上吗? 还有orientation数据是MPU提供的MPL模块里计算出来的?在framework层里的处理大概有什么变化?因为时间比较短,想先确定这个方案的性能。
谢谢了! mark! IMU-3000 我们这里长期供应,批量,样片都可以供
TEL 13751165547
QQ 154566499 回复【8楼】swindhust
回复【5楼】qwernet 小俊
-----------------------------------------------------------------------
你好,我目前的一个方案也是mpu3050+akm8975+kxsd9,比较疑惑,请教几个问题,硬件连接上akm8975和kxsd9都是连在mpu3050的secondary i2c bus上吗? 还有orientation数据是mpu提供的mpl模块里计算出来的?在framework层里的处理大概有什么变化?因为时间比较短,想先确定这个方案的性能。
谢谢了!
-----------------------------------------------------------------------
我的做法是kxtf9接在mpu3050的i2c上,akm8975c接在CPU的i2c。
orientation是自己根据IC安装方向来定的,其实就是读到的数据乘以这个矩阵得到实际返回的数据。如果跟datasheet上安装方向相同,那么就是1,0,0,0,1,0,0,0,1。 长见识了。 回复【1楼】TADLAW
-----------------------------------------------------------------------
回复【1楼】TADLAW
-----------------------------------------------------------------------
你好,我也在用MPU3050,打算用它和LSM303做四轴的姿态测量。
看到技术文档上说可以用DMP做数据的处理,但是上面又说得很含糊,也没有给出个DMP的调用指令,也没有说清楚对外接的加速度计的数据格式有什么要求。
想问下楼主是怎么做到的,有没有将DMP的资料~~~
谢谢啦~~ 回复【2楼】lihua
-----------------------------------------------------------------------
你好,我也在用MPU3050,打算用它和LSM303做四轴的姿态测量。
看到技术文档上说可以用DMP做数据的处理,但是上面又说得很含糊,也没有给出个DMP的调用指令,也没有说清楚对外接的加速度计的数据格式有什么要求。
想问下楼主是怎么做到的,有没有将DMP的资料~~~
谢谢啦~~ 回复【5楼】qwernet 小俊
-----------------------------------------------------------------------
我也是广告的受害者啊。我看到MPU6050内置了姿态解算,我就买了两片。买到了发现根本就没有接口 。。。。。。 MPU3050我也在用 回复【5楼】qwernet 小俊
-----------------------------------------------------------------------
哥们我最近刚开始做这个有些问题请教,可以加我QQ不,2314343016 不错,收藏一下。正在做六轴空鼠
算法搞不定 .....最近在看MPU6050资料。。所以也顶一个~~~ {:handshake:}{:handshake:}{:handshake:} qwernet 发表于 2011-6-22 23:18
回复【8楼】swindhust
回复【5楼】qwernet 小俊
----------------------------------------------------- ...
这样可以增加效率么? lihua 发表于 2011-4-23 11:50
是的,我用了MPU3050,DMP没什么意义,就是能自动读取ACC的数据,并能把所有数据放到FIFO里,并不是能直接 ...
你好,IMU-3000手册说是惯性测量单元IMU,跟MPU-3000运动处理单元MPU功能、参数基本一致(那个外接第三方的磁力计的不算),,这两者有什么差别呢?
页:
[1]