你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于传感器融合库的使用问题(motionfx)

[复制链接]
水水水木木木 提问时间:2025-4-10 16:10 / 未解决

我在做电子罗盘项目,使用了加速度计、陀螺仪、地磁计。其中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库也不会使用地磁计数据校准航向角。理论上来说地磁计只有受到干扰后才不可靠,而正常情况下的地磁计是可靠的。我有此顾虑的原因是:虽然暂时解决了陀螺仪零漂对航向角的影响,但是实际工程应用时,反复低速旋转传感器,可能会有累积误差,如果地磁计权重太低,而陀螺仪累计误差一直得不到校准,则实际航向角误差会越来越大。如果可以设置地磁计权重,那么就算反复旋转传感器后陀螺仪误差累加也会因为地磁计数据正确而被成功校准。

我非常希望得到官方的技术支持,谢谢!

收藏 评论1 发布时间:2025-4-10 16:10

举报

1个回答
水水水木木木 回答时间:前天 21:14

有技术支持吗

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版