星跟踪器姿态确定精度模拟器 返回
宇航工程·姿态控制

星跟踪器姿态确定精度模拟器

使用 CMOS/CCD 对多颗恒星成像,与星目录匹配以毫角秒精度确定 3轴姿态的"星跟踪器(STR)"传感器设计工具。实时改变检测器分辨率、视场角、追踪星数、积分时间、航天器角速度,观察像模糊与总体姿态精度的变化。

参数设置
检测器分辨率
px
CMOS/CCD 单边像素数(1024² 〜 4096² 为常见配置)
视场角 FOV
deg
视场越宽星捕获能力越强,视场越窄像素分辨率越高
重心精度 σ_centroid
px
PSF 亚像素重心计算的 1σ。典型值 0.05〜0.2 px
同时追踪星数 N_s
同时重心计算的星数。√N 精度提升
积分时间 t
ms
越长信噪比越高,但更新率↓、模糊↑
航天器角速度 ω
deg/s
3轴合成体速率。推进后可升至数°/s
星等限界 m_lim
mag
检测限星等。暗星可检则星密度上升
计算结果
像素角分辨率 (毫角秒)
单星精度 (毫角秒)
集合精度 (毫角秒)
角速度像模糊 (毫角秒)
总体姿态精度 (毫角秒)
视场内可用星数
检测器视场模拟

检测器视场内的星(白点)与重心标记(蓝)、角速度导致的像模糊拖尾(红)。星等越亮点越大,角速度越高拖尾越长。

姿态精度 vs 追踪星数 N_s
像模糊 vs 航天器角速度 ω
理论与主要公式

$$\sigma_{pixel} = \frac{FOV \cdot 3600}{N_{px}},\qquad \sigma_{ensemble} = \frac{\sigma_{pixel} \cdot \sigma_{centroid}}{\sqrt{N_{stars}}}$$

FOV=视场角(度)、N_px=检测器分辨率、σ_centroid=重心精度(px)、N_stars=追踪星数。集合平均可获得 √N 倍精度提升。

$$\sigma_{smear} = \omega \cdot 3600 \cdot t,\qquad \sigma_{total} = \sqrt{\sigma_{ensemble}^{2} + \sigma_{smear}^{2}}$$

像模糊 σ_smear(毫角秒)与总体精度。ω=角速度(deg/s)、t=积分时间(s)。交轨2轴与滚动1轴上,几何上 σ_roll ≈ 6·σ_total。

$$\rho_{star} \approx 2.5^{(m_{lim}-6)}\ /\text{sqdeg},\qquad \Omega_{FOV} = \pi (FOV/2)^{2}$$

星密度与视场立体角。m_lim=星等限界。视场内可用星数 ≈ ρ_star · Ω_FOV。银河外围星密度减半,Keep-out 圆除外使实效值为理论的30〜50%。

星跟踪器姿态确定精度 — 航天器指向控制

