完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
读出MPU9250加速度和角速度后就开始折腾互补滤波和姿态解算了 看了资料搞了一段代码
#define Kp 1.6f #define Ki 0.001f #define halfT 0.0005f #define T 0.001f float q0=1,q1=0,q2=0,q3=0; float exInt=0,eyInt=0,ezInt=0; void IMU(float gx, float gy, float gz, float ax, float ay, float az) { float norm; float vx,vy,vz; float ex,ey,ez; norm=1/sqrt(ax*ax+ay*ay+az*az); ax=ax*norm; ay=ay*norm; az=az*norm; vx=2*(q1*q3-q0*q2); vy=2*(q0*q1+q2*q3); vz=q0*q0-q1*q1-q2*q2+q3*q3; ex=ay*vz-az*vy; ey=az*vx-ax*vz; ez=ax*vy+ay*vx; exInt=exInt+ex*Ki; eyInt=eyInt+ey*Ki; ezInt=ezInt+ez*Ki; gx=gx+Kp*ex+exInt; gy=gy+Kp*ey+eyInt; gz=gz+Kp*ez+ezInt; float q0_last=q0; float q1_last=q1; float q2_last=q2; float q3_last=q3; q0=q0_last+(-q1_last*gx-q2_last*gy-q3_last*gz)*halfT; q1=q1_last+( q0_last*gx+q2_last*gz-q3_last*gy)*halfT; q2=q2_last+( q0_last*gy-q1_last*gz+q3_last*gx)*halfT; q3=q3_last+( q0_last*gz+q1_last*gy-q2_last*gx)*halfT; norm=1/sqrt(q0*q0+q1*q1+q2*q2+q3*q3); q0=q0*norm; q1=q1*norm; q2=q2*norm; q3=q3*norm; } void Get_Angle(struct _angle *Angle) { Angle->roll=atan2(2.0f*(q0*q1+q2*q3),-2*q1*q1-2*q2*q2+1)*Radian_to_Angle; Angle->pitch=asin(2.0f*(q0*q2 - q1*q3))*Radian_to_Angle; Angle->yaw=atan2(2*(q0*q1+q2*q3),q0*q0+q1*q1-q2*q2-q3*q3)*Radian_to_Angle; } 输出的姿态角一直是横滚和偏航-135 俯仰角0 角速度-20到+20之间跳变 加速度有几万 请求大佬能指点一下 是不是哪里有问题啊 |
|
相关推荐
6个回答
|
|
|
|
没有人懂学术类问题么
|
|
|
|
建议看一下我们MINIFLY的姿态解算代码
|
|
|
|
我昨天debug了一天 发现debug里面单步调试解算出来的角度是变化的 一旦全速运行就cannot evaluate了 我查了一下atan2函数 是输出反正切角度的 一直是-135或45 我推测是四元数根本没更新
|
|
|
|
建议复习一下静态变量STATIC的使用。
|
|
|
|
yaw的求取好像有问题,同滚转有重复,看这个应该是按照ZYX方向顺归的。非解算问题,应该是输入源的问题。
|
|
|
|
只有小组成员才能发言,加入小组>>
请问下图大疆lightbridge2遥控器主板电源芯片型号是什么?
4442 浏览 1 评论
使用常见的二极管、三极管和mos做MCU和模组的电平转换电路,但是模组和MCU无法正常通信,为什么?
312浏览 2评论
为了提高USIM卡电路的可靠性和稳定性,在电路设计中须注意的点有哪些?
297浏览 2评论
311浏览 2评论
314浏览 2评论
352浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 23:51 , Processed in 1.009354 second(s), Total 91, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号