简介:面向东南大学惯性导航课程期末复习整理的 docx 资料,适合正在梳理知识框架、查漏补缺的本科生使用。内容围绕坐标变换矩阵、地球模型、惯性器件与陀螺仪、舒勒摆和舒勒回路、哥氏定理、比力方程、惯导基本方程、方向余弦阵展开,并延伸到平台工作状态与基本回路、指北方位和游移方位惯导系统、误差传播、四元数、捷联惯导系统及初始对准等常考主题。文中以问答式提纲串联概念与公式推导,涉及粗对准、精对准及平台式与捷联式对准差异,便于考前快速定位重点,对重点公式、概念辨析与常见简答题给出复习线索。整包共1个 docx 文件,约18.25MB,可直接阅读和打印复习。已有955人学习,适合对照课堂笔记理解推导思路并补齐薄弱环节。
1. 从一道最容易答错的题说起:加速度计测的为什么不是加速度
惯性导航这门课有一道极其反直觉的题:加速度计测出来的是什么?多数人脱口而出「加速度」,标准答案却是比力——量纲一致,物理含义完全不同。类似的坑还有舒勒回路:一个摆长等于地球半径的「虚拟摆」,听着像玄学,可它恰好解释了为什么惯导的位置误差不会随时间发散,而陀螺漂移却能把定位结果越推越偏。这套 25 问的复习资料,把这些点按坐标变换、地球模型、惯性器件、舒勒回路、比力方程、初始对准、捷联解算的顺序串成一条链。真正值得搞懂的不是每道题的答案本身,而是这条链上每一环为什么必须长成这样:前一环的取舍决定了后一环的方程形式,抽掉任何一环,后面的推导就退化成背公式。下面按机制层次拆开讲。
2. 坐标变换与姿态描述:方向余弦阵的微分方程为什么绕不开反对称阵
姿态解算是整套惯导算法的地基。这一章要解决的是三个层层递进的问题:方向余弦阵怎么来、小角度下它长什么样、以及它随时间变化的规律为什么必须写成C · [ω×]的形式。搞清楚这三步,四元数那套东西才有落脚点,否则就只是四个字母的排列组合。
2.1 方向余弦阵的求取:两组基之间的投影关系
方向余弦阵的本质是投影算子。设导航系 n 的三个基矢量为 $e_1^n,e_2^n,e_3^n$,载体系 b 的三个基矢量为 $e_1^b,e_2^b,e_3^b$,那么 $C_b^n$ 的第 $i$ 行第 $j$ 列元素就是 $e_j^b$ 在 $e_i^n$ 上的投影,也就是两个单位矢量夹角的余弦。写成矩阵形式,$C_b^n$ 的三列恰好是 b 系三个基矢量在 n 系下的坐标表示——这个观察非常重要,后面推导微分方程时直接靠它。
工程上求这个矩阵有三条路。第一条是解析法,直接用两个坐标系的基矢量做点乘,适用于双矢量定姿:只要给定两个不共线的参考矢量(比如重力加速度和地球自转角速度),就能构造出一组正交基,进而算出完整的姿态阵。第二条是欧拉角连乘,按 3-2-1 顺序依次绕 z、y、x 转 ψ、θ、γ,三个基本旋转阵相乘。第三条是四元数法,先解四元数再转成矩阵。粗对准用的就是第一条路,也正因为如此,它对参考矢量的精度极其敏感。
import numpy as np def skew(w): """由三维矢量构造反对称阵 [w x]""" return np.array([[0, -w[2], w[1]], [w[2], 0, -w[0]], [-w[1], w[0], 0]]) def rot_z(a): c, s = np.cos(a), np.sin(a) return np.array([[c, s, 0], [-s, c, 0], [0, 0, 1]]) # 坐标变换阵,非矢量旋转阵 def rot_y(a): c, s = np.cos(a), np.sin(a) return np.array([[c, 0, -s], [0, 1, 0], [s, 0, c]]) def rot_x(a): c, s = np.cos(a), np.sin(a) return np.array([[1, 0, 0], [0, c, s], [0, -s, c]]) def dcm_from_euler(yaw, pitch, roll): # n 系依次绕 z、y、x 转动得到 b 系,故 C_b^n 为三步连乘的转置 return (rot_z(yaw) @ rot_y(pitch) @ rot_x(roll)).T C = dcm_from_euler(np.radians(30), np.radians(5), np.radians(-2)) print(np.allclose(C @ C.T, np.eye(3))) # True,正交性自检 print(np.linalg.det(C)) # 1.0,右手系且无镜像这段代码里最容易出错
本文还有配套的精品资源,点击获取