欢迎光临ELBE网站!
您的位置: ELBE > 行业资讯 > ELBE万向节细节解析
网站头像

文章分类

Article classification
联系我们

ELBE

电话:021-58780503 微信:18017854633 邮箱:sales_fullyear@126.com 地址:上海市浦东新区城南路168弄3号峰汇商务广场B座911室
ELBE万向节细节解析
时间:2022-12-08 查看:11 作者:小叶

上海富业通贸易有限公司 创立于2003年,我们在迅速扩展业务的同时,亦致力于提高顾客的得益。我们了解客户的需要,并以优秀人才为他们提供高科技产品。

Anlagen_207935723

继往开来,我们会不断将优质,价格合理的自动化元件带给广大客户,各区同事都朝气蓬勃,积极进取,以“做到最好—诚信为本,以义制利”的理念作为达到成功目标。我们对中国及海外地区业务的发展增长充满信心,同时我们相信凭着各区同事的努力,在可见将来将成为“优秀团队”。 我们深信,成功全赖您们的支持!     


万向节目录

1.欧拉角2.万向节锁-2.1 什么是Gimbal ----2.2 Pitch、Yaw、Roll----2.3 万向节死锁--------2.3.1 横滚--------2.3.2 俯仰--------2.3.3 偏航--------2.3.4 死锁的产生--------2.3.5 重现万向节锁问题(不看)-2.3.6 若2.3.不懂就看这个(不看)3 总结

与其他形式相比,四元数的优势大致如下:

解决万向节死锁只需4个浮点,比矩阵更轻,无论求逆、串联等操作,都比矩阵更高效

本文简要分析了万向节死锁的原因。

1、欧拉角

欧拉角用来表示刚体的当前姿势。

思想:将刚体绕某一轴旋转,分解为依次绕X、Y、Z轴的三次旋转。这三个轴的旋转角度是一组三个欧拉角。

图为上述三次旋转(实际上可以绕一个轴,一次旋转可以达到最终位置)

具体旋转过程的例子如图所示:

图中有两组坐标系,我们定义为:

:世界坐标系(固定不动) :刚体坐标系(与刚体同步运动)

具体旋转步骤如下:

1.绕世界系  轴,旋转  二、绕刚系统  轴,旋转  角。3.绕刚系统  轴,旋转  角。


下面是一个直观的动图展示(  对应  ,  对应  ,  对应  )。图片来源gfycat。

以上旋转步骤  按顺序标记  ,角度是一个完整的欧拉角:



———下面是休息线的第二部分,万向节锁(Gimbal Lock)

万向节死锁发生在欧拉角形式下,是由欧拉旋转定义本身造成的。

参考:万向节死锁(Gimbal Lock)问题。

2.1 什么是Gimbal

平衡环架(英语:Gimbal),它是一种具有枢纽的装置,可以使物体以单轴旋转。由垂直枢纽轴组成的一组三个平衡环框架可以保持最内部环框架的物体的旋转轴不变,并应用于陀螺仪、罗盘、饮料杯框架,不受波浪振动和船体转向的影响。-百度百科全书

如图:

静态图:

上图就是一Gimbal该装置是陀螺仪。中间有一个垂直轴,穿过一个金属圆盘。金属圆盘称为转子,垂直轴称为旋转轴。转子由金属制成,以提高质量和惯性。垂直轴的外侧是三个嵌套环,它们相互交叉,带来三个方向的自由旋转。

叫陀螺仪。


2.2 Pitch、Yaw、Roll

陀螺仪分别绕X、Y、Z旋转三个轴时的旋转角。直接等同于欧拉角。如图所示:

绕机身右方 轴旋转,称为pitch,俯仰。绕机头上方 轴旋转,称为Yaw,偏航。绕机头前方 轴旋转,称为Roll,横滚。

可见与欧拉角形式基本相同。

2.3 万向节死锁

陀螺仪是用来测量平衡和速度的工具。当载体高速旋转时,陀螺仪应始终通过自我调节保持转子原有的平衡。

为了帮助理解,以下是一个简单的陀螺仪示意图(省略金属圆盘)。

把三个Gimbal用不同的颜色标记,底部有三个轴向,RGB分别对应XYZ。假设陀螺仪现在被放在船上,船头的方向沿着 Z轴,即右前方。


2.3.1 横滚

