航天器编队飞行(2):通用的相对轨道描述

本文深入探讨了卫星相对运动中的Hill坐标系与LVLH坐标系,详细解释了两种坐标系的定义、轴向及它们之间的相对关系,为理解卫星轨迹提供了关键视角。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  定义两个卫星分别叫主星(Chief)和从星(Deputy) 。相对运动描述均以主星为基准,从星绕着主星飞。主星不一定必须得是客观存在的卫星,也可以是一个假想的参考点。

1.Hill坐标系

  主星在惯性空间中的位置为rc(t)\boldsymbol{r}_c(t)rc(t),从星在惯性空间中的位置为rd(t)\boldsymbol{r}_d(t)rd(t)。Hill坐标系原点在主星上,坐标轴基矢量为{o^r,o^θ,o^h}\left\{\hat{\boldsymbol{o}}_{r}, \hat{\boldsymbol{o}}_{\theta}, \hat{\boldsymbol{o}}_{h}\right\}{o^r,o^θ,o^h}。其中,o^r\hat{\boldsymbol{o}}_{r}o^r沿着轨道半径方向,o^h\hat{\boldsymbol{o}}_{h}o^h沿着轨道角动量方向。
Hill坐标系如图所示

2.LVLH 坐标系

  LVLH坐标系的坐标轴基矢量为
 LVLH frame L:{l^1=o^θ,l^2=−o^h,l^3=−o^r}\text { LVLH frame } \mathcal{L}:\left\{\hat{\boldsymbol{l}}_{1}=\hat{\boldsymbol{o}}_{\theta}, \hat{\boldsymbol{l}}_{2}=-\hat{\boldsymbol{o}}_{h}, \hat{\boldsymbol{l}}_{3}=-\hat{\boldsymbol{o}}_{r}\right\} LVLH frame L:{l^1=o^θ,l^2=o^h,l^3=o^r}

二者的相对关系如图所示

### 近心点坐标系LVLH坐标的转换 在卫星轨道力学中,从近心点坐标系(Near-Point Coordinate System)到局部垂直局部水平坐标系(Local Vertical Local Horizontal, LVLH)的转换是一个常见的操作。以下是详细的算法描述以及涉及的关键概念。 #### 轨道动力学中的基本定义 近心点坐标系通常是以地球中心为原点的一个惯性参考框架,而LVLH是一种随时间变化的非惯性参考帧,其方向取决于航天器的位置和速度矢量。为了完成这种转换,需要以下几个关键参数: 1. **位置向量 \( \mathbf{r} \)** 和 **速度向量 \( \mathbf{v} \)** 它们分别表示航天器相对于地球质心的位置和速度[^1]。 2. **单位基向量计算** - 局部径向方向 (\( \hat{\mathbf{i}}_r \)) 是由位置向量标准化得到: \[ \hat{\mathbf{i}}_r = \frac{\mathbf{r}}{\|\mathbf{r}\|} \] - 局部横向方向 (\( \hat{\mathbf{i}}_\theta \)) 可通过叉积来获得,即沿轨道法线的方向: \[ \hat{\mathbf{i}}_h = \frac{\mathbf{r} \times \mathbf{v}}{\| \mathbf{r} \times \mathbf{v} \| } \] - 局部切向方向 (\( \hat{\mathbf{i}}_n \)) 则可以通过另一个叉积得出: \[ \hat{\mathbf{i}}_t = \hat{\mathbf{i}}_h \times \hat{\mathbf{i}}_r \] 这些三个正交化的单位向量构成了LVLH坐标系的基础矩阵。 #### 坐标变换过程 给定一个初始状态下的近心点坐标系下某一点P(x,y,z),要将其映射至新的LVLH坐标系,则需执行以下步骤: 1. 构造旋转矩阵 R_LVLH ,该矩阵列依次填入上述求得的标准正交基底: \[ R_{\text{LVLH}} = [\hat{\mathbf{i}}_r | \hat{\mathbf{i}}_t | \hat{\mathbf{i}}_h ] \] 2. 应用此旋转矩阵对原始点 P 的齐次形式做乘法运算即可获取对应的新坐标值 Q(l,m,n): \[ \begin{bmatrix} l \\ m \\ n \\ 1 \end{bmatrix} = R_{\text{LVLH}} * \begin{bmatrix} x \\ y \\ z \\ 1 \end{bmatrix} \] 以上方法提供了理论上的实现路径,在实际应用过程中还需考虑数值稳定性和误差累积等问题[^2]。 ```python import numpy as np def convert_to_lvlh(r_vec, v_vec): """ Convert from near-point coordinates to LVLH frame. Parameters: r_vec (numpy.ndarray): Position vector in inertial frame [km]. v_vec (numpy.ndarray): Velocity vector in inertial frame [km/s]. Returns: tuple: Transformation matrix and transformed point in LVLH frame. """ # Compute radial unit vector i_r r_magnitude = np.linalg.norm(r_vec) ir = r_vec / r_magnitude # Compute angular momentum unit vector i_h h_vec = np.cross(r_vec, v_vec) h_magnitude = np.linalg.norm(h_vec) ih = h_vec / h_magnitude # Compute tangential unit vector i_t via cross product of i_h & i_r it = np.cross(ih, ir) # Construct the transformation matrix R_LVLH R_LVLH = np.column_stack((ir, it, ih)) return R_LVLH # Example usage with dummy data points position_vector = np.array([7000., 0., 0.]) # km velocity_vector = np.array([0., 7.5, 0.]) # km/s transformation_matrix = convert_to_lvlh(position_vector, velocity_vector)[0] print(transformation_matrix) ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值