引言

嫦娥三号是中国探月工程“绕、落、回”三步走战略中的第二步“落”的关键任务,于2013年12月2日由长征三号乙运载火箭从西昌卫星发射中心发射升空,12月14日成功在月球正面虹湾地区软着陆。这是中国航天器首次在地外天体实现软着陆和巡视勘察,标志着中国航天技术迈向深空探测的新阶段。本文将从发射、地月转移、环月飞行、动力下降、软着陆、月面工作等关键阶段,详细解析嫦娥三号工程涉及的核心技术,并总结其取得的科学成果。

一、 发射与入轨阶段

1.1 运载火箭:长征三号乙(CZ-3B)

嫦娥三号任务由长征三号乙增强型运载火箭发射。长征三号乙是在长征三号甲(CZ-3A)基础上捆绑四个液体助推器的大型三级火箭,地球同步转移轨道(GTO)运载能力达5.5吨,地月转移轨道(LTO)运载能力约3.8吨,完全满足嫦娥三号探测器(总重约3.78吨)的发射需求。

关键技术

  • 高精度制导与控制:采用惯性导航与卫星导航(北斗/GPS)组合制导,确保入轨精度。火箭飞行过程中,控制系统实时计算并调整飞行轨迹,将探测器送入预定的地月转移轨道。
  • 可靠性设计:采用冗余设计,如双冗余惯性测量单元(IMU)、双冗余飞行控制计算机等,提高系统可靠性。
  • 低温推进剂管理:三级发动机使用液氢液氧低温推进剂,需解决低温推进剂在长时间飞行中的蒸发和沉底问题。

发射流程

  1. 垂直总装与测试:探测器在技术厂房完成总装和测试后,垂直转运至发射塔架。
  2. 加注推进剂:火箭各级加注液氧、煤油、液氢液氧等推进剂。
  3. 发射窗口:选择最佳发射窗口,确保探测器能准确进入地月转移轨道。嫦娥三号发射窗口为2013年12月2日1时30分(北京时间)。
  4. 点火起飞:火箭一级和四个助推器同时点火,提供初始推力。起飞约10秒后,程序转弯,进入预定轨道。
  5. 入轨:火箭三级两次点火,将探测器送入近地点约200公里、远地点约38万公里的地月转移轨道。

1.2 探测器结构

嫦娥三号探测器由着陆器和巡视器(玉兔号月球车)组成,总质量约3.78吨。着陆器质量约1.2吨,巡视器质量约1.4吨,剩余为推进剂。

  • 着陆器:主体为圆柱形,顶部有太阳翼,底部有着陆缓冲机构,内部装有科学载荷、控制系统、推进系统等。
  • 巡视器:六轮驱动,顶部有太阳翼,前方有桅杆和全景相机,内部有导航相机、避障相机、测月雷达等。

二、 地月转移与环月飞行阶段

2.1 地月转移轨道设计

嫦娥三号采用直接入轨方式,即火箭直接将探测器送入地月转移轨道,无需中途修正。地月转移轨道是霍曼转移轨道的一种,近地点约200公里,远地点约38万公里,飞行时间约4-5天。

关键技术

  • 轨道设计:利用地月引力场,设计最优转移轨道,减少推进剂消耗。嫦娥三号地月转移轨道倾角约5.5度,确保探测器能准确进入月球引力范围。
  • 中途修正:由于入轨误差和轨道摄动,需进行中途修正。嫦娥三号在飞行过程中进行了3次中途修正,确保轨道精度。
  • 轨道控制:使用推进系统进行轨道修正,推进剂为四氧化二氮/偏二甲肼(NTO/UDMH),比冲约280秒。

中途修正示例: 假设探测器在地月转移轨道上飞行,由于地球引力摄动和太阳引力摄动,轨道会发生偏差。控制系统通过测量探测器位置和速度,计算修正量,启动推进器进行修正。

# 伪代码示例:轨道修正计算
import numpy as np

def calculate_correction(current_state, target_state):
    """
    计算轨道修正量
    current_state: 当前状态 [位置, 速度]
    target_state: 目标状态 [位置, 速度]
    返回修正速度增量 delta_v
    """
    # 计算位置误差和速度误差
    pos_error = target_state[0] - current_state[0]
    vel_error = target_state[1] - current_state[1]
    
    # 使用Lambert问题求解(简化)
    # 实际中使用更复杂的轨道力学模型
    delta_v = vel_error + 0.1 * pos_error  # 简化模型
    
    return delta_v

