完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我在做电子罗盘项目,使用了加速度计、陀螺仪、地磁计。其中IMU的型号是ISM330DHCX,地磁计的型号是LIS2MDL。在使用motionfx库融合九轴数据时遇到了航向角不准确的问题。我通过反复试验,找到了一些问题点,希望能得到官方的技术支持。
问题1:原先我水平旋转传感器,航向角的误差很大,比如说误差30度。通过我反复测试后发现是陀螺仪零漂的问题,motionfx库设置静态时校准零漂,但是当旋转传感器的速度很慢时(2度/秒),motionfx库偶尔会识别为静止状态,实际上是运动状态,因此导致了航向角的累计误差。我反复修改MFX_knobs_t结构体的参数,无法解决此问题。后来我尝试用MotionGC库校准陀螺仪,通过一个一个测试MGC_knobs_t结构体参数,最终发现通过修改MaxGyro值可以解决此问题。MaxGyro默认的值是15dps,传感器旋转速度比较快才能使MotionGC库识别为运动状态,通过减小此值,目前我设置的是陀螺仪3倍的噪声均方根值。通过简单测试,目前航向角基本正常,误差没有特别大。 问题2:我的项目是电子罗盘,使用的场景以低速运动(<6度/秒)和静止状态为主。那么motionfx库和MotionGC库该怎么设置参数,可以提高航向角的精度和稳定性呢?这两个库只有函数的说明,实在是不了解参数实际的物理意义。我通过测试认为,地磁计数据应该只参与首次上电、倾角变化后的姿态解算。有没有什么方式让地磁计的权重更大?虽然文档中提到:减小MTime、FrTime值可以提高地磁计的权重,但是实际测试发现并没有什么效果。比如说关闭陀螺仪零漂校准,理论上将地磁计权重设置最高,则陀螺仪零漂导致航向角偏移会更小,但是实际上陀螺仪零漂不受地磁计权重影响,依然会导致航向角增加。理论上设置地磁计高权重,陀螺仪低权重后,陀螺仪零漂不应该影响航向角,因为航向角主要由地磁计提供,此时地磁计受外部干扰后会导致航向角突变。如果增加陀螺仪权重,降低地磁计权重,则地磁计受到干扰后导致航向角偏移会降低。但是实际测试发现,不论怎么设置,始终都是陀螺仪数据优先级最高,地磁计数据优先级非常低,低到陀螺仪漂移导致航向角误差很大时,航向角和地磁计数据差值非常大,motionfx库也不会使用地磁计数据校准航向角。理论上来说地磁计只有受到干扰后才不可靠,而正常情况下的地磁计是可靠的。我有此顾虑的原因是:虽然暂时解决了陀螺仪零漂对航向角的影响,但是实际工程应用时,反复低速旋转传感器,可能会有累积误差,如果地磁计权重太低,而陀螺仪累计误差一直得不到校准,则实际航向角误差会越来越大。如果可以设置地磁计权重,那么就算反复旋转传感器后陀螺仪误差累加也会因为地磁计数据正确而被成功校准。 我非常希望得到官方的技术支持,谢谢! |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
stm32mp157的异核通信的rpmsg_sdb的m4固件和a7驱动该如何编写?
1447 浏览 0 评论
stm32f103用freertos对一个采样率为1kHz的传感器,进行采样,数据出差
1494 浏览 0 评论
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
3641 浏览 1 评论
3834 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
2454 浏览 1 评论
STM32H7打开DCache后,出现了串口接收信息为空的现象,是哪里出了问题?
725浏览 5评论
用NANO STM32F103RBT6的开发板烧录不了是哪里出了问题?
656浏览 5评论
708浏览 5评论
外部中断触发类型为双边沿触发,进入中断回调后有什么办法判断该边沿是上升沿还是下降沿?
938浏览 5评论
STM32L071CBT6低温环境下无法正常工作是什么原因引起的?
742浏览 5评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 10:48 , Processed in 0.599179 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3559