江都区城乡建设局网站wordpress给管理员发送邮件

张小明 2026/1/11 9:23:53
江都区城乡建设局网站,wordpress给管理员发送邮件,制作微信小程序公司,传奇简单网站模板提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、姿态角与姿态矩阵的概念二、飞机用两种常用坐标系分析2.1 惯导常用坐标系#xff08;苏俄坐标系#xff09;2.2 飞控常用坐标系#xff08;欧美坐标系文章写完后目录可以自动生成如何生成可参考右边的帮助文档文章目录前言一、姿态角与姿态矩阵的概念二、飞机用两种常用坐标系分析2.1 惯导常用坐标系苏俄坐标系2.2 飞控常用坐标系欧美坐标系三、计算机进行姿态计算时要考虑的一些问题3.1 姿态角主值的问题3.2 姿态角计算时的锁死问题四、一些代码4.1 姿态矩阵计算姿态角与公式的区别在于用的时Cbn公式里用的时Cnb4.2 姿态矩阵计算姿态角matlab)总结前言导航解算中离不开载体姿态的计算这个里面就涉及到姿态角、姿态矩阵、四元数等概念。本节通过对飞行器姿态解算进行介绍理解好这几个概念之间的关系再有面向其他载体的实际问题就能一通百通了。一、姿态角与姿态矩阵的概念首先得明确姿态矩阵的作用是什么姿态矩阵是由姿态角的正余弦组成的矩阵该矩阵的作用是把一个坐标系下的矢量通过左乘姿态矩阵变换到另一个坐标系下。R b C n b R n {R_b} C_n^b{R_n}Rb​Cnb​Rn​假设R n {R_n}Rn​为地理系下的一个矢量通过左乘姿态矩阵C n b C_n^bCnb​这个矢量在机体系下的表示为R b {R_b}Rb​。而C n b C_n^bCnb​是由地理坐标系开始分别转动航向角、俯仰角、横滚角三个角度后得到机体坐标系的转动矩阵。当然这个转动顺序是由人来定义的。1第一步绕Z轴旋转一个角度2第二步绕X轴旋转一个角度3第三步绕Y轴旋转一个角度不同行业中的坐标系定义差异很大而载体的姿态角是基于坐标系定义来定义的这就造成了姿态角描述必须以坐标系定义和轴系旋转顺序为基础不然单纯说某个载体的姿态是XXX其实是不严谨的。姿态角定义的不唯一是根据坐标系绕其轴的旋转顺序不同一共存在12种可能首先绕三个坐标轴种的任意一轴转动有3种情形接着绕除第一次转轴外的任意一轴转动有2种情形最后绕除第二次转轴外的任意一轴转动又有2种情形因此总计3 * 2 * 212种。我们以飞机作为载体以导航地理系站心坐标系作为参考系来分析姿态角欧拉角、姿态矩阵旋转矩阵以及四元数等概念。就这已经都限制载体了还是因为某些历史原因坐标系并没有统一1 由于我国的军工建设初期得到了苏联的援助因此惯性导航领域飞机的机体坐标系大都定义为xyz-右前上导航坐标定义为xzy-东北天。业内有时会成为苏俄坐标系2 飞行控制领域的发展离不开欧美国家早期的一些理论因此他们在飞控领域飞机的机体坐标系大都定义为xzy-前右下导航坐标系定义为xyz-北东地。我习惯称它为欧美坐标系。二、飞机用两种常用坐标系分析2.1 惯导常用坐标系苏俄坐标系飞机坐标为xyz-右前上导航坐标为xzy-东北天姿态角都以右手定则为正。因此在飞机腹部朝地北部朝天状态下横滚角φ \varphiφ为右翼向下左翼向上为正俯仰角θ \thetaθ为机头向上为正航向角ψ \psiψ为机头向左偏转为正这里航向角定义为逆时针为正是为了遵守右手定则。但与一般“北偏东为正”的思维惯式不同。不过没关系如果想让航向角 顺时针为正只要在航向角计算的值上加一个负号即可。姿态角计算公式如下2.2 飞控常用坐标系欧美坐标系飞机坐标为xyz-前右下导航坐标为xzy-北东地在飞机腹部朝地北部朝天状态下横滚角φ \varphiφ为右翼向下左翼向上为正俯仰角θ \thetaθ为机头向上为正航向角ψ \psiψ为机头向右偏转为正与上面提到的不同。因为此时Z轴指地因此右手定则为航向角顺时针为正。姿态角计算公式如下可以看出来无论是哪种坐标系体系旋转顺序都是从导航坐标系通过旋转航向角立轴、俯仰角横轴、横滚角纵轴到机体坐标系。只不过因为坐标系定义的不同引起旋转矩阵的不同。这就要求如果拿到旋转矩阵计算姿态角时还是需要提前明确好坐标系定义。三、计算机进行姿态计算时要考虑的一些问题3.1 姿态角主值的问题对于飞机来讲姿态角定义并非在[ 0 ∘ ∼ 36 0 ∘ ] \left[ {{{\rm{0}}^ \circ } \sim {\rm{36}}{{\rm{0}}^ \circ }} \right][0∘∼360∘]整个范围内。一般固定翼飞机俯仰角定义范围为[ − 9 0 ∘ ∼ 9 0 ∘ ] \left[ { - {\rm{9}}{{\rm{0}}^ \circ } \sim {\rm{ 9}}{{\rm{0}}^ \circ }} \right][−90∘∼90∘]航向角定义为[ 0 ∘ ∼ 36 0 ∘ ] \left[ {{{\rm{0}}^ \circ } \sim {\rm{36}}{{\rm{0}}^ \circ }} \right][0∘∼360∘]或[ − 18 0 ∘ ∼ 18 0 ∘ ] \left[ { - 18{{\rm{0}}^ \circ } \sim {\rm{ 18}}{{\rm{0}}^ \circ }} \right][−180∘∼180∘]横滚角定义为[ − 9 0 ∘ ∼ 9 0 ∘ ] \left[ { - {\rm{9}}{{\rm{0}}^ \circ } \sim {\rm{ 9}}{{\rm{0}}^ \circ }} \right][−90∘∼90∘]。以苏俄坐标系为例1俯仰角计算时asin的真值范围就是[ − 9 0 ∘ ∼ 9 0 ∘ ] \left[ { - {\rm{9}}{{\rm{0}}^ \circ } \sim {\rm{ 9}}{{\rm{0}}^ \circ }} \right][−90∘∼90∘]因此不用做调整2横滚角计算时atan的真值范围是[ − 18 0 ∘ ∼ 18 0 ∘ ] \left[ { - 18{{\rm{0}}^ \circ } \sim {\rm{ 18}}{{\rm{0}}^ \circ }} \right][−180∘∼180∘]因此需要通过判断C n b ( 1 , 3 ) − sin ⁡ φ cos ⁡ θ C_n^b(1,3) - \sin \varphi \cos \thetaCnb​(1,3)−sinφcosθ的正负值以判断atan的值是落在了第一四象限还是二三象限3偏航角计算时同横滚角计算方法。需要注意的是偏航角很容易跨 ±90°两个值所以当C n b ( 2 , 2 ) C_n^b(2,2)Cnb​(2,2)接近于0时需要根据C n b ( 2 , 1 ) C_n^b(2,1)Cnb​(2,1)的正负号判断偏航角是-90°还是90°。当然现在C语言或者matlab语言一般会提供atan2函数已经帮你考虑到横滚和偏航计算的上述问题了。3.2 姿态角计算时的锁死问题设想一下如果一个飞机的俯仰角在90°附近即飞机机头朝上。此时旋转飞机纵轴原本的横滚运动或者旋转飞机立轴原来的偏航运动对于飞机来讲其实是没有意义的即航向角和横滚角的定义存在锁死的情况。这能从姿态矩阵中看出来1当C n b ( 2 , 3 ) 0.999999 C_n^b(2,3) 0.999999Cnb​(2,3)0.999999此时θ → 9 0 0 \theta \to {90^0}θ→900近似的sin ⁡ θ ≈ 1 \sin \theta \approx 1sinθ≈1cos ⁡ θ ≈ 0 \cos \theta \approx 0cosθ≈0 可近似为2 当C n b ( 2 , 3 ) − 0.999999 C_n^b(2,3) -0.999999Cnb​(2,3)−0.999999此时θ → − 9 0 0 \theta \to {-90^0}θ→−900近似的sin ⁡ θ ≈ − 1 \sin \theta \approx -1sinθ≈−1cos ⁡ θ ≈ 0 \cos \theta \approx 0cosθ≈0 可近似为上两式说明了当俯仰角在±90°附近时横滚角和偏航角之间是无法单独分离的或者说两者存在多值性只有在某一个值确定之后另一个值才能确定。一般令偏航角ψ 0 ∘ \psi {0^ \circ }ψ0∘保证两个姿态角的唯一性。四、一些代码4.1 姿态矩阵计算姿态角与公式的区别在于用的时Cbn公式里用的时Cnb// 右前上 输出PRY Cbn: b-flame to n-flamevoidRotation_matrix2euler(constdoubleCbn[3*3],double*euler){euler[0]asin(Cbn[2*31]);euler[1]atan2f(-Cbn[2*30],Cbn[2*32]);euler[2]atan2f(Cbn[0*31],Cbn[1*31]);if(Cbn[2*31]0.999999){euler[1]atan2f(Cbn[0*32],Cbn[0*30]);euler[2]0;}if(Cbn[2*31]-0.999999){euler[1]-atan2f(Cbn[0*32],Cbn[0*30]);euler[2]0;}// heading 0~2PIif(euler[2]0){euler[2]PI*2euler[2];}}4.2 姿态矩阵计算姿态角matlab)%Cnb:由n系到b系的转换矩阵 function[Att1,Att2]Cnb_to_Att(Cnb)%Prototype:[att,attr]m2att(Cnb)%Input:Cnb-DCM from navigation-frame(n)to body-frame(b)%Outputs:att-att[pitch;roll;yaw]in radians,in yaw-pitch-roll%(3-1-2)rotation sequence%attr-in yaw-roll-pitch(3-2-1)rotation sequence thetaasin(Cnb(2,3));gamaatan2(-Cnb(1,3),Cnb(3,3));pesaiatan2(Cnb(2,1),Cnb(2,2));%Cnb(2,1)为顺时针为正Cnb(2,1)为-逆时针为正ifCnb(2,3)0.999999gamaatan2(Cnb(3,1),Cnb(1,1));pesai0;elseifCnb(2,3)-0.999999gama-atan2(Cnb(3,1),Cnb(1,1));pesai0;endif(pesai0)pesai2*pipesai;end Att1[theta;gama;pesai];ifnargout2%dual Euler angles Att2[atan2(Cnb(2,3),Cnb(3,3));asin(-Cnb(1,3));-atan2(Cnb(1,2),Cnb(1,1))];end end总结本节只介绍了姿态角和姿态矩阵的情况由于常用算法里会有下一节里四元数的接入因此算法中未进行姿态矩阵正交化的检测。如果导航算法里仅用姿态矩阵更新需要在每次更新完姿态矩阵后进行正交化。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