# 示例数据
current_state = [np.array([0, 0, 0]), np.array([1000, 0, 0])]  # 单位:km, km/s
target_state = [np.array([1000, 0, 0]), np.array([900, 0, 0])]
delta_v = calculate_correction(current_state, target_state)
print(f"修正速度增量: {delta_v} km/s")

注:实际轨道修正计算涉及复杂的轨道力学和最优控制理论,此处仅为示意。

2.2 环月飞行与近月制动

探测器进入月球引力范围后,需进行近月制动(也称“刹车”),将速度从约2.4 km/s降至约1.6 km/s,进入环月轨道。

关键技术

  • 近月制动:使用变轨发动机(7500N推力)进行制动,制动时间约10分钟。制动后进入近月点约100公里、远月点约100公里的圆轨道。
  • 环月轨道调整:通过多次变轨,将轨道调整为近月点约15公里、远月点约100公里的椭圆轨道,为动力下降做准备。
  • 月球重力场建模:月球重力场不均匀,需精确建模以确保轨道控制精度。嫦娥三号使用了中国自主建立的月球重力场模型。

环月轨道调整示例

# 伪代码示例:环月轨道调整
def orbit_adjustment(current_orbit, target_orbit):
    """
    计算轨道调整所需的 delta_v
    current_orbit: 当前轨道参数 [近月点, 远月点, 倾角]
    target_orbit: 目标轨道参数
    """
    # 使用轨道力学公式计算 delta_v
    # 近月点调整:调整远月点
    # 远月点调整:调整近月点
    # 倾角调整:在轨道交点处进行
    
    # 简化计算:假设调整近月点
    r1 = current_orbit[0]  # 当前近月点
    r2 = target_orbit[0]   # 目标近月点
    mu = 4902.8  # 月球引力常数 km^3/s^2
    
    # 计算速度变化
    v1 = np.sqrt(mu * (2/r1 - 1/((r1 + r2)/2)))  # 当前速度
    v2 = np.sqrt(mu * (2/r1 - 1/((r1 + r2)/2)))  # 目标速度(简化)
    delta_v = abs(v2 - v1)
    
    return delta_v

# 示例
current_orbit = [100, 100, 0]  # km, km, 度
target_orbit = [15, 100, 0]
delta_v = orbit_adjustment(current_orbit, target_orbit)
print(f"轨道调整 delta_v: {delta_v} km/s")

三、 动力下降与软着陆阶段

3.1 动力下降过程

动力下降是嫦娥三号任务最复杂、最关键的阶段,从高度约15公里开始,到着陆器着陆,全程约12分钟。分为以下几个阶段:

  1. 主减速段:高度15公里至2.4公里,速度从约1.7 km/s降至约0.1 km/s。
  2. 快速调整段:高度2.4公里至100米,调整姿态和位置,为避障做准备。
  3. 粗避障段:高度100米至30米,识别障碍物,选择安全着陆点。
  4. 精避障段:高度30米至4米,精确避障,确保着陆点安全。
  5. 缓速下降段:高度4米至0米,速度降至约0.1 m/s,实现软着陆。

3.2 关键技术

3.2.1 惯性导航与光学导航融合

动力下降过程中,探测器需实时确定自身位置和速度。由于月球没有全球导航系统,需使用惯性导航(IMU)与光学导航(降落相机、避障相机)融合。

惯性导航原理: 惯性导航系统通过加速度计和陀螺仪测量探测器的加速度和角速度,通过积分计算位置和速度。但惯性导航存在累积误差,需定期用光学导航修正。

光学导航原理

  • 降落相机:在高度约15公里至2公里时,拍摄月面图像,通过图像匹配确定位置。
  • 避障相机:在高度约100米至4米时,拍摄月面图像,识别障碍物(如陨石坑、岩石)。

导航融合算法示例

# 伪代码示例:惯性导航与光学导航融合
import numpy as np

class NavigationFusion:
    def __init__(self):
        self.imu_state = np.array([0, 0, 0, 0, 0, 0])  # [位置, 速度]
        self.optical_state = None
        self.kalman_filter = KalmanFilter()  # 卡尔曼滤波器
        
    def update_imu(self, acceleration, angular_rate, dt):
        """更新惯性导航状态"""
        # 积分计算位置和速度
        self.imu_state[3:6] += acceleration * dt  # 速度更新
        self.imu_state[0:3] += self.imu_state[3:6] * dt  # 位置更新
        
    def update_optical(self, image_position):
        """更新光学导航状态"""
        self.optical_state = image_position
        
    def fuse_navigation(self):
        """融合导航数据"""
        if self.optical_state is not None:
            # 使用卡尔曼滤波融合
            fused_state = self.kalman_filter.update(self.imu_state, self.optical_state)
            self.imu_state = fused_state
            self.optical_state = None
        return self.imu_state

