- 44
- 0
- 约6.95千字
- 约 19页
- 2018-08-04 发布于江苏
- 举报
四元数解算姿态全解析及资料汇总
四元数完全解析及资料汇总本文原帖出自匿名四轴论坛,附件里的资源请到匿名论坛下载:/forum.php感谢匿名的开源分享,感谢群友的热心帮助。说什么四元数完全解析其实都是前辈们的解析,小弟真心是一个搬砖的,搬得不好希望大神们给以批评和指正,在此谢过了。因为本人是小菜鸟一枚,对,最菜的那种菜鸟······所以对四元数求解姿态角这么一个在大神眼里简单的算法,小弟我还是费了很大劲才稍微理解了那么一点点,小弟搬砖整理时也是基于小弟的理解和智商的,有些太基础,有些可能错了,大牛们发现了再骂过我后希望能够给与指正哈。好,废话到此为止,开始说主体。四元数和姿态角怎么说呢?先得给和我一样的小菜鸟们理一理思路,小鸟我在此画了一个“思维导图”(我承认我画的丑),四元数解算姿态首先分为两部分理解:第一部分先理解什么是四元数,四元数与姿态角间的关系;第二部分要理解怎么由惯性单元测出的加速度和角速度求出四元数,再由四元数求出欧拉角。图1渣渣思维导图在讲解什么是四元数时,小弟的思维是顺着说的,先由四元数的定义说起,说到四元数与姿态角间的关系。但在讲解姿态解算时,小弟的思维是逆向的,就是反推回来的,从欧拉角一步步反推回到惯性器件的测量数据,这样逆向说是因为便于理解,因为实际在工程应用时和理论推导有很大差别。实际应用时正确的求解顺序应该为图1中序号顺序,即1-2-3-…….但在笔者讲解姿态求解时思路是如图2的。图2 逆向讲解思路大家在看四元数时最好结合着代码一块看,小弟看的是匿名四轴的代码,感觉写的非常好也非常清晰,粘出来大家一块观摩。红色部分是核心代码,总共分为八个步骤,和图1中的八个步骤是一一对应的。讲解介绍时也是和代码对比起来讲解的。代码可以去匿名官网上下载,都是开源的,不是小弟的,所以小弟不方便加在附件中。//四元数更新姿态#define Kp 2.0f //加速度权重,越大则向加速度测量值收敛越快#define Ki 0.001f//误差积分增益void ANO_IMU::Quaternion_CF(Vector3f gyro,Vector3f acc, float deltaT){Vector3f V_gravity, V_error, V_error_I;//1.重力加速度归一化acc.normalize();//2.提取四元数的等效余弦矩阵中的重力分量Q.vector_gravity(V_gravity);//3.向量叉积得出姿态误差V_error = acc % V_gravity;//4.对误差进行积分V_error_I += V_error * Ki;//5.互补滤波,姿态误差补偿到角速度上,修正角速度积分漂移Gyro += V_error * Kp + V_error_I;//6.一阶龙格库塔法更新四元数Q.Runge_Kutta_1st(Gyro, deltaT);//7.四元数归一化Q.normalize();//8.四元数转欧拉角Q.to_euler(angle.x, angle.y, angle.z);}好的,下面搬砖开始!。。。。。。。。嘿咻嘿咻!!!!什么是四元数?关于四元数的定义摘自秦永元的《惯性导航》,里面有非常好的讲解,大家可以直接看绪论和第九章就可以。下面我粘贴了部分原文,粘贴的比较多比较详细,应为本人比较笨还爱较真,所以按本人的风格就要详尽一点,大牛们都可以自动忽略。四元数定义、表达方式及运算方法——摘自《惯性导航》-秦永元P289-292好,关于四元数定义就搬这么多,其他的大家去附件下载《惯性导航》的pdf自己看吧。下面开始搬四元数与姿态解算关系的。。。。。。嘿咻嘿咻~~~~二、四元数与姿态阵间的关系从上面我们知道了四元数的定义,可这四个数和我们要求的三个姿态角有什么关系呢?下面是详细的推导,同样摘自《惯性导航》-秦永元P292-297。四元数与姿态阵间的关系——摘自《惯性导航》-秦永元P292-297呃,粘了这么多其实就是为了想知道推导过程小伙伴好理解,真正有用的就是(9.2.34)这个公式。▲这个公式把四元数转换成了方向余弦矩阵中的几个元素,再用这几个元素转换为欧拉角。就求解除了姿态!先从四元数q0~q3转成方向余弦矩阵:再从方向余弦矩阵转换为欧拉角:好的,公式原理都讲清楚了,下面来看一下匿名的代码://四元数转欧拉角,这里四元数是q1~q4 和公式里q0~q3相对应。void Quaternion::to_euler(float *roll, float *pitch, float *yaw){ if (roll) {*roll = degrees(atan2f(2.0f*(q1*q2 + q3*q4),1 - 2.0f*(q2*q2 + q3*q3)));//*roll = degrees(atan
您可能关注的文档
- 呼吸系统正常表和基本病变见习幻灯.ppt
- 和平区2016住宅房屋指导租金.doc
- 和数的运算.doc
- 和谐社会与人的本质、价值与发展(定稿).ppt
- 和顺1门有百福 平安二字值千金 横批.doc
- 咕噜噜男女健康养素水(修改版).ppt
- 咯血的鉴别及处理.ppt
- 咪宝MIPRO音机河南总代理.doc
- 品名、品质、数、包装和检验条款.ppt
- 品名、品质、数和包装条款.ppt
- 2026尼厅附近产权公寓租赁需求查询及房地产自媒体投资计划.docx
- 2026南非矿业投资安全政策保障基础设施运营供应链管理评估研究报告.docx
- 2026中国监护仪行业库存周转效率提升方法与实践.docx
- 2026商业遥感卫星数据定价策略与行业应用渗透率分析报告.docx
- 2026中国云存储服务市场深度调研与发展前景预测分析报告.docx
- 2026中国固态电池技术突破与产业化时间表预测报告.docx
- 2025至2030中国装载机叉行业调研及市场前景预测评估报告.docx
- 2026我国新能源汽车电池回收市场发展及资源化利用与全产业链规划研究报告.docx
- 2026中国智慧物流体系构建与技术创新应用报告.docx
- 2026中国餐饮业人力资源短缺问题解决方案报告.docx
最近下载
- 人教版道德与法治三年级下册第3课《一切靠劳动》 课件.pptx VIP
- 建设银行供应链金融业务的战略突破与创新发展.docx
- 大赛独家代理授权合作协议范文.docx VIP
- 抗高压药物行业调研报告.pptx
- 人教版中考数学知识点总结.pdf VIP
- 宣贯培训(2026年)《GBT 39559.2-2020城市轨道交通设施运营监测技术规范 第2部分:桥梁》.pptx VIP
- 来实SEAM-LOK75直立锁边板手册-BlueScope.PDF VIP
- Formel-Q-V8(质量能力-软件).pdf VIP
- 《300MW汽轮发电机组厂用电设计论文》.doc VIP
- 《工程伦理》教案全套-教学设计.docx
原创力文档

文档评论(0)