🙋
星跟踪器是航天器通过观察恒星来确定自身姿态的传感器,对吧?但仅靠观星真的能达到毫角秒精度的姿态吗?
🎓
完全可以。星跟踪器(Star Tracker,简称 STR)是航天器能搭载的姿态传感器中精度最高的。用 CMOS 或 CCD 对恒星成像,将视场内拍摄到的数个至数十颗星的图案与地面预制的星目录(Hipparcos 或 Tycho)进行匹配。因为恒星的天球绝对位置精度达毫角秒量级,反推就能得到 3轴姿态。哈勃望远镜和詹姆斯·韦伯太空望远镜的指向稳定度达到 1~3 毫角秒,JAXA 的隼鹰系列小行星探测器精度也在 1~3 毫角秒范围。商用卫星通常能达 10~30 毫角秒。
🙋
为什么增加星数就能提升精度?图表中也显示"追踪星数 N_s 增加则精度↑"…
🎓
这是统计学中的经典技巧——当用 N 个独立测量的平均值时,误差会缩小 √N 倍。单个星的重心精度 σ_centroid 通常是 0.1 px,转换成角度后是几毫角秒。如果同时处理 8~16 颗星来推算姿态(用 QUEST 方法等),误差就会缩小 √8≈2.8 倍、√16=4 倍。因此实际设计中为了采集更多星,视场角通常设置在 15° 左右。但视场过宽会导致像素角分辨率恶化,所以要在左侧面板中权衡调整。
🙋
默认设置下判定结果是"ng",像模糊显示 72 毫角秒,这是什么?
🎓
你问得好。这叫像模糊(image motion smear)——在积分期间航天器发生旋转,星像在传感器上拖动形成线条而不是点。默认角速度 ω=0.1°/s 乘以积分时间 200 ms,得到 0.1×3600×0.2 = 72 毫角秒的视场移动,相当于 1.4 像素。这样的话重心算法就会失效,精度直接由像模糊决定。实际运行中,安全模式恢复或推进后的高速率情况下,STR 经常"失见",需要陀螺仪加卡尔曼滤波来维持姿态,等速率降低后再重新捕获。试试把 ω 改到 0.01°/s,你会看到姿态精度明显改善。
🙋
还有"滚动轴精度是 6 倍差"这一点也奇怪。3 轴精度应该相同吧?
🎓
这是几何学层面的宿命。光轴(视线方向)横向的交轨2轴(俯仰和偏航)直接由星在视场上的 XY 位置决定。但滚动轴(绕光轴转)是由视场中心周围星的角度配置图案判断的,因为杠杆臂很短,灵敏度就低了。经验公式是 σ_roll ≈ 5~10 · σ_crosstrack。所以当观测任务对滚动精度有严格要求时,要么加大视场,要么部署 3~4 台 STR 做正交配置来合成姿态。隼鹰二号就用了 2 台来兼现冗余和精度提升。
🙋
上电时航天器的姿态是完全未知的,那也能仅从星像确定姿态吗?
🎓
没错,这就是著名的"失联空间问题"。Mortari (1997) 提出的金字塔算法是业界标准,选视场内任意 4 颗星,由这 4 颗星之间的角距离构造四角形(金字塔)图案,与 Hipparcos 提取的几千到几万颗星的 k-vector 索引匹配。误配概率小于 10⁻⁶。这样即使完全无先验信息,卫星也能在 30 秒内重新获得姿态。主要供应商有 Sodern(法国)、Jena-Optronik(德国)、Selex-ES(意大利)、Ball Aerospace(美国)、Surrey(英国),日本的 NEC 和明星电气也参与研发。

常见问题

基本公式为 σ_ensemble = (FOV·3600 / N_px) · σ_centroid / √N_stars。FOV 为视场角(度),N_px 为检测器单边像素数,σ_centroid 为单星重心精度(典型 0.1 px),N_stars 为同时追踪星数。加上航天器角速度 ω 导致的像模糊 σ_smear = ω·3600·t(t 为积分时间 秒),总体精度为平方和平方根 σ_total = √(σ_ensemble² + σ_smear²)。交轨2轴与滚动1轴中,几何上滚动轴精度差5~10倍,典型值 σ_roll ≈ 6·σ_total。
失联空间问题指航天器初始姿态完全未知(上电后或安全保存模式恢复时)的情况下,从拍摄的星像确定3轴姿态的问题。金字塔算法是其代表性解法,选择视场内任意4颗星,构造星间角距离四角形(金字塔)图案与星目录进行匹配。从 Hipparcos/Tycho 目录提取的数千至数万颗星的 k-vector 索引,可在毫秒量级获得姿态解。由 Mortari (1997) 提出,目前大多数商用STR采用该族算法。
当模糊超过像素尺寸(smear > 1 px)时,重心计算开始劣化,精度迅速下降。例如 FOV=15°、N_px=1024 的STR,像素角分辨率约 53 毫角秒/px。积分时间 200 ms、角速度 0.1°/s 时,模糊 = 0.1·3600·0.2 = 72 毫角秒 ≈ 1.4 px,已进入警告区。实际运行中,安全模式或推进后的高速率(>0.5°/s)会导致STR"失见",需陀螺仪加卡尔曼滤波维持姿态,待速率降低后重新捕获。
天空星密度随星等限制 m_lim 大幅变化,约为 ≈ 2.5^(m_lim − 6) 个/平方度(m_lim=6 时约1星/平方度)。视场立体角 Ω = π·(FOV/2)² 时,视场内星数 ≈ Ω · 密度。如 FOV=15° 则 Ω≈177 平方度,m_lim=6.5 时密度≈1.58 个/平方度,可用星数≈280个,余量充足。但银河外围(galactic high latitude)星密度减半以上,太阳、地球、月亮 Keep-out 圆内不可用,实际值宜按理论值的30~50%估算。

实际应用领域