# 示例
nav = NavigationFusion()
# 模拟IMU更新
nav.update_imu(np.array([0, 0, -1.62]), np.array([0, 0, 0]), 0.1)  # 月球重力加速度
# 模拟光学更新
nav.update_optical(np.array([100, 200, 0]))
# 融合
fused_state = nav.fuse_navigation()
print(f"融合后位置: {fused_state[0:3]}")

3.2.2 避障技术

避障是软着陆的核心,分为粗避障和精避障。

  • 粗避障:在高度100米至30米,使用降落相机拍摄月面图像,通过图像处理识别陨石坑和岩石,选择安全区域。
  • 精避障:在高度30米至4米,使用避障相机拍摄高分辨率图像,通过激光测距和图像分析,精确避开障碍物。

图像处理与避障算法示例

# 伪代码示例:图像处理与避障
import cv2
import numpy as np

def obstacle_detection(image):
    """检测障碍物"""
    # 转换为灰度图
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    # 边缘检测
    edges = cv2.Canny(gray, 50, 150)
    # 形态学操作去除噪声
    kernel = np.ones((3, 3), np.uint8)
    edges = cv2.morphologyEx(edges, cv2.MORPH_CLOSE, kernel)
    # 寻找轮廓
    contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    
    obstacles = []
    for contour in contours:
        area = cv2.contourArea(contour)
        if area > 100:  # 面积阈值
            x, y, w, h = cv2.boundingRect(contour)
            obstacles.append((x, y, w, h))
    
    return obstacles

def safe_landing_zone(image, obstacles):
    """选择安全着陆区域"""
    # 简化:选择远离障碍物的区域
    height, width = image.shape[:2]
    safe_zones = []
    
    for obs in obstacles:
        x, y, w, h = obs
        # 标记障碍物周围为危险区域
        danger_zone = (x-50, y-50, w+100, h+100)
        safe_zones.append(danger_zone)
    
    # 选择中心区域作为安全着陆点
    center_x = width // 2
    center_y = height // 2
    return (center_x, center_y)

# 示例
image = cv2.imread('lunar_surface.jpg')  # 假设有月面图像
obstacles = obstacle_detection(image)
safe_point = safe_landing_zone(image, obstacles)
print(f"安全着陆点: {safe_point}")

3.2.3 推进系统

动力下降使用变轨发动机(7500N推力)和姿态控制发动机(150N推力)。

  • 变轨发动机:用于主减速和缓速下降,推力可调(0-7500N)。
  • 姿态控制发动机:用于调整探测器姿态,确保降落相机和避障相机对准月面。

推进系统控制示例

# 伪代码示例:推进系统控制
class PropulsionControl:
    def __init__(self):
        self.throttle = 0  # 推力百分比(0-100%)
        self.attitude = np.array([0, 0, 0])  # 姿态角 [俯仰, 偏航, 滚转]
        
    def set_throttle(self, target_throttle):
        """设置推力"""
        # 推力变化率限制
        max_rate = 10  # %/s
        if target_throttle > self.throttle:
            self.throttle = min(self.throttle + max_rate, target_throttle)
        else:
            self.throttle = max(self.throttle - max_rate, target_throttle)
        
    def control_attitude(self, target_attitude):
        """控制姿态"""
        # 使用姿态控制发动机调整
        # 简化:直接设置
        self.attitude = target_attitude
        
    def get_thrust(self):
        """获取当前推力"""
        return 7500 * (self.throttle / 100)  # N

# 示例
prop = PropulsionControl()
prop.set_throttle(50)  # 设置50%推力
prop.control_attitude(np.array([0, 0, 0]))  # 保持水平
thrust = prop.get_thrust()
print(f"当前推力: {thrust} N")

3.3 着陆缓冲

着陆器底部有四个着陆缓冲机构(每个机构包含一个缓冲器和一个着陆腿),在着陆瞬间吸收冲击能量,确保探测器安全。

  • 缓冲器:使用铝蜂窝材料,通过塑性变形吸收能量。
  • 着陆腿:可展开,着陆后锁定。

四、 月面工作阶段

4.1 着陆器工作

着陆器在月面工作约一年,主要科学任务包括:

  • 月基光学望远镜:观测宇宙,不受大气干扰。
  • 月基极紫外相机:观测地球等离子体层。
  • 测月雷达:探测月壤厚度和结构。
  • 月面粒子探测器:测量月面辐射环境。

4.2 巡视器(玉兔号)工作