重庆建设工程证照查询网站网站建设后期出现的问题

League Akari:英雄联盟智能辅助工具实战应用指南 【免费下载链接】LeagueAkari ✨兴趣使然的,功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari League Akari是…

张小明 2026/1/9 22:31:56 网站建设

黑马网站建设网页排版设计欣赏

MoeKoe Music终极指南:打造纯净二次元音乐体验 【免费下载链接】MoeKoeMusic 一款开源简洁高颜值的酷狗第三方客户端 An open-source, concise, and aesthetically pleasing third-party client for KuGou that supports Windows / macOS / Linux :electron: 项目…

张小明 2026/1/10 18:17:34 网站建设

书城网站开发的参考文献网站已经克隆好了 怎么做仿站

第一章:NiceGUI入门与开发环境搭建NiceGUI 是一个基于 Python 的轻量级 Web 框架,专为快速构建交互式用户界面而设计。它允许开发者使用纯 Python 编写前端逻辑,无需掌握 HTML、CSS 或 JavaScript 即可创建动态网页应用。该框架特别适用于数据…

张小明 2026/1/7 9:19:13 网站建设

信息门户网站建设实体店铺怎么引流推广

Font Awesome 7离线部署终极指南:打造稳定高效的本地图标库 【免费下载链接】Font-Awesome The iconic SVG, font, and CSS toolkit 项目地址: https://gitcode.com/GitHub_Trending/fo/Font-Awesome 还在为网络不稳定导致图标加载失败而烦恼吗?想…

张小明 2026/1/7 9:19:11 网站建设

做电影网站怎么挣钱敬请期待英语

目录具体实现截图项目介绍论文大纲核心代码部分展示可定制开发之亮点部门介绍结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持Python(flask,django)、…

张小明 2026/1/9 2:13:57 网站建设

小网站推荐一个wordpress什么样子

第一章:Open-AutoGLM在python3.14报错在尝试将 Open-AutoGLM 集成至 Python 3.14 开发环境时,部分开发者反馈出现兼容性报错。该问题主要源于 Python 3.14 尚处于预发布阶段,其内部 API 变动尚未完全稳定,而 Open-AutoGLM 当前依赖…

张小明 2026/1/7 9:19:07 网站建设