cote: A Model for Design and Control¶
cote is the first full-system model for orbital edge computing. The unique characteristics of OEC systems stem from the astrodynamics that govern them, giving rise to fundamental differences compared to terrestrial edge computing systems.
cote provides a detailed, physical simulation of OEC systems through an analytical model of orbital mechanics, the time-evolution of celestial and terrestrial coordinate frames, and physical bounds on communication bitrates, as well as a discrete-time model for harvested and buffered energy, sensing, data storage, and computing. These core components are shared across two applications: cote-sim and cote-lib. cote-sim supports OEC system design, and cote-lib supports dynamic, online autonomy at the edge.
cote 是首个用于轨道边缘计算(OEC)的全系统模型。OEC系统的独特性源于支配其运行的天体动力学,这使其与地面边缘计算系统产生了根本性的差异。
cote 通过一个包含轨道力学的解析模型、天体和地面坐标系的时间演化模型、通信比特率的物理边界模型,以及一个关于能量采集与缓冲、传感、数据存储和计算的离散时间模型,来提供对OEC系统的精细化物理仿真。这些核心组件被两个应用程序共享:cote-sim 和 cote-lib。cote-sim 支持OEC系统的设计,而 cote-lib 则支持在轨边缘的动态、在线自主运行。
Model Applications¶
cote has two main OEC applications: pre-mission simulation (cote-sim) and online, autonomous control (cote-lib).
cote-sim provides offline simulation of OEC systems for mission design, planning, and analysis. No existing space mission planning software (e.g. AGI’s STK) supports modeling interactions between energy-constrained, intermittent computing, computational nanosatellite pipeline configurations, data collection at the GTFR, and communication. cote-sim fills this gap by integrating computing, communication, and energy as first-class counterparts to space mission dynamics.
cote-lib supports online autonomy, continuously running on each device in an OEC system. As described in Section 2, existing nanosatellites rely on a bent-pipe architecture for command and control instead of using autonomous control [36]. No existing online nanosatellite software system models the interaction between astrodynamics and intermittent computing in order to autonomously decide when to compute locally and when to communicate. cote-lib fills this gap by integrating space mission dynamics into an edge computing runtime system, enabling autonomous control at the orbital edge.
cote-lib runs continuously in the background on an OEC device, explicitly modeling ground station availability. cote-lib estimates latency and energy collection given input power and computing workload parameters. When an OEC satellite collects an image, it leverages cote-lib to determine whether to process an image locally or to transmit raw data to the ground. Thus, cote-lib enables an OEC satellite to adapt to changing orbit and power conditions in real-time; such fine-grained adaptation is impossible with high-latency, bent-pipe terrestrial control.
cote 有两个主要的OEC应用:任务前仿真 (cote-sim) 和在线自主控制 (cote-lib)。
cote-sim 为任务的设计、规划和分析提供OEC系统的离线仿真。 目前没有任何现有的空间任务规划软件(例如AGI公司的STK)能够支持对能量受限的间歇式计算、计算型纳米卫星流水线配置、以GTFR速率进行的数据收集以及通信之间的相互作用进行建模。cote-sim 通过将计算、通信和能源模型作为与空间任务动力学同等重要的核心要素进行集成,填补了这一空白。
cote-lib 支持在线自主性,它在OEC系统中的每个设备上持续运行。 如第2节所述,现有的纳米卫星依赖“弯管”架构进行指令和控制,而不是使用自主控制[36]。目前没有任何在线的纳米卫星软件系统能够对天体动力学和间歇式计算之间的相互作用进行建模,以自主决定何时进行本地计算、何时进行通信。cote-lib 通过将空间任务动力学集成到一个边缘计算运行时系统中,实现了在轨道边缘的自主控制,从而填补了这一空白。
cote-lib 在OEC设备的后台持续运行 ,对地面站的可用性进行显式建模。cote-lib 根据输入的功率和计算工作负载参数来估计延迟和能量收集情况。当一颗OEC卫星采集一幅图像时,它会利用 cote-lib 来决定是本地处理图像还是将原始数据传输到地面。因此,cote-lib 使OEC卫星能够实时适应变化的轨道和功率条件;这种细粒度的自适应对于高延迟的“弯管”式地面控制而言是不可能实现的。
Model Design¶
cote integrates standard, analytical models of astrodynamics with discrete-time models for edge computing. In the following sections, we discuss major components of cote.
Time. Orbital edge computer systems deployed to LEO for Earth observation must be aware of time. While orbits are periodic, typically completing one LEO revolution in about 90 minutes, several factors make each revolution unique. Over the course of one revolution, the Earth rotates more than 22.5°. Due to the oblateness of the Earth, the orbit longitude of the ascending node precesses. Additionally, the Earth advances through its revolution around the Sun. Although a satellite returns to the same true anomaly value after each revolution, system conditions change. Distances to nearby ground stations shift, and the amount of harvestable energy changes with the relative position of the Sun. These changes can be modeled and predicted by plotting them within a system of time.
cote tracks time with Universal Time, or UT1 [3], which measures the rotation of Earth relative to distant astronomical objects [68]. The more familiar Coordinated Universal Time, or UTC, is a civil time system closely aligned with UT1. The precise difference between UT1 and UTC (UT1−UTC) and the approximate difference (DUT1) are published by the International Earth Rotation and Reference Systems Service (IERS) in Bulletins A and D, respectively [50]. When the IERS projects a UT1−UTC value exceeding 0.9 s, it announces a leap second via Bulletin C [50, 68]
cote represents dates and times with the ISO 8601 standard [53]. To compare different points in the Gregorian calendar, cote converts each date and time to the equivalent Julian date [29]. A Julian date counts the number and fraction of days since the Julian epoch; the J2000 epoch is set to noon on January 1, 2000 with a Julian date of 2451545.0. cote represents a date and time with seven values: an integer for the Gregorian year, unsigned integers for the Gregorian month and day, and unsigned integers for the hour, minute, second, and nanosecond. Fractions of a second are rounded to the nearest nanosecond.
部署在低地球轨道(LEO)用于地球观测的轨道边缘计算系统必须具备时间感知能力。虽然轨道是周期性的,通常在约90分钟内完成一次LEO公转,但有几个因素使得每一次公转都是独一无二的。在一次公转过程中,地球自转超过22.5°。由于地球的扁率,轨道的升交点经度会发生进动。此外,地球自身也在围绕太阳公转。尽管卫星在每次公转后会返回到相同的真近点角值,但系统条件已经发生改变。与附近地面站的距离会变化,并且随着太阳相对位置的改变,可采集的能量也会变化。这些变化可以通过在一个时间系统内进行标绘来建模和预测。
cote 使用世界时(Universal Time, UT1)[3]来追踪时间,该时间系统测量地球相对于遥远天体的自转[68]。更为人熟知的协调世界时(Coordinated Universal Time, UTC)是一个与UT1紧密对齐的民用时间系统。UT1与UTC之间的精确差异(UT1−UTC)和近似差异(DUT1)分别由国际地球自转和参考系统服务(IERS)在其A号和D号公报中发布[50]。当IERS预测UT1−UTC的值将超过0.9秒时,它会通过C号公报宣布一次闰秒(leap second)[50, 68]。
cote 使用 ISO 8601 标准[53]来表示日期和时间。为了比较公历(Gregorian calendar)中的不同时间点,cote 将每个日期和时间转换为等效的儒略日(Julian date)[29]。儒略日计算自儒略历元以来的天数和不足一天的小数部分;J2000历元被设定为2000年1月1日正午,其儒略日为2451545.0。cote 用七个值来表示一个日期和时间:一个表示公历年份的整数,以及分别表示公历月份、日期、小时、分钟、秒和纳秒的无符号整数。秒的小数部分被四舍五入到最接近的纳秒。
Coordinate Frames. In addition to time, orbital edge computer systems deployed to LEO for Earth observation must be aware of position. The position of an Earth-observation satellite determines which data can be collected and whether communication channels are available. cote supports three coordinate frames: the Earth-centered, inertial (ECI) frame, the latitude, longitude, and height above the ellipsoid (LLH) frame, and the south, east, z (SEZ) frame.
The origin of the ECI frame is located at Earth’s center, i.e. the intersection of the north-south axis and the equatorial plane. The positive x-axis points toward the vernal equinox, the positive z-axis points toward the north pole, and the positive y-axis completes the right-handed Cartesian coordinate frame [92]. Because the Earth revolves around the Sun, the ECI frame is not truly inertial. Nevertheless, the ECI frame is widely used for celestial positioning. cote uses the ECI frame as the fundamental, universal coordinate frame.
The LLH frame, which is well-known due to widespread use of latitude and longitude, is tied to the reference ellipsoid defined in the World Geodetic System 1984 (WGS84) [71] (most recently updated in 2014) and, optionally, the World Geodetic System 1972 (WGS72) [81] for backwards compatibility. Modeling the oblate nature of the Earth, rather than approximating its shape as a sphere, is important particularly for establishing communication links via ground stations with narrow, high-gain antenna beams. Satellite sub-point latitude and longitude coordinates (useful for generating ground tracks) are calculated using an exact, non-iterative solution [7].
Ground station operations use the SEZ frame which, like the LLH frame, is non-inertial and rotates with the Earth. Axes point south, east, and up (normal to the local ellipsoid surface) [92]. cote uses standard transformations [80] for the azimuth and elevation of satellites in SEZ. cote uses the great circle arc [95] on the celestial sphere as the measure of distance between satellites in the ground station frame.
Coordinate Frames: 坐标系
除了时间,部署在LEO用于地球观测的轨道边缘计算系统还必须具备位置感知能力。地球观测卫星的位置决定了可以收集哪些数据以及通信信道是否可用。cote 支持三种坐标系:地心惯性坐标系(Earth-centered, inertial, ECI)、大地经纬高坐标系(latitude, longitude, and height above the ellipsoid, LLH)以及南-东-天顶坐标系(south, east, z, SEZ)。
ECI坐标系的原点位于地球中心,即地球南北轴与赤道平面的交点。其正x轴指向春分点,正z轴指向北极,正y轴则构成一个右手笛卡尔坐标系[92]。由于地球围绕太阳公转,ECI坐标系并非真正的惯性系。尽管如此,ECI坐标系被广泛用于天体定位。cote 将ECI坐标系作为其基础的、通用的坐标系。
LLH坐标系因经纬度的广泛使用而为人熟知,它与1984年世界大地坐标系(WGS84)[71](最近一次更新在2014年)中定义的参考椭球体绑定,并且为了向后兼容,也可选支持1972年世界大地坐标系(WGS72)[81]。对地球的扁率特性进行建模,而不是将其形状近似为球体,这对于通过具有窄波束、高增益天线的地面站建立通信链路尤为重要。卫星的星下点(sub-point)经纬度坐标(用于生成星下点轨迹)是使用一种精确的、非迭代的解法计算得出的[7]。
地面站的操作使用SEZ坐标系,该坐标系与LLH坐标系一样,是非惯性的,并随地球一起旋转。其坐标轴分别指向南、东和上方(垂直于局部椭球体表面)[92]。cote 使用标准变换[80]来计算卫星在SEZ坐标系中的方位角和仰角。cote 使用天球(celestial sphere)上的大圆弧(great circle arc)[95]来衡量地面站坐标系中卫星之间的距离。
Orbital Mechanics. Given a model of time and position, orbital mechanics provides a means for modeling the state of a satellite relative to a rotating Earth. cote uses the de facto standard simplified general perturbation model (SGP4) as its orbital mechanics engine. The SGP4 model [43] consists of a collection of analytical equations tailored for Earth orbit. These analytical equations are seeded with a set of empirically determined measurements provided as two-line element sets (TLEs). SGP4 has become a de facto standard in the same way as GPS; the equations and source code for SGP4 are openly available [43], and TLEs for every public object in orbit around Earth are posted freely and regularly. Unlike more general, but less detailed, physics models [18], SGP4 is able to capture the effects of atmospheric drag through the empirical nature of the TLEs.
在给定了时间和位置模型之后,轨道力学提供了一种方法来模拟卫星相对于自转地球的状态。cote 使用业界事实上的标准——简化通用摄动模型4(SGP4)作为其轨道力学引擎。SGP4模型[43]由一系列专为地球轨道量身定制的解析方程组成。这些解析方程由一组以两行轨道根数(TLEs)形式提供的经验性测量数据作为初始输入。SGP4已成为像GPS一样的事实标准;SGP4的方程和源代码是公开可用的[43],并且地球轨道上每个公共物体的TLE都会被免费并定期发布。与更通用但细节较少的物理模型[18]不同,SGP4能够通过TLEs的经验性特性来捕捉大气阻力(atmospheric drag)的影响。
Energy. In order to study the impact of data collection and computing on system energy, we develop an analytical model for energy harvesting, storage, and consumption. We use this model in Section 7 to simulate different system designs and evaluate their relative merits. Table 1 lists the input parameters to this model, which have been directly measured from our test hardware or taken from component datasheets. For energy harvesting, we model a simple solar cell at its maximum power point with an I-V curve consisting of the device short-circuit current at open-circuit voltage. For energy storage, we model a capacitor bank and its equivalent series resistance (ESR). The modeled load includes a Jetson TX2 module, a camera system, and an ADACS, each represented as variable resistors consuming energy over time as determined by the power mode at each time step. The power consumption of the TX2 module varies depending on the computation, while the power consumption of the camera varies depending on whether an image is being captured or read out for analysis. Our system simulations produce a time series of events and measurements, including device current and voltage at the granularity of the simulation time step and power state transition events.
Under the simple solar cell model described previously, an energy-harvesting, storage, and consumption system can be modeled over time with the following node voltage equation:
为了研究数据收集和计算对系统能源的影响,我们为能量的采集、存储和消耗建立了一个解析模型。我们在第7节中使用此模型来仿真不同的系统设计并评估其各自的优劣。表1列出了该模型的输入参数,这些参数是直接从我们的测试硬件中测量得出的,或取自元器件的数据手册。
对于能量采集,我们以一个处于最大功率点的简单太阳能电池进行建模,其I-V(伏安)特性曲线由该器件在开路电压下的短路电流构成。对于能量存储,我们对一个电容器组及其等效串联电阻(ESR)进行建模。建模的负载包括一个Jetson TX2模块、一个相机系统和一个姿态确定与控制系统(ADACS),每个部分都被表示为可变电阻,其在每个时间步的能耗由当时的功率模式决定。TX2模块的功耗因计算任务的不同而变化,而相机的功耗则取决于其是正在捕获图像还是正在读出图像进行分析。我们的系统仿真会生成一个事件和测量值的时间序列,其中包括以仿真时间步为粒度的设备电流和电压,以及功率状态转换事件。
在使用前述的简单太阳能电池模型的情况下,一个集能量采集、存储和消耗于一体的系统可以随时间通过以下节点电压方程进行建模。