综合技术
直播中

庞哲

7年用户 192经验值
私信 关注
[问答]

请问6050能直接读出欧拉角为什么很多飞控代码还要用角速度去算?

     以前只玩过几次朋友的大疆,觉得特别酷,想自己做一个,对于四轴和飞控完全不懂.只在网上找了一段锅炉加热的pid的代码(坑死我了)研究了一晚上就开始闷头写程序,完全没参考别人的代码怎么写,用了无数的if,else等等,勉强能飞起来,控制姿态,前后左右飞行,转向等.但是姿态极其不稳定,动不动就要摔,没敢飞超过50厘米高.  而且无论在自己的飞控上怎么改,调试都没有用,直到最后意识到靠if else是做不出真正能飞起来的无人机才开始研究网上的各种飞控代码.发现自己在错误的方向上走的太远.
  现在正在研究各种飞控,有一个问题就是既然mpu6050能直接读出pitch, roll,  yaw,为什么我看多数的飞控程序,即使是用6050的陀螺仪,还要用角速度去算pitch, roll ,yaw呢? 直接用6050提供的不可以吗?

回帖(6)

丁兵溢

2019-6-27 14:38:01
因为DMP输出速率慢,不满足高速计算的需求。
举报

王竹

2019-6-27 14:54:50
你先把问题说清楚,mpu6050除非是用dmp库,否则不能输出姿态角,而且他输出的yaw角是会漂移的。现在的开源飞控大都没用dmp,而是根据四元数互补滤波估计的姿态角。具体的自己百度吧
举报

姬房有

2019-6-27 15:03:04
谢谢回复!
  我想说的就是用6050用dmp库输出的欧拉角,dmp库输出的姿态角和四元数解算的有什么区别吗? 我觉得dmp库输出的姿态角还是很准确的。我不解的就是为什么在网上找的很多飞控,不管是开源的,还是其他网友分享的,即使他们也用的是mpu6050的陀螺仪,几乎都是用四元数计算出来的欧拉角,再通过pid调整姿态。  我很好奇为什么宁可牺牲大量的运算资源,也不使用mpu6050自带的dmp解算出姿态角。
举报

王帅

2019-6-27 15:09:41
谢谢原子哥指导
举报

更多回帖

发帖
×
20
完善资料,
赚取积分