玉兔号月球车在月面工作约3个月,行驶约114米,获取了大量科学数据。

  • 全景相机:拍摄月面图像,用于地形分析。
  • 测月雷达:探测月壤厚度(约5米)和地下结构。
  • 粒子激发X射线谱仪:分析月面元素成分。
  • 红外成像光谱仪:分析月面矿物成分。

4.3 关键技术:月面移动与通信

  • 月面移动:玉兔号采用六轮驱动,每个轮子独立控制,可适应复杂地形。移动速度约0.2 km/h。
  • 月面通信:着陆器与巡视器通过UHF波段通信,着陆器再通过X波段与地球通信。通信距离约10公里。

月面移动控制示例

# 伪代码示例:月面移动控制
class RoverMobility:
    def __init__(self):
        self.wheels = [0, 0, 0, 0, 0, 0]  # 六个轮子的速度(0-100%)
        self.position = np.array([0, 0])  # 位置 [x, y]
        
    def set_wheel_speed(self, wheel_index, speed):
        """设置单个轮子速度"""
        self.wheels[wheel_index] = speed
        
    def move_forward(self, distance):
        """向前移动"""
        # 简化:假设所有轮子速度相同
        avg_speed = np.mean(self.wheels)
        if avg_speed > 0:
            # 计算移动距离(简化模型)
            self.position[0] += distance
            print(f"移动到位置: {self.position}")
        else:
            print("轮子未启动")
            
    def avoid_obstacle(self, obstacle_position):
        """避障移动"""
        # 简化:转向避开
        if obstacle_position[0] < self.position[0]:
            # 左转
            self.wheels[0] = 50  # 左前轮
            self.wheels[1] = 50  # 左后轮
            self.wheels[2] = 100  # 右前轮
            self.wheels[3] = 100  # 右后轮
            print("左转避障")
        else:
            # 右转
            self.wheels[0] = 100
            self.wheels[1] = 100
            self.wheels[2] = 50
            self.wheels[3] = 50
            print("右转避障")

# 示例
rover = RoverMobility()
rover.set_wheel_speed(0, 80)  # 设置左前轮速度
rover.set_wheel_speed(1, 80)  # 设置左后轮速度
rover.set_wheel_speed(2, 80)  # 设置右前轮速度
rover.set_wheel_speed(3, 80)  # 设置右后轮速度
rover.move_forward(10)  # 向前移动10米
rover.avoid_obstacle([5, 0])  # 避开前方障碍物

五、 科学成果

5.1 月面环境探测

  • 月壤厚度:测月雷达探测到月壤厚度约5米,为月球资源利用提供数据。
  • 月面辐射:粒子探测器测量了月面辐射剂量,为未来载人登月提供参考。
  • 月面温度:着陆器测量了月面昼夜温度变化(-180°C至100°C)。

5.2 月球地质与矿物分析

  • 元素成分:粒子激发X射线谱仪分析了月面元素,发现富含钛、铁等元素。
  • 矿物成分:红外成像光谱仪识别了橄榄石、辉石等矿物,为月球演化研究提供依据。

5.3 月基天文观测

  • 月基光学望远镜:观测到多个天体,验证了月基天文观测的可行性。
  • 月基极紫外相机:观测地球等离子体层,研究地球空间环境。

5.4 工程验证

  • 软着陆技术:验证了高精度软着陆技术,为后续嫦娥四号、五号任务奠定基础。
  • 巡视器技术:验证了月面移动、通信、能源管理等技术。
  • 深空测控:验证了中国深空测控网(佳木斯、喀什深空站)的测控能力。

六、 总结

嫦娥三号探月工程是中国航天史上的里程碑,从发射到落月的全过程涉及多项关键技术,包括高精度轨道设计、惯性导航与光学导航融合、避障技术、推进系统控制、月面移动与通信等。这些技术的成功应用,不仅实现了中国首次地外天体软着陆和巡视勘察,还取得了丰富的科学成果,为后续探月任务和深空探测奠定了坚实基础。嫦娥三号的成功,标志着中国已具备独立开展深空探测的能力,为人类探索月球和深空做出了重要贡献。

参考文献

  1. 中国国家航天局. 嫦娥三号任务报告.
  2. 叶培建, 等. 嫦娥三号探测器技术. 航天器工程, 2014.
  3. 欧阳自远, 等. 月球科学概论. 科学出版社, 2005.
  4. NASA. Lunar Reconnaissance Orbiter Mission. 2009.
  5. ESA. SMART-1 Mission. 2003.

(注:本文中的代码示例为简化模型,用于说明原理,实际工程中使用更复杂的算法和硬件系统。)