组合导航中的几个坐标系

这篇博客详细介绍了组合导航中涉及的几种坐标系,包括地心惯性坐标系(i系)、地球坐标系(e系)、地理坐标系(g/t系)、导航坐标系(n系)和机体坐标系(b系),并对各坐标系的特点和应用场景进行了阐述,有助于深入理解坐标系之间的转换关系。

最近在做组合导航相关方面的学习和研究,在这个过程中经常要用到坐标系的转化,而我又常常2把坐标系搞混,所以写个博客总结梳理下,希望能够加深认识。

目录

1.地心惯性坐标系(i系)

2.地球坐标系(e系)

3.地理坐标系(g/t系)

4.导航坐标系(n系)

5.机体坐标系(b系)


1.地心惯性坐标系(i系)

惯性坐标系圆心一般取地心,X轴在地球赤道平面指向春分点,Z轴与地球极轴重合指向北极,Y轴与XZ两轴构成右手直角坐标系。

惯性元件陀螺仪和加速度计输出的角运动和线运动就是相对于惯性系而言的。

 

2.地球坐标系(e系)

又叫做地固坐标系(Earth-FixedCoordinateSystem,ECEF),简称e系。

地球坐标系与地球固连,随地球一起转动。X轴在赤道平面与本初子午面的交线上,Z轴沿极轴(地轴)方向,Y轴在赤道平面内与X、Z轴构成右手直角坐标系。

导航定位中,我们常用的LLH(经度、纬度、高度)就是基于此坐标系。

经度:为格林尼治子午面与该点的子午面间的夹角(0~180°),点在东半球为东半球为东经,西半球为西经。

纬度:该点垂线与赤道面的夹角(0~90°),点位于赤道以北时为北纬,赤道面以

导航坐标系和载体坐标系导航系统中两个关键的坐标框架,它们在描述运动物体的姿态、位置和速度时具有重要作用。 导航坐标系(Navigation Coordinate System)通常是一个固定的参考框架,用于描述运载体在地球上的位置以及其相对于地球表面的运动方向。这个坐标系可以是地心惯性坐标系(ECI)、地心地固坐标系(ECEF)或者当地水平坐标系(LLF)。其中,当地水平坐标系是最常用的导航坐标系之一,它以运载体所在位置的地理方位为基础建立,一般采用“东北天”(ENU, East-North-Up)或“北东地”(NED, North-East-Down)的形式[^3]。例如,在西安建立的地理坐标系将以该点的经纬度为基准,X轴指向东方,Y轴指向北方,Z轴垂直向上指向天空[^2]。 载体坐标系(Body Coordinate System 或 Vehicle Coordinate System),也被称为机体坐标系,是固定在运载体本身上的一个动态坐标系。它的主要作用是处理来自安装在载体上的各种传感器的数据,如加速度计和陀螺仪等惯性测量单元(IMU)。载体坐标系的原点通常位于运载体的质量中心或者是某个特定的参考点,而三轴则根据运载体的设计来定义,比如飞机的纵轴可能对应飞行方向,横轴指向右侧,竖轴则垂直于机身向下或向上[^1]。 两者的区别主要体现在以下几个方面: - **参考对象不同**:导航坐标系是相对于地球或其他固定参考体定义的,而载体坐标系则是相对于运载体自身定义的。 - **稳定性**:导航坐标系相对稳定,不随运载体的姿态变化而改变;载体坐标系随着运载体的移动和旋转而不断变化。 - **应用目的**:导航坐标系用于确定运载体在全球范围内的精确位置和航向;载体坐标系则用来解析运载体自身的动态行为及其传感器数据。 - **坐标轴指向**:导航坐标系的坐标轴通常与地理方位一致,如东、北、天;载体坐标系的坐标轴则依据运载体结构设计,如前、右、上。 为了从载体坐标系导航坐标系进行转换,需要使用坐标变换矩阵,这通常是通过欧拉角(roll, pitch, yaw)或者四元数表示的旋转操作完成的。这种转换对于实现准确的导航计算至关重要,尤其是在涉及多传感器融合的情况下。 ```python # 示例:简单的坐标变换函数,将载体坐标系下的向量转换到导航坐标系 import numpy as np def body_to_ned_rotation(roll, pitch, yaw): # 创建绕X轴(滚转)旋转的矩阵 R_x = np.array([[1, 0, 0], [0, np.cos(roll), -np.sin(roll)], [0, np.sin(roll), np.cos(roll)]]) # 创建绕Y轴(俯仰)旋转的矩阵 R_y = np.array([[np.cos(pitch), 0, np.sin(pitch)], [0, 1, 0], [-np.sin(pitch), 0, np.cos(pitch)]]) # 创建绕Z轴(偏航)旋转的矩阵 R_z = np.array([[np.cos(yaw), -np.sin(yaw), 0], [np.sin(yaw), np.cos(yaw), 0], [0, 0, 1]]) # 组合三个旋转矩阵,注意顺序为Z-Y-X return R_z @ R_y @ R_x # 使用示例 roll = np.radians(10) # 滚转角 pitch = np.radians(5) # 俯仰角 yaw = np.radians(45) # 偏航角 rotation_matrix = body_to_ned_rotation(roll, pitch, yaw) print("Rotation Matrix from Body to NED:") print(rotation_matrix) ``` 通过这样的变换,可以将载体坐标系中的测量值转换成导航坐标系下的信息,从而支持更高级别的导航功能,如路径规划和姿态控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值