科学观测卫星与太空望远镜:哈勃太空望远镜(HST)搭载 3 台精细导航传感器加 3 台 STR,实现 0.007 毫角秒(!)的指向稳定度,支撑哈勃常数测量和系外行星凌日观测。詹姆斯·韦伯太空望远镜在 L2 轨道配置 3 台 STR 和 3 台 FGS,达到 1 微角秒级指向控制。ESA 的盖亚任务用 2 台 STR 实现 24 微角秒级天体测量精度,完成了 20 亿颗星的三维星表。

地球观测卫星:WorldView/Pléiades 等高分辨率光学卫星地面分辨率达 30cm/像素,需要 1 毫角秒级指向控制。采用多台 STR 三角形配置加陀螺仪卡尔曼融合来维持姿态。XRISM/Athena 等 X 射线望远镜因视场窄,STR 精度直接决定观测效率。

深空探测与小行星采样返回:JAXA 的隼鹰和隼鹰二号采用 2 台 STR 实现无地面通信的自主导航。ESA 的罗塞塔探测器在接近楚留莫夫—格拉西门科彗星时,STR 在彗星尘埃环境中出现误检,地面发送补丁解决。NASA 的 OSIRIS-REx 在贝努小行星接近时也遇到类似挑战。

立方星与商用 LEO 星座:近年出现掌心大小的 STR(Blue Canyon Technologies 的 NST、CubeSpace 的 CubeStar 等),让 6U/12U 立方星也能实现 50 毫角秒级姿态确定。Starlink/OneWeb 这样的数千机星座中每颗都装有 STR,是轨道间激光通信和碰撞规避机动的基础。

常见误区与注意事项

第一个陷阱是误认为"STR 精度在 3 轴上均匀"。实际上交轨2轴(俯仰和偏航)的精度比滚动轴(绕光轴转)好 5~10 倍。因为视场中心附近的星对滚动旋转几乎没有位移,杠杆臂过短导致误差放大。当观测任务对滚动精度要求严格(如"滚动误差 ≤5 毫角秒")时,需要加宽视场或采用多台 STR 正交配置来合成姿态。本工具用 σ_roll ≈ 6·σ_total 表示,但实际数值取决于具体配置和星图,卫星设计阶段通常用蒙特卡洛仿真来评估。

第二个重大隐患是误认为"视场内有星就能用"。实际运行中存在太阳 Keep-out(典型 30~45° 半角)、地球亮边 Keep-out(LEO 轨道 60°、GEO 轨道 9°)、月球 Keep-out(10~15°)等禁区,光轴进入这些区域会导致检测器饱和失效。对于 LEO 卫星,轨道周期 90 分钟内有 30~40 分钟处于地球亮边遮挡,双 STR 配置中往往只有一台能用。设计阶段必须与轨道模拟器联动做 Keep-out 分析,否则会出现"一整天有一半时间姿态无法更新"的运行困境。

第三个盲点是辐射环境下 CMOS/CCD 的劣化。在 GEO、高椭圆轨道和深空任务的高辐射环境中,检测器像素会受宇宙射线永久损伤(热像素、死像素),多年运行中重心精度会显著恶化。伽利略号木星探测器的 STR 经过 10 年运行,重心精度从初期 0.1 px 降至 0.3 px,约 3 倍衰减。设计时要在寿命末期(EOL)精度下满足要求,运行中要定期采集暗场并更新坏像素映射表。本工具的数值仅代表寿命起始(BOL)的理想状态。

使用指南

  1. 设置检测器分辨率(像素数)和视场角(度),确定单个像素的毫角秒角分辨率
  2. 输入重心精度(像素单位)和可追踪星数,计算单星姿态精度和集合综合精度
  3. 确认角速度像模糊量,评估总体姿态精度,定量分析航天器旋转速度和积分时间的影响

具体计算示例

1024×1024 像素检测器、8 度视场角时,像素角分辨率为 31.4 毫角秒。重心精度 0.2 像素、追踪 5 颗星时,单星精度 6.3 毫角秒、集合精度 2.8 毫角秒。角速度 2 deg/s、积分时间 0.5 秒时,像模糊量 3.6 毫角秒。结果总体姿态精度达 4.7 毫角秒(90% 置信度)。地球观测卫星轨道上试验数据显示视场内可用星数 45 颗。

工程实践注意项

  1. 即使检测器高分辨率(4096×4096),视场角过宽(>16 度)也会导致单像素 >60 毫角秒,精度衰减明显
  2. 实现 0.1 像素以下重心精度需检测器噪声 <5e- 均方根
  3. 追踪星数 <3 颗时,目录匹配曲率增加,总体精度呈恶化趋势
  4. 为避免日间地球反射光检测器饱和,积分时间应限制在 10 毫秒以下