OpenEdv-开源电子网

标题: 我做的姿态解算,pitch角的角度打印出来最大只能到±85°,到不了90°,这是什么情况呢? @所有四轴朋友 [打印本页]

作者: 业未央    时间: 2015-4-21 20:58
标题: 我做的姿态解算,pitch角的角度打印出来最大只能到±85°,到不了90°,这是什么情况呢? @所有四轴朋友
我的姿态解算 roll的变化感觉还可以,但是pitch的变化到不了90°,这样正常吗
作者: 正点原子    时间: 2015-4-21 22:37
帮顶。。。。
作者: a4615800    时间: 2015-4-22 14:34
帮顶。。。。
作者: husheng1994    时间: 2015-4-22 19:16
pitch到了90度就会引起万向锁的问题
作者: 业未央    时间: 2015-4-24 09:14
回复【4楼】husheng1994:
---------------------------------
四元数解算转换成的欧拉角,pitch也到不了90度吗
作者: kiti1013    时间: 2015-4-26 20:25
得到角度怎么去给电机调速呢?
作者: 今天天气不好    时间: 2015-4-27 10:42
网上找的程序,到不了90°正常
作者: 业未央    时间: 2015-4-28 14:12
回复【6楼】kiti1013:
---------------------------------
我的板子发出去还没回来,还没开始调电机
作者: 业未央    时间: 2015-4-28 14:13
回复【7楼】今天天气不好:
---------------------------------
请问有什么解决的办法吗
作者: 业未央    时间: 2015-4-30 19:01
回复【7楼】今天天气不好:
---------------------------------
天气你有什么好的解决办法吗
作者: 小小怪    时间: 2015-5-2 13:39
万向锁的问题吧,以前找过这个问题,说是要插值法可以解决,类似于3D游戏里面的效果,但是我看不懂。
作者: 业未央    时间: 2015-5-4 09:27
回复【11楼】小小怪:
---------------------------------
四元数解算应该不存在万向锁的问题吧
作者: 小小怪    时间: 2015-5-5 17:09
回复【12楼】业未央:
---------------------------------
我之前也有疑问,读取mpu6050的DMP也是达不到90度,问题不在四元数,在四元数转换为角度时候。
请参考
http://www.amobbs.com/thread-5492189-1-1.html
有收获请分享。
作者: 业未央    时间: 2015-5-6 13:56
回复【13楼】小小怪:
---------------------------------
好的,谢谢
作者: wdhywzzc    时间: 2015-5-6 22:07
各位想学四轴的兄弟,我给大家找个给力的网站,我也是最近在研究这个,百度 匿名四轴,应该有你需要的。
作者: 业未央    时间: 2015-5-7 08:46
回复【15楼】wdhywzzc:
---------------------------------
好的,谢谢
作者: Alone_    时间: 2015-5-11 18:27
你四轴初始斜着放      读出pitch角度是0么?
作者: 业未央    时间: 2015-5-25 11:47
回复【17楼】Alone_:
---------------------------------
不是啊
作者: shu8708    时间: 2015-9-20 09:40
到不了90的 何况做飞控也不可能让他到90啊
作者: 弦子的弦    时间: 2015-9-26 22:50
我觉得没啥关系的.可以用了.
作者: dogwaves    时间: 2015-11-2 16:15
虽然飞机的pitch角用不到90°,但还是要查明白。如果最大值只能到85°,可能是整体姿态角计算有问题。在这种情况下,建议去掉姿态算法,测试下传感器,如果是16位的采样精度,传感器的数字量输出,-65535~+65535,确定没问题了,再去查算法。
作者: 篆香飘雪    时间: 2016-4-7 07:25
请问一下,你问题解决了吗,我也碰到了这个问题,就是pitch角超过90度就转化到了roll角上,roll角瞬间就+-180度了,你是怎么解决的 ?
作者: 小天使    时间: 2016-4-7 08:55
你的 yaw角度再旋转几圈之后不会有偏差么? 我测试了几回大概能偏个5度左右
作者: ganlinufo    时间: 2016-4-13 10:34
篆香飘雪 发表于 2016-4-7 07:25
请问一下,你问题解决了吗,我也碰到了这个问题,就是pitch角超过90度就转化到了roll角上,roll角瞬间就+-1 ...

