陀螺仪工作原理_电子陀螺仪工作原理

陀螺仪工作原理_电子陀螺仪工作原理我们知道陀螺仪使用来测量平衡和转速的工具,在载体高速转动的时候,陀螺仪始终要通过自我调节,使得转子保持原有的平衡,这一点是如何做到的?带着这个问题,我们来看一下这个古老而又神秘的装置的工作原理。我把

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

我们知道陀螺仪使用来测量平衡和转速的工具,在载体高速转动的时候,陀螺仪始终要通过自我调节,使得转子保持原有的平衡,这一点是如何做到的?带着这个问题,我们来看一下这个古老而又神秘的装置的工作原理。

我把三个Gimbal环用不同的颜色做了标记,底部三个轴向,RGB分别对应XYZ。 

假设现在这个陀螺仪被放在一艘船上,船头的方向沿着+Z轴,也就是右前方

现在假设,船体发生了摇晃,是沿着前方进行旋转的摇晃,也就是桶滚。由于转子和旋转轴具有较大的惯性,只要没有直接施加扭矩,就会保持原有的姿态。由于上图中绿色的活动的连接头处是可以灵活转动的,此时将发生相对旋转,从而出现以下的情形: 

陀螺仪工作原理_电子陀螺仪工作原理

再次假设,船体发生了pitch摇晃,也就是俯仰。同样,由于存在相应方向的可以相对旋转的连接头(红色连接头),转子和旋转轴将仍然保持平衡,如下图: 

陀螺仪工作原理_电子陀螺仪工作原理

最后假设,船体发生了yaw摇晃,也就是偏航,此时船体在发生水平旋转。相对旋转发生在蓝色连接头。如下图: 

陀螺仪工作原理_电子陀螺仪工作原理

最终,在船体发生Pitch、Yaw、Roll的情况下,陀螺仪都可以通过自身的调节,而让转子和旋转轴保持平衡。

陀螺仪中的万向节死锁

现在看起来,这个陀螺仪一切正常,在船体发生任意方向摇晃都可以通过自身调节来应对。然而,真的是这样吗?

假如,船体发生了剧烈的变化,此时船首仰起了90度(这是要翻船的节奏。。。。),船体再次发生转动,沿着当前世界坐标的+Z轴(蓝色轴,应该正指向船底)进行转动,那么来看看发生了什么情况。

陀螺仪工作原理_电子陀螺仪工作原理

现在,转子不平衡了。它失去了自身的调节能力。那么这是为什么呢? 
之前陀螺仪之所以能通过自身调节,保持平衡,是因为存在可以相对旋转的连接头。在这种情况下,已经不存在可以相对旋转的连接头了。 

那么连接头呢?去了哪里?显然,它还是在那里,只不过是,连接头可以旋转的相对方向不是现在需要的按着+Z轴方向。从上图中,我们清楚地看到:

  • 红色连接头:可以给予一个相对俯仰的自由度。
  • 绿色连接头:可以给予一个相对偏航的自由度。
  • 蓝色连接头:可以给予一个相对偏航的自由度。

没错,三个连接头,提供的自由度只对应了俯仰和偏航两个自由度,横滚自由度丢失了。这就是陀螺仪上的“万向节死锁”问题。

若计绿轴为x轴,红轴为y轴,蓝轴为z轴。那么记为z轴为主轴,y轴为副轴,x轴为自由轴;绕z轴会影响到x,y轴;绕y轴会影响到x轴,绕x轴不会影响其他轴。

这种动态方式下的欧拉角(z,y,x)等价于静态欧拉角(x,y,z)。

万向节锁死就是当某个旋转之后,某个方向有两个轴向,所以就去缺少一个自由度,不能直接进行单一轴的旋转到达某个位姿。所以只能间接地曲线(插值)到达。

参考:https://blog.csdn.net/qq_34552886/article/details/79772143

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167694.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java生成时间戳类型_Java获取当前时间戳的方法有哪些

    java生成时间戳类型_Java获取当前时间戳的方法有哪些Java获取当前时间戳的方法有哪些时间:2017-08-22来源:华清远见JAVA学院时间戳就是一种类型,只是精度很高,比datetime要精确的多,通常用来防止数据出现脏读现象。那么Java中如何获得时间戳,Java获得当前时间戳的方法有哪些呢?Java获取当前时间戳的三种方法//方法一System.currentTimeMillis();//方法二Calendar.getInst…

  • 4g网络怎么设置网速更快(移动4g网速慢怎么办)

    转载自品略图书馆http://www.pinlue.com/article/2020/05/1618/5110522403532.html别人是4G网,你也是4G网,你却更慢,不妨这样设置,网速飞快提升随着5G网络的走近,人们越来越期待未来的生活,以后电视上电影里面不可能实现的在现实中可能都会实现,5G网络的到来,人们的生活又会有怎样翻天覆地的变化,不过现在5G网络还没有正式运用,可能要到明年才能正式普及,所大家手中用的手机都是搭载4G网络,而有人发现,别人是4G网,你也是4G网,你却更慢,不妨这.

  • Python使用captcha制作验证码[通俗易懂]

    Python使用captcha制作验证码[通俗易懂]在使用Keras搭建验证码识别模型时,需要大量的验证码图片。在这里,使用captcha模块生成验证码图片,验证码图片名称为验证码上显示的字符串。1生成单张验证码图片并显示生成一张验证码的代码如下:fromcaptcha.imageimportImageCaptchaimportmatplotlib.pyplotaspltimportnumpyasnpimport……

  • 如何区分华为交换机类型

    如何区分华为交换机类型

  • jQuery手机菜单

    效果展示 http://hovertree.com/texiao/nav/4/手机扫描二维码查看效果:源码下载 http://hovertree.com/h/bjaf/kroft6

    2021年12月27日
  • unity update 协程_Unity 协程的原理

    unity update 协程_Unity 协程的原理Unity协程的原理发布时间:2019-06-1318:45,浏览次数:1118,标签:Unity协程不是多线程,协程还是在主线程里面(注:在Unity中非主线程是不可以访问Unity资源的)1、线程、进程和协程的区别进程有自己独立的堆和栈,即不共享堆也不共享栈,进程由操作系统调度线程拥有自己独立的栈和共享的堆,共享堆不共享栈,线程亦有操作系统调度(标准线程是这样的)协程和线程一样共享堆不共…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号