lologame 发表于 2013-8-20 10:26:52

新手发问,欧拉角和平面夹角的问题

为啥都是用欧拉角来进行计算,而不是平面夹角呀?
平面夹角不是挺直观的吗?

neozoic 发表于 2013-8-20 22:11:32

新手不懂,前排听讲{:smile:}

K.O.Carnivist 发表于 2013-8-21 12:14:15

本帖最后由 K.O.Carnivist 于 2013-8-21 18:17 编辑

我猜这个是由机械陀螺仪的结构而来的,机械陀螺仪输出的似乎就是欧拉角。
其实从表示姿态来说用平面夹角也可以,反正和欧拉角一样都不是线性空间,想做线性运算的话都要映射到另外一个空间比如四元数(后注:此处可能有误,四元数空间是线性的,但用来表示姿态的其实是它的一个子空间)。

lologame 发表于 2013-8-21 13:26:20

K.O.Carnivist 发表于 2013-8-21 12:14 static/image/common/back.gif
我猜这个是由机械陀螺仪的结构而来的,机械陀螺仪输出的似乎就是欧拉角。
其实从表示姿态来说用平面夹角也 ...

我不太了解机械陀螺仪,但是mems陀螺仪输出的不是角速度吗,这个理论上直接积分就可以得到平面角度啊。
用四元数的方法是得到欧拉角啊

K.O.Carnivist 发表于 2013-8-21 13:57:39

lologame 发表于 2013-8-21 13:26 static/image/common/back.gif
我不太了解机械陀螺仪,但是mems陀螺仪输出的不是角速度吗,这个理论上直接积分就可以得到平面角度啊。
...

角速度积分不得平面角度啊
比如说系统斜斜地放在那里,系统上某个轴的角速度其实不等于哪个平面夹角的微分

lologame 发表于 2013-8-21 14:00:22

K.O.Carnivist 发表于 2013-8-21 13:57 static/image/common/back.gif
角速度积分不得平面角度啊
比如说系统斜斜地放在那里,系统上某个轴的角速度其实不等于哪个平面夹角的微 ...

那角速度积分得到什么....

K.O.Carnivist 发表于 2013-8-21 14:07:04

lologame 发表于 2013-8-21 14:00 static/image/common/back.gif
那角速度积分得到什么....

三轴运动情形下,角速度按说是不能积分的,没有意义,积分是线性运算,三轴角速度也不是线性空间。
个别情况下比如认为系统转动很小,这时候可以把角度空间线性化,角速度积分就等于角度了。

lologame 发表于 2013-8-21 17:04:03

K.O.Carnivist 发表于 2013-8-21 14:07 static/image/common/back.gif
三轴运动情形下,角速度按说是不能积分的,没有意义,积分是线性运算,三轴角速度也不是线性空间。
个别 ...

有点颠覆我的观念....为什么三轴角速度不是线性空间呀?
那加速度计直接根据3轴的重力分量计算,得出来的是平面夹角吧

qwe2231695 发表于 2013-8-21 17:29:33

平面夹角是类似球坐标系的, 不利于电机的控制。欧拉角可以直接输入pid然后控制对应电机

K.O.Carnivist 发表于 2013-8-21 17:48:25

lologame 发表于 2013-8-21 17:04 static/image/common/back.gif
有点颠覆我的观念....为什么三轴角速度不是线性空间呀?
那加速度计直接根据3轴的重力分量计算,得出来的 ...

就是它的加法没有交换律和结合律。比如说(按系统的坐标系)x方向转90度、再y方向转90度,和y方向转90度、再x方向转90度,两个得到的结果是不一样的;由于加减是非法的,积分和微分也就都是非法的,也就不能做PID,除非局部线性化。
嗯……对,系统坐标系下重力与三个坐标轴的夹角,等于大地水平面与对应三个坐标平面的夹角。得到的三个夹角……是有约束的,不能反映偏航,是个二维空间……

lologame 发表于 2013-8-21 18:53:27

qwe2231695 发表于 2013-8-21 17:29 static/image/common/back.gif
平面夹角是类似球坐标系的, 不利于电机的控制。欧拉角可以直接输入pid然后控制对应电机 ...

那么如何判断输出的欧拉角数据比较理想呢?

我使用的imu的代码
输出的欧拉角,当roll转动,pitch不动,pitch会受到roll的轻微影响
roll转动0-90°,pitch受到最大的影响的时候是改变4°

lologame 发表于 2013-8-21 18:55:13

K.O.Carnivist 发表于 2013-8-21 17:48 static/image/common/back.gif
就是它的加法没有交换律和结合律。比如说(按系统的坐标系)x方向转90度、再y方向转90度,和y方向转90度 ...

嗯,虽然还有些模糊,不过谢谢了。
我用stm32,经过imu算法,计算欧拉角,需要的时间高达10ms,不知道怎么会用这么久,哎...

lologame 发表于 2013-8-21 19:04:51

本帖最后由 lologame 于 2013-8-21 19:08 编辑

我用示波器看姿态解算(获得新数据+更新四元数+获得欧拉角)所需时间,竟然高达7.5ms

时间主要花在了获得新数据上面,用了7.4ms....

lologame 发表于 2013-8-21 19:13:31

额,找到原因了,不知道谁在获取数据那里给我延时了个5ms{:sweat:}

qwe2231695 发表于 2013-8-21 20:31:19

的确积分和微分是非法的,除非计算周期非常短,几毫秒以内。

lologame 发表于 2013-8-21 20:51:02

qwe2231695 发表于 2013-8-21 20:31 static/image/common/back.gif
的确积分和微分是非法的,除非计算周期非常短,几毫秒以内。

对时间的要求,这是由于矩形积分带来必然误差吧?

但是这个陀螺仪测得的角速度到底是什么的角速度了,我感觉我有点被弄晕了.....

qwe2231695 发表于 2013-8-21 22:35:20

不是,按照K.O.Carnivist的说法,还有一个非线性到线性坐标系转换误差。所以每次线性化操作的量必须小。

qwe2231695 发表于 2013-8-21 22:36:25

lologame 发表于 2013-8-21 18:53 static/image/common/back.gif
那么如何判断输出的欧拉角数据比较理想呢?

我使用的imu的代码


不应该会互相影响的,你看看是不是手抖{:lol:}

lologame 发表于 2013-9-14 13:41:59

qwe2231695 发表于 2013-8-21 22:36 static/image/common/back.gif
不应该会互相影响的,你看看是不是手抖

这么多天来回复你...不好意思....当时的问题解决了....是我传感器底面不平
页: [1]
查看完整版本: 新手发问,欧拉角和平面夹角的问题