我也是这情况。。网上找了好久都没有解决方法
作者: chuck__chee    时间: 2016-7-26 22:38
楼主现在解决了么,遇到同样的问题,不能达到90度,最多85° 而且pitch达到85°左右 roll突然变化好大~  求助攻,研究了好几天了
作者: 篆香飘雪    时间: 2016-7-27 12:42
好像姿态结算的死锁问题,和相机云台道理有点像,但这个不影响飞行的,实测
作者: YuanZi_Flying    时间: 2016-8-13 12:23
楼主你的问题解决了么,我也碰到这个问题了
作者: YuanZi_Flying    时间: 2016-8-13 12:24
我觉得应该是函数asin的问题,这个函数的值域貌似只有正负90度,
作者: leasun    时间: 2017-4-6 09:31
关于这个问题,很多导航专业的论文可以看……
作者: 薛史王贾    时间: 2018-6-8 17:10
ganlinufo 发表于 2016-4-13 10:34
**** 作者被禁止或删除 内容自动屏蔽 ****

我也是,你解决了没有啊,分享下
作者: 薛史王贾    时间: 2018-6-8 17:11
篆香飘雪 发表于 2016-4-7 07:25
请问一下,你问题解决了吗,我也碰到了这个问题,就是pitch角超过90度就转化到了roll角上,roll角瞬间就+-1 ...

楼主解决了吗,分享下经验
作者: zxc123123    时间: 2018-6-27 17:05
薛史王贾 发表于 2018-6-8 17:11
楼主解决了吗,分享下经验

+1.。。接近90 roll 和yaw突然变化很大
作者: WWW256    时间: 2020-7-29 12:00
有人解决这个问题吗。
作者: WWW256    时间: 2020-7-29 13:32
chuck__chee 发表于 2016-7-26 22:38
楼主现在解决了么,遇到同样的问题,不能达到90度,最多85° 而且pitch达到85°左右 roll突然变化好大~  求 ...

有解决这个问题吗。谢谢
作者: redawnlc    时间: 2020-8-12 13:33
WWW256 发表于 2020-7-29 13:32
有解决这个问题吗。谢谢

这是欧拉角表示姿态的固有特点,当俯仰角达到±90°时,滚转角和航向角无法分离。可以想象一下当飞机垂直向上飞时,航向角和滚转角就没办法定义了。
当俯仰角达到±90°时,反三角函数的姿态角解算值可能会出现 INF(无穷大)的情况,与具体的数值计算方法有关,所以只能到85~89度左右
解决方法:当俯仰角达到±90°时,可以定义航向角为0,即可分离heading和roll。姿态更新采用四元数就可以了,可以避免欧拉角奇异值。

作者: leonhsu    时间: 2020-12-17 14:41
zxc123123 发表于 2018-6-27 17:05
**** 作者被禁止或删除 内容自动屏蔽 ****

这个问题解决了吗

作者: billyMo    时间: 2021-8-16 15:14
这个问题我遇到过,到不了90度,是因为使用了网上广为流传的那个快速均方根倒数的算法,这个算法虽然加快了计算速度,但是导致精度受损,四元素归一后理论最大能达到1,但是因为这个精度受损的原因,达不到1,然后通过四元数求角度的时候到不了90度。我的做法是把它膨胀到90度,比如实际试试,最大只能到a=87,说明87其实就是90度,那么再修改代码最终结果膨胀:a=a*(90/87).
这种膨胀操作简单粗暴,不一定适合各位哈,只是我的应用要求也不太高这样做了而已,归根到底还是精度损失导致的。

我猜测你们也是因为这个问题导致的。




欢迎光临 OpenEdv-开源电子网 (https://www.openedv.com/) Powered by Discuz! X3.4