现在假设船体在前面摇晃,也就是横向滚动。由于转子和旋转轴的惯性较大,只要不直接施加扭矩,就会保持原来的姿势。由于上图中的绿色活动连接器可以灵活旋转,因此会发生相对旋转,导致以下情况:


2.3.2 俯仰

再假设船体发生了pitch摇晃,也就是俯仰。同样,转子和旋转轴将保持平衡,因为有相应方向的相对旋转接头(红色接头),如下图所示:


2.3.3 偏航

最后,假设船体发生了yaw摇晃,即偏航,此时船体水平旋转。蓝色连接器发生相对旋转。如下图所示:

最后,发生在船体上Pitch、Yaw、Roll陀螺仪可以通过自身的调节来平衡转子和旋转轴。


2.3.4 死锁的产生

上述陀螺仪一切正常,在船体任何方向摇晃都可以通过自身调节来处理。

若船体发生剧烈变化,此时船首抬起(抬头)90度,此时陀螺仪调整状态如下图所示:

此时,船体再次转动,沿着当前世界坐标 Z轴(蓝轴,应该指向船底)旋转,看看发生了什么。

现在,转子不平衡,陀螺仪的三板斧不起作用。它失去了自己的调节能力。那为什么呢? 陀螺仪之所以能通过自身调节保持平衡,是因为有一个可以相对旋转的连接器。在这种情况下,没有相对旋转的连接器。 连接器呢?去了哪里?显然,它还在那里,但连接器可以旋转的相对方向不是现在需要的 Z轴方向。从上图中,我们可以清楚地看到:

红色连接器:可以给予相对俯仰的自由。绿色连接器:可以给予相对偏航的自由。蓝色连接器:可以给予相对偏航的自由。

是的,三个连接器提供的自由度只对应于俯仰和偏航,桶滚自由度丢失。这是陀螺仪上的万向锁问题。


2.3.5 用小程序重现万向节锁问题(不看)

首先,预设下一个欧拉角变化顺序。见下图:

在上图中,红色框中的部分列表记录了下一个欧拉角的增长和变化过程。也就是说,它将从(0、0、0)变为(90、0、0)、(90、90、0)、(90、180、0)、(90、180、90)、90、180、180)。下图是变化的过程演示。

现在可以看到: - X轴首先旋转90度,此时执行Pitch(俯仰)变化。 - 然后在Y轴上变化0-180度,此时执行相对自身的Roll(桶滚)变化。 - 然后Z轴变化0-180度,此时仍在执行相对本身Roll(桶滚)变化。

这里提到的俯仰、桶滚、偏航都是相对于自己的局部坐标系。这和上述陀螺仪中的问题是一样的,万向锁。也就是说,尽管欧拉角在那里XYZ三行三个轴向(持续增长或减少),但影响最终结果的只对应两个轴向。


2.3.6 若“2.3.5不懂,看下面这个(不看)

我们不考虑Y轴和Z轴,假设它总是0。先说X轴,然后在X轴周围移动,最终的影响是预期的俯仰变化。如下图所示:

然而,当Z轴为90度时,X轴周围的进动变为偏航,如下图所示:


也就是说,欧拉角的X轴进动导致最终的变化结果,受到预执行的Z轴进动的影响,仍然会导致相对自身的轴向变化,但结果不是唯一的;同样,欧拉角的Y轴进动也受到Z轴和X轴的影响,结果更加独特。

然而,上述过程严格遵守欧拉角的顺序和轴向定义。在某些时候,这种不确定性可能会导致轴向自由度的丧失。 以下图为例:

首先执行欧拉角Z轴的进动,导致桶滚,没问题。 根据定义,欧拉角Y轴的执行,导致Y轴沿欧拉旋转,这也是根据定义执行的。然而,这种沿Y轴旋转也反映了物体的桶滚动变化。

3 总结

综上所述,欧拉角的万向节锁问题是由欧拉旋转定义本身造成的。这种固定轴在选择旋转前固定Z、再X、Y的旋转操作并不一定是一对一的映射,而不是预期的三个轴可以旋转。在某些情况下,它是多对一的映射,导致一些缺乏旋转自由,即死锁。

在编程中很难避免死锁,所以现在更多的四元表示和旋转。


解决四元数姿态的文章,几天后开始更新。

继续阅读与本文标签相同的文章
cache
Processed in 0.010935 Second.