Patent Description:
A constellation of a large number of satellites, and the payloads carried by those satellites, may be used to provide various services, see <CIT>. The constellation is managed to maintain safety and efficacy.

The figures are not necessarily drawn to scale, and in some figures, the proportions or other aspects may be exaggerated to facilitate comprehension of particular aspects.

While implementations are described herein by way of example, those skilled in the art will recognize that the implementations are not limited to the examples or figures described. It should be understood that the figures and detailed description thereto are not intended to limit implementations to the particular form disclosed but, on the contrary, the intention is to cover all modifications falling within the scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word "may" is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words "include", "including", and "includes" mean "including, but not limited to".

A constellation of many satellites may be used to provide a wide variety of useful services. For example, a communication system may utilize satellites in the constellation to wirelessly transfer data between user terminals and ground stations that in turn connect to other networks, such as the Internet. In another example, a remote sensing system may utilize satellites in a constellation to acquire remote sensing data for weather forecasting or terrestrial resource management.

Traditionally, operators of individual satellites have manually managed their satellites. Manual management is time and labor intensive, costly, and may be slow to respond to dynamic events. Manual management does not scale well, and rapidly becomes infeasible as the number of satellites managed increases. For example, while traditional organizations may be able to manually manage a relatively small constellation of <NUM> satellites, managing <NUM> satellites in such fashion is infeasible and may adversely impact safety and efficiency of the constellation as well as other resources that are in orbit.

Described in this disclosure is a constellation management system (CMS) that facilitates operation of satellite constellations. The CMS acquires and uses data from a variety of sources to maintain situational awareness of the orbital environment and the constellation. The CMS may accept as input space situation awareness data that comprises information about objects in orbit, such as obtained from other operators of other satellites, radar tracking, and so forth. The CMS may accept as input space weather data that is indicative of space weather. For example, the space weather data may be indicative of solar storms, geomagnetic storms, and so forth. The CMS accepts as input telemetry data from satellites in the constellation. For example, the telemetry data may include information about the satellite as well as position data obtained from global satellite navigation system (GNSS) receivers onboard individual satellites. The CMS may also accept as input navigation status data about the GNSS being used to provide position data. For example, the navigation status data may be indicative as to changes in reliability of the signals emitted by the GNSS.

Various events may occur that involve one or more satellites in the constellation. These may include, but are not limited, a predicted or actual deviation in position of a satellite of a satellite from an assigned orbit that exceeds a threshold value, a telemetry value associated with a component onboard a satellite that is outside of a specified range, a potential radio interference event such as another satellite passing through the radio frequency "volume" of a payload on a satellite in the constellation, expiration of time since last evaluation of the satellite, and so forth. These events may require that some action be taken.

The CMS uses the information ingested to determine a proposed plan. An event may be associated with several alternative activities. For example, an event of "payload orientation out of limit" may have several alternative activities such as doing nothing, using another satellite to provide service, or various options to reorient the satellite using different systems. Costs may be associated with these alternative activities. These costs may be representative of various factors such as current battery state, estimated battery discharge, estimated propellant consumption, time to complete, and so forth. Based on the cost, a particular alternative activity may be selected and used to generate a proposed plan.

Other pending activities that are associated with the satellite may also be retrieved. For example, routine maintenance operations that are not time sensitive may be retrieved. Pending activities that do not conflict, may be combined to generate a proposed plan that includes more than one activity.

The proposed plan may then be assessed to determine if any of the proposed activities exceed automated oversight limits. For example, governors or limits may be set to limit automated maneuvers that have a maximum delta v (change in velocity) that exceeds <NUM> meters per second (m/s), or would consume more than some specified quantity of propellant.

In some situations, proposed plans may be provided to external systems. For example, information about a proposed orbit resulting from a proposed maneuver may be provided to an external space situation awareness (SSA) provider. The SSA may accept the information about the proposed orbit and determine if a conjunction with tracked objects is likely to occur within a specified interval of time. The SSA may provide response data to the system, such as an indication that no conjunction is deemed likely. The system may take the response data into consideration, and subsequently determines commands to operate the satellite to perform the activities specified. The commands are sent to the satellite that executes those commands to perform the activities.

During typical operation the CMS operates without human intervention. A human may be consulted to confirm a proposed plan that exceeds the automated oversight limits, is designated for operator confirmation, and so forth. In addition to managing individual satellites, the CMS maintains awareness of the constellation as a whole and may request human oversight for activities that may involve many satellites. For example, while an individual proposed plan to maneuver a particular satellite may be within the automated oversight limits, if the count of satellites in the constellation that have proposed concurrent maneuvers exceeds a threshold count, a human may be notified and asked to confirm those maneuvers.

The CMS may provide various levels of involvement. For example, a first event indicative of a predicted conjunction event in <NUM> days may be handled automatically. Continuing the example, a second event indicative of a predicted conjunction event in six hours may result in the immediate generation of a proposed plan that is promptly presented to a human operator for confirmation.

The CMS may include one or more machine learning systems. These machine learning systems may be trained based at least in part on human input. For example, the training data may comprise event data, state data of the satellite, ephemeris data, a set of alternative activities, and the activity ultimately selected by a human operator. Once trained, the machine learning systems may provide various functions such as predicting failures, providing improved recommendations for activities to address various situations, and automatically initiating activities.

The CMS also reduces the capital costs associated with the constellation by managing usage of resources onboard the satellite, such as battery systems and maneuvering systems. For example, the CMS may moderate activities that use various resources onboard individual satellites to avoid depleting the battery and propellant of a single satellite. As a result, operational life of the individual satellite may be extended, reducing the need for replacement or refurbishment.

By using the techniques described in this disclosure, the safe and effective management of a constellation becomes possible. The automation provided by the CMS handles routine events, and over time learns to deal with less common events. The CMS is able to manage complex inputs and quickly determine and implement plans to perform activities that maintain the constellation and perform the mission(s) associated with the payload of the satellites in the constellation.

A constellation of satellites may be used to provide a wide variety of useful services. For example, a constellation of satellites may include sensors to acquire remote sensing data to facilitate terrestrial resource management. In another example, a constellation of satellites may provide communication services. The ability to communicate between two or more locations that are physically separated provides substantial benefits. Communications over areas ranging from counties, states, continents, oceans, and the entire planet are used to enable a variety of activities including health and safety, logistics, remote sensing, interpersonal communication, and so forth.

Communications facilitated by electronics use electromagnetic signals, such as radio waves or light to send information over a distance. These electromagnetic signals have a maximum speed in a vacuum of <NUM>,<NUM>,<NUM> meters per second, known as the "speed of light" and abbreviated "c". Electromagnetic signals may travel, or propagate, best when there is an unobstructed path between the antenna of the transmitter and the antenna of the receiver. This path may be referred to as a "line of sight". While electromagnetic signals may bend or bounce, the ideal situation for communication is often a line of sight that is unobstructed. Electromagnetic signals will also experience some spreading or dispersion. Just as ripples in a pond will spread out, a radio signal or a spot of light from a laser will spread out at progressively larger distances.

As height above ground increases, the area on the ground that is visible from that elevated point increases. For example, the higher you go in a building or on a mountain, the farther you can see. The same is true for the electromagnetic signals used to provide communication services. A relay station having a radio receiver and transmitter with their antennas placed high above the ground is able to "see" more ground and provide communication service to a larger area.

There are limits to how tall a structure can be built and where. For example, it is not cost effective to build a <NUM> meter tall tower in a remote area to provide communication service to a small number of users. However, if that relay station is placed on a satellite high in space, that satellite is able to "see" a large area, potentially providing communication services to many users across a large geographic area. In this situation, the cost of building and operating the satellite is distributed across many different users and becomes cost effective.

A satellite may be maintained in space for months or years by placing it into orbit around the Earth. The movement of the satellite in orbit is directly related to the height above ground. For example, the greater the altitude the longer the period of time it takes for a satellite to complete a single orbit. A satellite in a geosynchronous orbit at an altitude of <NUM>,<NUM> may appear to be fixed with respect to the ground because the period of the geosynchronous orbit matches the rotation of the Earth. In comparison, a satellite in a non-geosynchronous orbit (NGO) will appear to move with respect to the Earth. For example, a satellite in a circular orbit at <NUM> will circle the Earth about every <NUM> minutes. To an observer on the ground, the satellite in the <NUM> orbit will speed by, moving from horizon to horizon in a matter of minutes.

Building, launching, and operating a satellite is costly. Traditionally, geosynchronous satellites have been used for broadcast and communication services because they appear stationary to users on or near the Earth and they can cover very large areas. This simplifies the equipment needed by a station on or near the ground to track the satellite.

However, there are limits as to how many geosynchronous satellites may be provided. For example, the number of "slots" or orbital positions that can be occupied by geosynchronous satellites are limited due to technical requirements, regulations, treaties, and so forth. It is also costly in terms of fuel to place a satellite in such a high orbit, increasing the cost of launching the satellite.

The high altitude of the geosynchronous satellite can introduce another problem when it comes to sharing electromagnetic spectrum. The geosynchronous satellite can "see" so much of the Earth that special antennas may be needed to focus radio signals to particular areas, such as a particular portion of a continent or ocean, to avoid interfering with radio services on the ground in other areas that are using the same radio frequencies.

Using a geosynchronous satellite to provide communication services also introduces a significant latency or delay because of the time it takes for a signal to travel up to the satellite in geosynchronous orbit and back down to a device on or near the ground. The latency due to signal propagation time of a single hop can be at least <NUM> milliseconds (ms).

To alleviate these and other issues, satellites in NGOs may be used. The altitude of an NGO is high enough to provide coverage to a large portion of the ground, while remaining low enough to minimize latency due to signal propagation time. For example, the satellite at <NUM> only introduces <NUM> of latency for a single hop. The lower altitude also reduces the distance the electromagnetic signal has to travel. Compared to the geosynchronous orbit, the reduced distance of the NGO reduces the dispersion of electromagnetic signals. This allows the satellite in NGO as well as the device communicating with the satellite to use a less powerful transmitter, use smaller antennas, and so forth.

The system <NUM> shown here comprises a plurality (or "constellation" <NUM>) of artificial satellites <NUM>(<NUM>), <NUM>(<NUM>),. , <NUM>(S), each satellite <NUM> being in orbit <NUM> around a body such as the Earth, moon, sun, and so forth. Also shown is a ground station <NUM>, user terminal (UTs) <NUM>, a user device <NUM>, and so forth.

The constellation <NUM> may comprise hundreds or thousands of satellites <NUM>, in various orbits <NUM>. For example, one or more of these satellites <NUM> may be in non-geosynchronous orbits (NGOs) in which they are in constant motion with respect to the Earth, such as a low earth orbit (LEO). In this illustration, orbit <NUM> is depicted with an arc pointed to the right. A first satellite (SAT1) <NUM>(<NUM>) is leading (ahead of) a second satellite (SAT2) <NUM>(<NUM>) in the orbit <NUM>. The satellite <NUM> is discussed in more detail with regard to <FIG>.

One or more ground stations <NUM> comprise facilities that are in communication with one or more satellites <NUM>. The ground stations <NUM> may pass data between the satellites <NUM>, a network management system <NUM>, networks such as the Internet, and so forth. The ground stations <NUM> may be emplaced on land, on vehicles, at sea, and so forth. Each ground station <NUM> may comprise a communication system <NUM>. Each ground station <NUM> may use the communication system <NUM> to establish communication with one or more satellites <NUM>, other ground stations <NUM>, and so forth. The ground station <NUM> may also be connected to one or more communication networks. For example, the ground station <NUM> may connect to a terrestrial fiber optic communication network. The ground station <NUM> may act as a network gateway, passing user data or other data between the one or more communication networks and the satellites <NUM>. Such data may be processed by the ground station <NUM> and communicated via the communication system <NUM>. The communication system <NUM> of a ground station <NUM> may include components similar to those of the communication system of a satellite <NUM> and may perform similar communication functionalities. For example, the communication system <NUM> may include one or more modems, digital signal processors, power amplifiers, antennas (including at least one antenna that implements multiple antenna elements, such as a phased array antenna), processors, memories, storage devices, communications peripherals, interface buses, and so forth.

The satellites <NUM> are in communication with a constellation management system (CMS) <NUM> that facilitates management of the satellites <NUM> in the constellation <NUM>. The CMS <NUM> may coordinate and direct operation of the satellites <NUM> in the constellation <NUM>. For example, the CMS <NUM> may monitor and maintain satellites <NUM> in their assigned orbits, initiate maintenance activities onboard the satellites <NUM>, provide instructions to prevent a payload on a satellite <NUM> from interfering with another satellite, and so forth. The CMS <NUM> may comprise one or more servers or other computing devices. Operation of the CMS <NUM> is discussed in more detail with regard to <FIG>.

The ground stations <NUM> are in communication with a network management system <NUM> that may include a scheduling system <NUM>. The network management system <NUM> is also in communication, via the ground stations <NUM>, with the satellites <NUM> and the UTs <NUM>. The network management system <NUM> coordinates operation of the ground stations <NUM>, UTs <NUM>, and other resources of the system <NUM>. The network management system <NUM> may interact with the CMS <NUM> during operation. The network management system <NUM> may comprise one or more servers or other computing devices.

The scheduling system <NUM> schedules resources to provide communication to the UTs <NUM>. For example, the scheduling system <NUM> may determine handover data that indicates when communication is to be transferred from the first satellite <NUM>(<NUM>) to the second satellite <NUM>(<NUM>). Continuing the example, the scheduling system <NUM> may also specify communication parameters such as frequency, timeslot, and so forth. During operation, the scheduling system <NUM> may use information such as ephemeris data from the CMS <NUM>, communication system status data <NUM>, user terminal data <NUM>, and so forth.

The system status data <NUM> may comprise information such as which UTs <NUM> are currently transferring data, satellite availability, current satellites <NUM> in use by respective UTs <NUM>, capacity available at particular ground stations <NUM>, diagnostic information, and so forth. For example, the satellite availability may comprise information indicative of satellites <NUM> that are available to provide communication service or those satellites <NUM> that are unavailable for communication service. Continuing the example, the CMS <NUM> may indicate that a satellite <NUM> is unavailable due to malfunction, previous tasking, maneuvering, and so forth. The communication system status data <NUM> may be indicative of past status, predictions of future status, and so forth. For example, the communication system status data <NUM> may include information such as projected data traffic for a specified interval of time based on previous transfers of user data. In another example, the communication system status data <NUM> may be indicative of future status, such as a satellite <NUM> being unavailable to provide communication service due to scheduled maneuvering, scheduled maintenance, scheduled decommissioning, and so forth.

The user terminal data <NUM> may comprise information such as a location of a particular UT <NUM>. The user terminal data <NUM> may also include other information such as a priority assigned to user data associated with that UT <NUM>, information about the communication capabilities of that particular UT <NUM>, and so forth. For example, a particular UT <NUM> in use by a business may be assigned a higher priority relative to a UT <NUM> operated in a residential setting. Over time, different versions of UTs <NUM> may be deployed, having different communication capabilities such as being able to operate at particular frequencies, supporting different signal encoding schemes, having different antenna configurations, and so forth.

The UT <NUM> includes a communication system <NUM> to establish communication with one or more satellites <NUM>. The communication system <NUM> of the UT <NUM> may include components similar to those of the communication system <NUM> of a satellite <NUM> and may perform similar communication functionalities. For example, the communication system <NUM> may include one or more modems, digital signal processors, power amplifiers, antennas (including at least one antenna that implements multiple antenna elements, such as a phased array antenna), processors, memories, storage devices, communications peripherals, interface buses, and so forth. The UT <NUM> passes communication system status data <NUM> between the constellation of satellites <NUM> and the user device <NUM>. The <NUM> data may include data originated by the user device <NUM> (upstream data) or data addressed to the user device <NUM> (downstream data).

The UT <NUM> may be fixed or in motion. For example, the UT <NUM> may be used at a residence or on a vehicle such as a car, boat, aerostat, drone, airplane, and so forth. The UT <NUM> includes a tracking system <NUM>. The tracking system <NUM> uses almanac data <NUM> to determine tracking data <NUM>. The almanac data <NUM> provides information indicative of orbital elements of the orbit <NUM> of one or more satellites <NUM>. For example, the CMS <NUM> may generate almanac data <NUM> that comprises orbital elements such as "two-line element" data for the satellites <NUM> in the constellation <NUM>. The almanac data <NUM> may be broadcast or otherwise sent to the UTs <NUM> using the communication system <NUM>.

The tracking system <NUM> may use the current location of the UT <NUM> and the almanac data <NUM> to determine the tracking data <NUM> for the satellite <NUM>. For example, based on the current location of the UT <NUM> and the predicted position and movement of the satellites <NUM>, the tracking system <NUM> is able to calculate the tracking data <NUM>. The tracking data <NUM> may include information indicative of azimuth, elevation, distance to the second satellite, time of flight correction, or other information associated with a specified time. The determination of the tracking data <NUM> may be ongoing. For example, the first UT <NUM> may determine tracking data <NUM> every <NUM>, every second, every five seconds, or at other intervals.

With regard to <FIG>, an uplink is a communication link which allows data to be sent to a satellite <NUM> from a ground station <NUM>, UT <NUM>, or device other than another satellite <NUM>. Uplinks are designated as UL1, UL2, UL3 and so forth. For example, UL1 is a first uplink from the ground station <NUM> to the second satellite <NUM>(<NUM>). In comparison, a downlink is a communication link which allows data to be sent from the satellite <NUM> to a ground station <NUM>, UT <NUM>, or device other than another satellite <NUM>. For example, DL1 is a first downlink from the second satellite <NUM>(<NUM>) to the ground station <NUM>. The satellites <NUM> may also be in communication with one another. For example, an intersatellite link (ISL) <NUM> provides for communication between satellites <NUM> in the constellation <NUM>.

A device, such as a server, uses one or more networks <NUM> to send downstream data <NUM> that is addressed to a UT <NUM> or a user device <NUM> that is connected to the UT <NUM>. The system <NUM> may include one or more point of presence (PoP) systems <NUM>. Each PoP system <NUM> may comprise one or more servers or other computing devices at a facility, such as on Earth. Separate PoP systems <NUM> may be located at different locations in different facilities. In one implementation, a PoP system <NUM> may be associated with providing service to a plurality of UTs <NUM> that are located in a particular geographic region.

In this illustration, a first PoP system <NUM> at a facility accepts the data <NUM> addressed to the UT <NUM> and proceeds to attempt delivery of the data <NUM> to the UT <NUM>. The PoP system <NUM> is in communication with one or more ground stations <NUM>(<NUM>), <NUM>(<NUM>),. , <NUM>(G) and the network management system <NUM>. In some implementations one or more functions may be combined. For example, the PoP system <NUM> may perform one or more functions of the network management system <NUM>. In another example, the PoP system <NUM> may include an integrated ground station <NUM>.

The PoP system <NUM> may provide several functions including determining timeslot and communication resources, generating preshaped data, and so forth. One function is to assign a targeted timeslot to the downstream data <NUM>. For example, scheduling handoffs of UTs <NUM> from one satellite <NUM> to another may be scheduled on <NUM>-second intervals. The targeted timeslot may indicate a particular <NUM>-second interval within which the downstream data <NUM> is expected to be delivered. The targeted timeslot may already be in progress. For example, the targeted timeslot assigned to the downstream data <NUM> may have begun <NUM> seconds before the downstream data <NUM> was received.

The PoP system <NUM> determines the UT <NUM> that the downstream data <NUM> is addressed to and determines first communication resource data. The first communication resource data specifies the communication resources, such as ground station <NUM>, uplink modem at the ground station <NUM>, satellite, downlink modem on the satellite, and so forth that would result in delivery of the downstream data <NUM> to the UT <NUM>. The downstream data <NUM> may comprise a single packet or other unit of data transfer, or a plurality of packets or other units of data transfer that are associated with delivery to the particular UT <NUM>.

The satellite <NUM>, the ground station <NUM>, the user terminal <NUM>, the user device <NUM>, the network management system <NUM>, the CMS <NUM>, or other systems described herein may include clocks. These clocks may be synchronized to a common source. In some implementations the clock may be a global positioning system (GPS) disciplined clock or an atomic clock that provides a high accuracy and high precision time source. Output from the clock may be used to coordinate operation of the system <NUM>.

Various configurations of the systems described in this disclosure may be used. For example, the CMS <NUM> may be distributed across a plurality of data centers to improve reliability and system availability.

The satellite <NUM>, the ground station <NUM>, the user terminal <NUM>, the user device <NUM>, the PoP system <NUM>, the network management system <NUM>, the CMS <NUM>, or other systems described herein may include one or more computer devices or computer systems comprising one or more hardware processors, computer-readable storage media, and so forth. For example, the hardware processors may include application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), and so forth. Embodiments may be provided as a software program or computer program including a non-transitory computer-readable storage medium having stored thereon instructions (in compressed or uncompressed form) that may be used to program a computer (or other electronic device) to perform the processes or methods described herein. The computer-readable storage medium may be one or more of an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium, and so forth. For example, the computer-readable storage medium may include, but is not limited to, hard drives, optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), flash memory, magnetic or optical cards, solid-state memory devices, or other types of physical media suitable for storing electronic instructions. Further embodiments may also be provided as a computer program product including a transitory machine-readable signal (in compressed or uncompressed form). Examples of transitory machine-readable signals, whether modulated using a carrier or unmodulated, include, but are not limited to, signals that a computer system or machine hosting or running a computer program can be configured to access, including signals transferred by one or more networks. For example, the transitory machine-readable signal may comprise transmission of software by the Internet.

<FIG> is a block diagram <NUM> of some systems associated with the satellite <NUM>, according to some implementations. The satellite <NUM> may comprise a structural system <NUM>, a control system <NUM>, a power system <NUM>, a maneuvering system <NUM>, one or more sensors <NUM>, and a communication system <NUM>. A pulse per second (PPS) system <NUM> may be used to provide timing reference to the systems onboard the satellite <NUM>. One or more busses <NUM> may be used to transfer data between the systems onboard the satellite <NUM>. In some implementations, redundant busses <NUM> may be provided. The busses <NUM> may include, but are not limited to, data busses such as Controller Area Network Flexible Data Rate (CAN FD), Ethernet, Serial Peripheral Interface (SPI), and so forth. In some implementations the busses <NUM> may carry other signals. For example, a radio frequency bus may comprise coaxial cable, waveguides, and so forth to transfer radio signals from one part of the satellite <NUM> to another. In other implementations, some systems may be omitted or other systems added. One or more of these systems may be communicatively coupled with one another in various combinations.

The structural system <NUM> comprises one or more structural elements to support operation of the satellite <NUM>. For example, the structural system <NUM> may include trusses, struts, panels, and so forth. The components of other systems may be affixed to, or housed by, the structural system <NUM>. For example, the structural system <NUM> may provide mechanical mounting and support for solar panels in the power system <NUM>. The structural system <NUM> may also provide for thermal control to maintain components of the satellite <NUM> within operational temperature ranges. For example, the structural system <NUM> may include louvers, heat sinks, radiators, and so forth.

The control system <NUM> provides various services, such as operating the onboard systems, resource management, providing telemetry, processing commands, and so forth. For example, the control system <NUM> may direct operation of the communication system <NUM>. The control system <NUM> may include one or more flight control processors <NUM>. The flight control processors <NUM> may comprise one or more processors, FPGAs, and so forth. A tracking, telemetry, and control (TTC) system <NUM> may include one or more processors, radios, and so forth. For example, the TTC system <NUM> may comprise a dedicated radio transmitter and receiver to receive commands from a ground station <NUM>, send telemetry to the ground station <NUM>, and so forth. A power management and distribution (PMAD) system <NUM> may direct operation of the power system <NUM>, control distribution of power to the systems of the satellite <NUM>, control battery <NUM> charging, and so forth.

The power system <NUM> provides electrical power for operation of the components onboard the satellite <NUM>. The power system <NUM> may include components to generate electrical energy. For example, the power system <NUM> may comprise one or more photovoltaic arrays <NUM> comprising a plurality of photovoltaic cells, thermoelectric devices, fuel cells, and so forth. One or more PV array actuators <NUM> may be used to change the orientation of the photovoltaic array(s) <NUM> relative to the satellite <NUM>. For example, the PV array actuator <NUM> may comprise a motor. The power system <NUM> may include components to store electrical energy. For example, the power system <NUM> may comprise one or more batteries <NUM>, fuel cells, and so forth.

The maneuvering system <NUM> maintains the satellite <NUM> in one or more of a specified orientation or orbit <NUM>. For example, the maneuvering system <NUM> may stabilize the satellite <NUM> with respect to one or more axes. In another example, the maneuvering system <NUM> may move the satellite <NUM> to a specified orbit <NUM>. The maneuvering system <NUM> may include one or more of reaction wheel(s) <NUM>, thrusters <NUM>, magnetic torque rods <NUM>, solar sails, drag devices, and so forth. The thrusters <NUM> may include, but are not limited to, cold gas thrusters, hypergolic thrusters, solid-fuel thrusters, ion thrusters, arcjet thrusters, electrothermal thrusters, and so forth. During operation, the thrusters <NUM> may expend propellent. For example, an electrothermal thruster may use water as propellent, using electrical power obtained from the power system <NUM> to expel the water and produce thrust. During operation, the maneuvering system <NUM> may use data obtained from one or more of the sensors <NUM>.

The satellite <NUM> includes one or more sensors <NUM>. The sensors <NUM> may include one or more engineering cameras <NUM>. For example, an engineering camera <NUM> may be mounted on the satellite <NUM> to provide images of at least a portion of the photovoltaic array <NUM>. Accelerometers <NUM> provide information about acceleration of the satellite <NUM> along one or more axes. Gyroscopes <NUM> provide information about rotation of the satellite <NUM> with respect to one or more axes. The sensors <NUM> may include a global navigation satellite system (GNSS) <NUM> receiver, such as a Global Positioning System (GPS) receiver, to provide information about the position of the satellite <NUM> relative to Earth. In some implementations the GNSS <NUM> may also provide information indicative of velocity, orientation, and so forth. One or more star trackers <NUM> may be used to determine an orientation of the satellite <NUM>. A coarse sun sensor <NUM> may be used to detect the sun, provide information on the relative position of the sun with respect to the satellite <NUM>, and so forth. A radar <NUM> may be used to provide information such as distance and bearing to objects. For example, the radar <NUM> may be used to determine the presence of objects in nearby orbits. In other implementations other sensors may be used, such as LIDAR, optical time of flight devices, cameras, and so forth. For example, a camera may be used to determine occlusion by an object of one or more stellar light sources, such as distance stars. Image data provided by the camera may be processed to determine an approximate distance and bearing of the object. A debris sensor <NUM> may be used to detect impacts, such as micrometeoroid impacts, small debris impacts, and so forth. For example, the debris sensor <NUM> may comprise a microphone, microelectromechanical system, or other device that detects acoustic energy in a chassis of the satellite <NUM> as a result of an impact. In some implementations the accelerometer(s) <NUM> may be used to detect impacts. The satellite <NUM> may include other sensors <NUM> as well. For example, the satellite <NUM> may include a horizon detector, lidar, and so forth.

The communication system <NUM> provides communication with one or more other devices, such as other satellites <NUM>, ground stations <NUM>, user terminals <NUM>, and so forth. The communication system <NUM> may include one or more modems <NUM>, digital signal processors, power amplifiers, antennas (including at least one antenna that implements multiple antenna elements, such as a phased array antenna) <NUM>, processors, memories, storage devices, communications peripherals, interface buses, and so forth. Such components support communications with other satellites <NUM>, ground stations <NUM>, user terminals <NUM>, and so forth using radio frequencies within a desired frequency spectrum. The communications may involve multiplexing, encoding, and compressing data to be transmitted, modulating the data to a desired radio frequency, and amplifying it for transmission. The communications may also involve demodulating received signals and performing any necessary de-multiplexing, decoding, decompressing, error correction, and formatting of the signals. Data decoded by the communication system <NUM> may be output to other systems, such as to the control system <NUM>, for further processing. Output from a system, such as the control system <NUM>, may be provided to the communication system <NUM> for transmission.

Each satellite <NUM> may use one or more antennas <NUM> or antenna elements to provide a beam for transmission and reception of radio signals. For example, the satellite <NUM> may have a phased array antenna that allows for gain in a particular direction. Compared to a non-directional radiator, this gain directs the energy of transmitted radio frequency signals in that particular direction. This increases the strength of the signal at a receiver in the UT <NUM>, ground station <NUM>, and so forth. Likewise, the gain results in improved received signal strength at the satellite <NUM>.

The beam provided by the satellite <NUM> may comprise a plurality of subbeams. Subbeams on a satellite <NUM> may use different frequencies, timeslots, and so forth, to communicate with the UT <NUM>. Each subbeam provides coverage of a particular geographic area or "footprint". Compared to a single beam, subbeams provide several advantages. For example, by using subbeams, radio frequencies may be reused by the same satellite <NUM> and other satellites <NUM> to service different areas. This allows increased density of UTs <NUM> and bandwidth.

During a pass over of a particular location on the Earth, each subbeam may be targeted to a geographic location on the Earth. While that target geographic location is in range of the satellite <NUM>, the subbeam tracks the target location. As the satellite <NUM> moves in orbit <NUM>, the boundary of the footprint may change due to the relative angle between the satellite <NUM> and the Earth. For example, the footprint boundary may change from approximately an oval shape while the satellite <NUM> is low on the horizon relative to the target location, a circular shape while directly overhead, then an oval shape as the satellite <NUM> nears the opposite horizon. As the satellite <NUM> moves, a subbeam may be retargeted to another target location. In this configuration, instead of the subbeam sweeping along the ground track of the satellite <NUM>, the subbeam loiters on a first area relative to the Earth, then is redirected to a second area.

In some implementations, a particular modem <NUM> or set of modems <NUM> may be allocated to a particular subbeam. For example, a first modem <NUM>(<NUM>) provides communication to UTs <NUM> in a first geographic area using a first subbeam while a second modem <NUM>(<NUM>) provides communication to UTs <NUM> in a second geographic area using a second subbeam.

The communication system <NUM> may include hardware to support the intersatellite link <NUM>. For example, an intersatellite link FPGA <NUM> may be used to modulate data that is sent and received by an ISL transceiver <NUM> to send data between satellites <NUM>. The ISL transceiver <NUM> may operate using radio frequencies, optical frequencies, and so forth.

A communication FPGA <NUM> may be used to facilitate communication between the satellite <NUM> and the ground stations <NUM>, UTs <NUM>, and so forth. For example, the communication FPGA <NUM> may direct operation of a modem <NUM> to modulate signals sent using a downlink transmitter <NUM> and demodulate signals received using an uplink receiver <NUM>. The satellite <NUM> may include one or more antennas <NUM>. For example, one or more parabolic antennas may be used to provide communication between the satellite <NUM> and one or more ground stations <NUM>. In another example, a phased array antenna <NUM> may be used to provide communication between the satellite <NUM> and the UTs <NUM>.

<FIG> illustrates at <NUM> the CMS <NUM> and associated systems, according to some implementations. The CMS <NUM> may provide various services that include receiving information from external systems, providing information to those external systems, coordinating with those external systems, planning and initiating activities that include satellites <NUM> in the constellation <NUM>, coordinating with the network management system <NUM> to facilitate operation of the payloads on the satellites <NUM>, and so forth. The space environment is dynamic and complex, involving many factors that are outside of our daily experience here on Earth. One factor is the number of objects that are in orbit <NUM> around the Earth. There are over <NUM>,<NUM> objects in Earth orbit that are being tracked. These objects include active satellites, decommissioned satellites, expended rocket boosters, lost tools, and so forth. Some of these objects are under active control, such as satellites that have functional control and maneuvering systems, while other objects are no longer under active control.

Objects that are in orbit around a body such as the Earth experience a variety of effects that change or "perturb" their orbits. These effects are internal and external. Internal effects can include intentional maneuvers using devices such as thrusters, solar sails, interaction with Earth's magnetic field, and so forth. Internal effects can include outgassing, thermal radiation of satellite components, pressure vessel failures, battery failures, and so forth. External effects include interactions between the object and the various gravitational fields experienced in Earth orbit, Earth's atmosphere, Earth's magnetosphere, solar activity, collisions with other objects, and so forth.

The CMS <NUM> may include various systems, such as a flight dynamics system <NUM>, an input quality assessment system <NUM>, a state management system <NUM>, a plan generation system <NUM>, a satellite mission control (SMC) system <NUM>, an operator interface system <NUM>, and so forth. The CMS <NUM> may also interact with the network management system <NUM>.

The flight dynamics system (FDS) <NUM> acquires and processes information that affects the location of satellites <NUM> in the constellation <NUM>. Ephemeris data comprises information about orbital elements that are descriptive of the orbit <NUM> of a particular object, such as a satellite <NUM>. These orbital elements may include an epoch or reference time, distance of a semi-major axis, eccentricity, right ascension at reference time, and so forth. The FDS <NUM> may maintain one or more of assigned ephemeris data <NUM>, actual ephemeris data <NUM>, or predicted ephemeris data <NUM>.

The assigned ephemeris data <NUM> is indicative of the orbital elements that a particular satellite <NUM> is assigned to maintain to within some threshold. The assigned ephemeris data <NUM> may be determined manually or automatically. For example, a human operator may specify a particular set of orbital elements that are assigned to the satellite <NUM>. In another example, the FDS <NUM> may automatically determine the assigned ephemeris data <NUM> for a particular satellite.

The actual ephemeris data <NUM> is based on an actual location of the satellite <NUM>. The actual ephemeris data <NUM> is indicative of a current or previous actual location of the satellite. For example, the actual ephemeris data <NUM> may be determined based on telemetry data <NUM> from the satellite <NUM> that comprises position data. An example of telemetry data <NUM> is shown in <FIG>.

The predicted ephemeris data <NUM> is a prediction of what the orbital elements of the satellite <NUM> will be. The predicted ephemeris data <NUM> may be based on the effects of the various internal effects such as planned maneuvers, external effects such space weather and orbital perturbation models, and so forth.

The FDS <NUM> may determine interference mitigation data <NUM> that is indicative of potential interactions between a communication payload on a satellite <NUM> and other objects including other satellites <NUM> in the constellation <NUM>. For example, the interference mitigation data <NUM> may be indicative of, for a specified time, a volume in space within which a radio frequency (RF) transmitted by a payload on a satellite <NUM> would exceed a specified threshold value. Continuing the example, the FDS <NUM> may generate interference mitigation data <NUM> that indicates an RF payload, or at least a portion thereof, of a particular satellite <NUM> should be deactivated during a specified time interval to avoid interfering with another satellite <NUM>. This is discussed in more detail with regard to <FIG>.

Various systems may interact with the CMS <NUM>. One or more space situation awareness (SSA) systems <NUM> may provide SSA data <NUM> to the CMS <NUM>. The SSA data <NUM> may comprise object ephemeris data <NUM>, maneuvering data <NUM>, and so forth. For example, the object ephemeris data <NUM> may comprise orbital two-line elements (TLE) data that may be used to determine a predicted location of an object in space. Continuing the example, the maneuvering data <NUM> may be indictive of planned or in-progress maneuvers that may change the motion of the object.

An SSA system <NUM> may be operated by governments, private companies, or other entities. For example, the United States Air Force (USAF) obtains tracking data using various radar and optical tracking resources. A portion of this data is available to others to facilitate orbital operations. For example, orbital elements for various objects in orbit <NUM> tracked by the USAF may be accessed online at space-track. In another example, private companies may generate SSA data <NUM>. For example, commercial services providers may use data from ground based radar sites to generate object ephemeris data <NUM> for objects in orbit. In another example, operators of other constellations <NUM> may provide object ephemeris data <NUM> for satellites <NUM> under their control.

Space weather systems <NUM> provide space weather data <NUM> to the CMS <NUM>. The space weather systems <NUM> may be operated by governments, private companies, or other entities. For example, the United States National Oceanic and Atmospheric Administration (NOAA) acquires data from various ground-based and satellite-based resources about the sun, Earth's upper atmosphere, Earth's magnetosphere, radiation belts, and so forth. For example, the space weather data <NUM> may provide information such as movement of the upper atmosphere, energetic particle flux, solar activity, location of the South Atlantic Anomaly, and so forth.

Space weather can substantially affect operation of satellites <NUM>. For example, a coronal mass ejection (CME) from the sun may result in a substantial increase in charged particles that interfere with operation of electronic devices onboard satellites <NUM>. In another example, changes in solar activity cause the atmosphere to change height, changing aerodynamic drag on satellites.

Navigation systems <NUM> comprising global navigation satellite systems (GNSS) may provide navigation status data <NUM> to the CMS <NUM>. The navigation systems <NUM> may be operated by governments, private companies, or other entities. For example, the USAF operates the global positioning system (GPS), Russia operates the Global Navigation Satellite System (GLONASS), and so forth. The satellite portion of the navigation systems <NUM> is susceptible to the effects of space weather, may experience equipment failures, and so forth. Navigation status data <NUM> may provide information indicative of operation of the GNSS, accuracy data, correction factors, and so forth. For example, the navigation status data <NUM> may comprise information that indicates the accuracy of navigational signals provided for a particular volume of space at a particular time. The GNSS <NUM> receiver onboard the satellites <NUM> may use signals from the navigation system <NUM> to determine position data for the satellites <NUM> in the constellation <NUM>.

Other systems <NUM> may provide other data <NUM> to the CMS <NUM>. In one implementation, the other systems <NUM> may include terrestrial weather data indicative of observed or forecasted terrestrial weather conditions. Terrestrial weather conditions may affect operations involving the satellites <NUM>. For example, heavy precipitation in the atmosphere between the satellite <NUM> and a UT <NUM> may attenuate radio signals along a signal path, producing "rain fade". This attenuation may affect communication by resulting in reduced throughput, requiring additional transmit power, and so forth.

In some implementations, the data described herein as provided to the CMS <NUM> may be provided to the network management system <NUM>. For example, the network management system <NUM> may use the terrestrial weather data to select which satellites <NUM> will be used to provide communication service to UTs <NUM> to minimize attenuation of radio signals along the signal path between a given satellite <NUM> and UT <NUM>.

The network management system <NUM> may also provide information for the CMS <NUM>. For example, the network management system <NUM> may provide information to the CMS <NUM> about system status data <NUM>, geographic location of UTs <NUM>, diagnostic data, and so forth. The CMS <NUM> may take this information into consideration while determining proposed plan data <NUM>.

A satellite data system <NUM> provides satellite data <NUM> about the satellites <NUM> in the constellation <NUM>. For example, the satellite data system <NUM> may receive satellite data <NUM> from satellites <NUM> via the ground stations <NUM>. The satellite data <NUM> may comprise telemetry data <NUM>, sensor data <NUM>, and so forth. The telemetry data <NUM> may comprise information indicative of the operation of one or more devices onboard the satellite <NUM>. For example, the telemetry data <NUM> may be indicative of battery charge, propellant quantity, and so forth. The sensor data <NUM> may comprise data obtained by one or more sensors <NUM>. For example, the sensor data <NUM> may include position data obtained by the GNSS <NUM> receiver. In another example, the sensor data <NUM> may comprise data indicative of objects detected by the radar <NUM>.

The input quality assessment system <NUM> processes data ingested by the CMS <NUM> to assess the quality of the data. The input quality assessment system <NUM> determines quality based on comparisons between different sources of data, based on analysis relative to historical data, by comparing to predefined ranges, or using other techniques. For example, the CMS <NUM> may compare at least a portion of first object ephemeris data <NUM> received from a first SSA system <NUM> to second object ephemeris data <NUM> received from a second SSA system <NUM>. If the comparison indicates a variation that exceeds a threshold amount, one or both of the first or second object ephemeris data <NUM> may be disregarded. Data that is determined to have quality less than a threshold may be discarded or flagged during subsequent processing by the CMS <NUM>.

During operation, the FDS <NUM> may accept as input one or more of the SSA data <NUM>, space weather data <NUM>, navigation status data <NUM>, satellite data <NUM>, and so forth. For example, the FDS <NUM> may use the navigation status data <NUM> and the sensor data <NUM> to determine the actual ephemeris data <NUM> for a particular satellite <NUM>. In another example, the FDS <NUM> may use the space weather data <NUM>, and the actual ephemeris data <NUM> to determine the predicted ephemeris data <NUM>.

The FDS <NUM> may use the SSA data <NUM> and the predicted ephemeris data <NUM> to determine if a conjunction event may occur. A conjunction event may be determined when the locations of a satellite <NUM> and another object are less than a threshold distance apart at a specified time. In some situations, a conjunction event may involve a collision between the satellite <NUM> and the object.

During operation, the FDS <NUM> may also send data to the SSA system(s) <NUM> or other operators of constellations <NUM>. For example, the FDS <NUM> may send predicted ephemeris data <NUM> about the constellation <NUM> to the SSA system <NUM>. This may reduce operational risks by providing an additional opportunity to determine possible conjunction events in advance. For example, the SSA system <NUM> may use the predicted ephemeris data <NUM> to produce an independent determination as to whether a conjunction event may occur. That determination may then be provided back to the CMS <NUM> or to other systems.

The state management system <NUM> may maintain state data <NUM> about satellites <NUM> in the constellation <NUM>. The state data <NUM> may include information about the satellite <NUM>, payload, and so forth. An example of state data <NUM> is shown in <FIG>.

In some implementations the state data <NUM> may include predicted data. For example, the state data <NUM> may include a prediction of remaining operational lifespan of a particular system onboard the satellite <NUM>. The state management system <NUM> may determine predicted data using one or more of decision trees, heuristics, machine learning systems, and so forth. For example, the machine learning systems may comprise one or more neural networks. The one or more neural networks may be trained using satellite data <NUM> to determine a correspondence between particular inputs such as specific values of telemetry data <NUM> and later values. For example, telemetry data <NUM> from many satellites <NUM> may be acquired over time and used to predict performance of a particular system.

The plan generation system <NUM> interacts with the other systems and uses a prioritization system <NUM> to determine actual plan data <NUM> based on proposed plan data <NUM>. The actual plan data <NUM> may comprise a satellite identifier, priority value indicative of priority of the plan, timing information, information about the systems on the satellite <NUM> used by the plan, and details about operating those systems. An example of actual plan data <NUM> is shown in <FIG>. Data from other systems, such as from the FDS <NUM>, the state management system <NUM>, operator interface system <NUM>, and so forth may result in determination of an event.

Responsive to the event, the plan generation system <NUM> determines one or more activities, and from those activities, the proposed plan data <NUM>. For example, as described below with regard to <FIG>, the prioritization system <NUM> may assess activity alternatives to determine the proposed plan data <NUM>. The proposed plan data <NUM> may comprise the satellite identifier, priority value indicative of priority of the proposed plan, timing information, and so forth. The activities described in the proposed plan data <NUM> may be constrained by one or more values and may be specified by automated limit data <NUM>. For example, the delta v indicated in the proposed plan data <NUM> for a maneuver generated automatically by the plan generation system <NUM> may be limited by values specified in the automated limit data <NUM>. The proposed plan data <NUM> may be evaluated, and if approved, is used to determine actual plan data <NUM>. For example, if values within the proposed plan data <NUM> are within the limits specified by the automated limit data <NUM>, the proposed plan data <NUM> may be approved to use as actual plan data <NUM>. In some situations, operator input may be received to confirm the use of the proposed plan data <NUM> as the actual plan data <NUM>. For example, the proposed plan data <NUM> may be provided to the operator interface system <NUM> to receive user input via a user interface.

As mentioned above, the plan generation system <NUM> may take into consideration data from the network management system <NUM>. For example, during maneuvers the satellite <NUM> may be unable to operate the payload to provide communication services to a UT <NUM>. The proposed plan data <NUM> may specify maneuvers for a particular satellite <NUM> to take place while the satellite <NUM> is over a portion of the Earth that contains a low number of UTs <NUM> per area, to reduce the number of UTs <NUM> that would be affected by the reduction in available communication resources.

The actual plan data <NUM> may be passed to a satellite mission control system <NUM>. The satellite mission control system <NUM> may perform one or more functions. In one implementation, the satellite mission control system <NUM> may confirm that the actual plan data <NUM> would not result in an adverse event associated with the satellite <NUM>. For example, the satellite mission control system <NUM> may confirm that an operation involving an update to the onboard computer will not be executed while the satellite <NUM> is passing through the South Atlantic Anomaly that could result in an upset event to the onboard computer. The satellite mission control system <NUM> may determine control data <NUM> comprising one or more commands for the satellite <NUM> to execute to implement the actual plan data <NUM>. The satellite mission control system <NUM> may send the control data <NUM> to the appropriate satellite <NUM>. The satellite <NUM> then executes the one or more commands in the control data <NUM>. For example, a TTC ground station may be used to send the control data <NUM> to the satellite <NUM>. The TTC system <NUM> onboard the satellite <NUM> may receive and process the control data <NUM>.

In some implementations one or more of the functions described with respect to the plan generation system <NUM> may be performed at least in part by the SMC system <NUM>. For example, the proposed plan data <NUM> may be passed to the SMC system <NUM> that then generates the actual plan data <NUM>.

During operation, the plan generation system <NUM> may also send data to the SSA system(s) <NUM> or other operators of constellations <NUM>. For example, the plan generation system <NUM> may send information about a proposed maneuver that is in proposed plan data <NUM> to the SSA system <NUM>. This may reduce operational risks by providing an additional opportunity to determine possible conjunction events in advance. For example, the SSA system <NUM> may use the information about the proposed maneuver and other available information to produce an independent determination as to whether the maneuver is likely to result in a conjunction event. That determination may then be provided back to the plan generation system <NUM> in the CMS <NUM> or to other systems. For example, if the SSA <NUM> confirms the proposed maneuver is not likely to result in a conjunction event, the plan generation system <NUM> may generate actual plan data <NUM> that includes the proposed maneuver.

The operator interface system <NUM> provides functionality allowing other operators, such as human operators or autonomous operators, to interact with the CMS <NUM>. For example, the operator interface system <NUM> may provide a user interface for a human operator to use. The operator may provide input via the user interface that indicates approval of a proposed plan data <NUM>, changes to the proposed plan data <NUM>, and so forth. A general oversight system <NUM> may provide various functions such as a "dashboard" or overall status of the constellation <NUM>. The general oversight system <NUM> may monitor larger scale operations, such as maneuvering a group of satellites <NUM>.

The operator interface system <NUM> may include a control confirmation system <NUM>. The control confirmation system <NUM> allows an operator to be introduced into the operational workflow. Operation of the operator interface system <NUM> may be constrained by operator limit data <NUM>. The operator limit data <NUM> may specify thresholds as to what activities may be approved by a single operator, which activities require multiple operators, and so forth. For example, the control confirmation system <NUM> may require approval from two human operators to perform certain activities such as deorbiting a satellite <NUM>. An example of operator limit data <NUM> is shown in <FIG>.

In implementations where the constellation <NUM> provides communication services, the CMS <NUM> may interact with the network management system <NUM> that operates and manages the communication service and associated payload. For example, the FDS <NUM> may determine interference mitigation data <NUM> that, relative to a particular location to provide service on Earth, indicates satellite <NUM>(<NUM>) will be within the radio frequency (RF) volume produced by a transmitter on satellite <NUM>(<NUM>). To avoid radio frequency interference, responsive to the interference mitigation data <NUM>, the radio transmitter payload on satellite <NUM>(<NUM>) may be turned off for the period that satellite <NUM>(<NUM>) will be within the volume.

In another example, some activities may result in a satellite <NUM> being unavailable to provide communication services. For example, while maneuvering the satellite <NUM> may be unable to provide communication services to UTs <NUM>. The CMS <NUM> may provide information to the network management system <NUM> that is indicative of which satellites <NUM> are unavailable, and time intervals as to when those satellites <NUM> will be unavailable.

Additional description of some of the data mentioned above are discussed with regard to <FIG>. For ease of illustration, and not by way of limitation, various protocols to maintain security of the system <NUM> are not shown. For example, one or more cryptographic techniques may be used to secure the transfer of data between systems, to confirm the origin of data ingested into the CMS <NUM>, and so forth.

The CMS <NUM> may utilize one or more of decision trees, heuristics, machine learning systems, or other techniques during operation. For example, the machine learning systems may comprise one or more neural networks. The one or more neural networks may be trained using data associated with operation of the system <NUM>. For example, the plan generation system <NUM> may comprise a neural network that is trained at least in part using actual plan data <NUM> and associated input data to the CMS <NUM> that is associated with the determination of the actual plan data <NUM>.

<FIG> illustrates the plan generation system <NUM> of the CMS <NUM> that is used to determine actual plan data <NUM> used to operate satellites <NUM> in the constellation <NUM>, according to some implementations.

Systems within or associated with the CMS <NUM> may generate event data <NUM>. Event data <NUM> is indicative of an event or occurrence that is associated with one or more satellites <NUM> in the constellation <NUM>. An example of event data <NUM> is shown in <FIG>.

The FDS <NUM> may generate event data <NUM> that is based on the location or orientation of the satellite <NUM>. For example, if the predicted ephemeris data <NUM> indicates that the predicted orbit of the satellite <NUM> will deviate from the assigned orbit indicated by the assigned ephemeris data <NUM> by more than a threshold value, event data <NUM> may be generated. Continuing the example, the predicted deviation in position of the satellite <NUM> exceeding a threshold value may generate event data <NUM>.

The state management system <NUM> may generate event data <NUM> that is based on the state data <NUM> of the satellite <NUM>. The event may be determined by comparing one or more values of the state data <NUM> with historical values, a specified threshold, specified range, and so forth. For example, if a battery charge value drops below a minimum threshold value or rises above a maximum threshold value, event data <NUM> may be generated.

The operator interface system <NUM> may generate event data <NUM>. For example, an operator may generate event data <NUM> that is indicative of a potential failure in a specified component used in a subset of the satellites <NUM>.

The satellite mission control system <NUM> may generate event data <NUM>. For example, the satellite mission control system <NUM> may generate event data <NUM> indicative of a failure to execute one or more commands in the control data <NUM>.

Other systems may also generate event data <NUM>. In one implementation a scheduler system (not shown) may generate event data <NUM> upon expiration of a timer, at a specified time, and so forth. For the example, event data <NUM> may be generated at a specified interval such as every four hours that is indicative of the event to evaluate or check a particular satellite <NUM>. Responsive to the event data <NUM>, the FDS <NUM> may update predicted ephemeris data <NUM>, interference mitigation data <NUM>, and so forth. Responsive to the event data <NUM>, the state management system <NUM> may assess satellite health.

The event data <NUM> is provided to an event processing system <NUM> of the plan generation system <NUM>. The event processing system <NUM> may associate particular events with corresponding activity data <NUM>. The activity data <NUM> may be indicative of an activity category and may include constraints on a resulting activity, such as an "execute by time" or a "complete by time". For example, the FDS <NUM> may issue event data <NUM> for a "payload orientation out of limit" event, indicating that at a predicted time the antennas <NUM> associated with the satellite's <NUM> downlink will not be pointing in the direction needed to maintain communication service to a specified location on Earth. An example of activity data <NUM> is shown in <FIG>.

The event processing system <NUM> may determine, responsive to the event data <NUM>, activity data <NUM> that is indicative of one or more categories of activity. Continuing the earlier example, responsive to the event data <NUM> of "payload orientation out of limit" the resulting activity data <NUM> may be indicative of an activity category "reorient satellite for payload" and data indicative of a "complete by time" indicating when the action needs to be completed by.

An activity assessment system <NUM> may accept the activity data <NUM> as input and determine prioritization data <NUM> and activity alternative data <NUM>. The prioritization data <NUM> associates a priority value with the activity category indicated by the activity data <NUM>. In some implementations, a priority value may be assigned to a particular activity category. In another implementation, the priority value may vary based on one or more factors. For example, as an interval time between current time and the "complete by time" decreases, the priority value may increase. The prioritization data <NUM> may also indicate whether the activity category is to be executed by a specified time. An example of prioritization data <NUM> is shown in <FIG>.

An activity category may be associated with one or more possible activities. The activity alternative data <NUM> may provide alternative actions that are associated with a particular activity category. The activity alternative data <NUM> may also include other information associated with the alternative actions. For example, the activity alternative data <NUM> may indicate a satellite cost value <NUM> that is indicative of a cost associated with an activity performed by the satellite <NUM>. An example of activity alternative data <NUM> is shown in <FIG>.

The satellite cost value <NUM> may be generalized to a cost associated with a particular type of satellite, or may be specific to a particular individual satellite <NUM>. For example, the satellite cost value <NUM> for a maneuver that involves consumption of propellent may be proportionate to the propellent quantity remaining on a particular satellite <NUM>. As the particular satellite <NUM> depletes its propellant, the corresponding cost for activities that use the remaining propellant may increase.

The activity alternative data <NUM> may also associate payload cost values <NUM> with activities. The payload cost value <NUM> may be indicative of how the activity will affect operation of the payload. For example, if the payload provides communication services, a low payload cost value <NUM> may indicate negligible impairment of providing communication service to UTs <NUM> while a high payload cost value <NUM> indicates failure to provide communication service to UTs <NUM>.

The automated limit data <NUM> may specify value(s) that are indicative of constraints placed on activities that are initiated without operator intervention. For example, the automated limit data <NUM> may specify a maximum delta v per maneuver, maximum number of concurrent maneuvers that are permitted across the constellation <NUM> or a subgroup thereof, maximum number of adjacent maneuvers, maximum power consumption, and so forth. The automated limit data <NUM> may govern the automated actions of the system <NUM>. The values of the automated limit data <NUM> may be determine by an operator, analysis of data, operational limits of the system, and so forth. For example, a threshold count of the maximum number of concurrent maneuvers may be specified by a human operator. In another example, the threshold count of the maximum number of concurrent maneuvers may be determined based on a number of simultaneous maneuvers the satellite mission control system <NUM> is able to support. An example of automated limit data <NUM> is shown in <FIG>.

Some events indicated by event data <NUM> may be associated with some activities that are more time sensitive and other activities that are less time sensitive. For example, maneuvers may be highly time sensitive, requiring precise timing. In comparison, maintenance activities such as exercising an actuator may be done anytime within a span of several days. The time sensitivity of these activities may be specified by the prioritization data <NUM>, the activity alternative data <NUM>, and so forth.

The CMS <NUM> or associated systems may generate event data <NUM> responsive to other event data <NUM>. For example, an unexpected acceleration of the satellite <NUM> that is indicated by the satellite data <NUM> that exceeds a threshold value may result in the state management system <NUM> generating a first event data <NUM>. Responsive to the first event data <NUM>, the FDS <NUM> may determine actual ephemeris data <NUM> and generate a second event data <NUM> indicative of a deviation from the assigned ephemeris data <NUM>.

The prioritization system <NUM> of the plan generation system <NUM> may assess the activity alternative data <NUM> for pending activities and determine activity set data <NUM>. For example, the prioritization system <NUM> may select a particular activity from the activity alternative data <NUM> based on one or more of the satellite cost value <NUM>, payload cost value <NUM>, or other cost values. The prioritization system <NUM> may select, from the activity alternative data <NUM>, the activity that has the lowest sum of satellite cost value <NUM> and payload cost value <NUM>. An example of activity alternative data <NUM> is shown in <FIG>.

The activity set data <NUM> determined by the prioritization system <NUM> may also specify a sequence or order in which the activities should be performed. Activities may be sequenced based on priority value, complete by times, system dependences, and so forth. For example, activities may be sorted so that activities with earlier complete by times are performed before activities with later complete by times. In another example, the activity "charge batteries" may supersede "operate magnetorquer" if there is insufficient available power to operate the magnetorquer.

The activity set data <NUM> may be used to determine the proposed plan data <NUM>. The proposed plan data <NUM> may specify the satellite <NUM>, a priority of the overall plan, information about the activities to be performed, and other information. For example, the proposed plan data <NUM> may indicate whether the proposed activities are expected to cause the satellite <NUM> to leave an assigned volume in the orbit <NUM> that is associated with the assigned ephemeris data <NUM>, , information about the satellite systems to be used, and so forth. An example of proposed plan data <NUM> is shown in <FIG>.

The proposed plan data <NUM> may be used to determine the actual plan data <NUM>. For example, if the activities specified within the proposed plan data <NUM> are within the limits specified by the automated limit data <NUM>, the proposed plan data <NUM> may be used as the actual plan data <NUM>. In another example, the proposed plan data <NUM> may be provided to the operator interface system <NUM>. A human operator or autonomous operator may be presented with the proposed plan data <NUM> and may approve the proposed plan, modify the proposed plan, deny the proposed plan, or take other steps. The actual plan data <NUM> may be indicative of one or more activities.

The actual plan data <NUM> may include one or more activities that have been combined together. For example, the actual plan data <NUM> may include one or more activities indicated in first proposed plan data <NUM> associated with the satellite <NUM>, second proposed data <NUM> associated with the satellite <NUM>, and so forth.

In some implementations, additional confirmation or checking may be performed before the actual plan data <NUM> is determined. For example, proposed plan data <NUM> that involves a maneuver may result in consulting with an external system such as one or more SSA systems <NUM> to determine if the proposed maneuver would result in a possible conjunction event. Response data may be received from the external system and may be used to evaluate the proposed plan data <NUM>. Continuing the example, if the response data indicates a possible conjunction event, the proposed plan data <NUM> may be rejected and new proposed plan data <NUM> may be generated.

<FIG> illustrate data associated with operation of the system <NUM>, according to some implementations. The data may include parameters <NUM> and associated values <NUM>.

As shown in <FIG>, the telemetry data <NUM> may comprise information indicative of the operation of one or more devices onboard the satellite <NUM>. For example, the telemetry data <NUM> may include one or more of a satellite identifier, position data, propellant quantity, time thruster(s) used, propellant temperature, photovoltaic effectiveness, state of charge, total charge cycles of the battery <NUM>, payload status, reaction wheel saturation(s), single event upset count, and so forth. The satellite identifier is indicative of a particular satellite <NUM> in the constellation <NUM>. The position data comprises information that is indicative of one or more of position with respect to a reference point and one or more axes, orientation with respect to the one or more axes, and so forth. For example, the position data may be generated by the GNSS <NUM> and be indicative of a latitude, longitude, altitude, orientation, and so forth. The propellant quantity may indicate a mass of propellant remaining for use by one or more thrusters <NUM>. The time maneuvering system used may be indicative of total elapsed time of operation of the thruster(s) <NUM>. The propellant temperature may be indicative of a temperature of the propellant used by the one or more thrusters <NUM>. The photovoltaic effectiveness may be indicative of performance of the PV array(s) <NUM>. The photovoltaic effectiveness may be assessed relative to a specified baseline, such as relative to a tested engineering baseline. The state of charge may indicate the state of charge of one or more batterie(s) <NUM>, representing how much power is available within the battery <NUM>. The total charge cycles of the battery <NUM> may be indicative of an accumulated count of charge and discharge cycles the battery <NUM> has been subjected to. The payload status may be indicative of overall operation of the payload, such as whether the payload is offline by command, offline due to malfunction, operating nominally, operating off-nominally, and so forth. The reaction wheel saturation(s) may be indicative of momentum saturation levels of one or more reaction wheels <NUM>. The single event upset count may be indicative of a number of single event upsets occurring within specified electronic circuitry, such as due to high energy particle impingement on a semiconductor device. The telemetry data <NUM> may include other data as well.

As shown in <FIG>, the state data <NUM> may include information about the satellite <NUM>, payload, and so forth. The state data <NUM> may be based at least in part on the telemetry data <NUM>. The state data <NUM> may include the satellite identifier as described above. The state data <NUM> may include information indicative of a model, block, version, or build of the satellite <NUM>. The state data <NUM> may include a satellite overall metric. The satellite overall metric may be indicative of overall usefulness of the satellite <NUM>. For example, the satellite overall metric may comprise a weighted average of propellant quantity, time maneuvering system used, photovoltaic effectiveness, total charge cycles, payload status, and so forth. Over time, as systems onboard the satellite <NUM> degrade, the value <NUM> of the satellite overall metric may decrease.

The state data <NUM> may include a payload metric that is indicative of overall usefulness of the payload. For example, the payload metric may be based on the payload status, state of charge of the batteries <NUM> providing power to the payload, available transmitter power output, number of devices in the payload that have failed, and forth.

The state data <NUM> may include a maneuvering system metric that is indicative of capability of the maneuvering system <NUM>. For example, the maneuvering system metric may comprise a weighted average of propellant quantity, time thruster(s) used, propellant temperature, state of charge, reaction wheel saturation(s), and so forth. Over time, as systems onboard the satellite <NUM> degrade, the value <NUM> of the maneuvering system metric may decrease.

Automated operation of the CMS <NUM> may be constrained by the values <NUM> specified in the automated limit data <NUM>. As shown in <FIG>, the automated limit data <NUM> may include a maximum (max) delta v per maneuver, specifying a maximum permitted change in velocity for a given maneuver or sequence of maneuvers for a particular satellite <NUM>. The automated limit data <NUM> may specify a max concurrent maneuvers, specifying a maximum number of concurrent maneuvers that are permitted within the constellation <NUM> at any given time. Max adjacent maneuvers specifies a maximum number of maneuvers that are permitted to occur in adjacent satellites <NUM>. For example, the max adjacent maneuver value <NUM> may constrain maneuvers that would result in maneuvers of more than three adjacent satellites <NUM> at one time. A minimum (min) variance to maneuver may specify a minimum variance between an actual and assigned position that will result in event data <NUM> to maneuver the satellite <NUM>. For example, if the variance between the actual and assigned position exceeds the min variance to maneuver value <NUM>, event data <NUM> would be generated indicative of the deviation and result in a maneuver to reposition the satellite <NUM>.

The automated limit data <NUM> may specify a maximum number of activities to satellites per unit time. For example, a maximum number of <NUM> activities per hour that involve satellites <NUM> may be permitted by the CMS <NUM>.

A minimum number of alternative inputs to act may be specified. For example, to avoid incorrect activities resulting from poor data from a single source, the CMS <NUM> may specify that input data from two different systems may be required before generating proposed plan data <NUM>.

The automated limit data <NUM> may also specify maximum limits on autonomous maneuvers. For example, an "orientation change <" may specify a maximum number of degrees that can be specified by proposed plan data <NUM> for automatic operation. Orientation change angles that are greater than this value <NUM> may be submitted to the operator interface system <NUM> for confirmation by a human operator.

The automated limit data <NUM> may specify a max power consumed during an activity. For example, activities in proposed plan data <NUM> that exceed this threshold may be submitted to the operator interface system <NUM> for confirmation by a human operator.

In other implementations, the automated limit data <NUM> may include other parameters <NUM> and associated values <NUM>.

The operator limit data <NUM> is also shown in <FIG>. The operator limit data <NUM> specifies thresholds as to what activities have been designated as requiring operator approval. In the illustration shown here, the parameters <NUM> may include a delta v per maneuver that requires operator approval. For example, this may specify a maximum change in velocity due to maneuvering of <NUM>/s that requires authorization by an operator.

An estimated final propellant value may specify a minimum value of propellant remaining after maneuvering that may be performed automatically. For example, the threshold of estimated final propellant may include reserves to deorbit a satellite <NUM>. This parameter <NUM> may be used to determine when to have an operator confirm proposed plan data <NUM> that includes a maneuver that is expected to deplete the propellant below the specified threshold.

The operator limit data <NUM> may specify whether activities that would result in the satellite <NUM> leaving its assigned orbital volume require operator approval. For example, if a maneuver is predicted to result in the satellite <NUM> moving to a different assigned orbital volume, the operator approval may be obtained to confirm the proposed plan data <NUM>. Other activities that the operator limit data <NUM> may specify requiring operator approval may include changing orbital plane, deorbiting, and so forth.

<FIG> illustrates parameters <NUM> and values <NUM> that the event data <NUM> may comprise. An event identifier may be indicative of a particular event, distinguishing one event from another. The event data <NUM> may include a satellite identifier indicative of the satellite(s) <NUM> associated with the event data <NUM>. An event type may specify a category of the event, such as "payload orientation out of limit", "payload malfunction", "PV array failure", and so forth. Timing type specifies whether the timing associated with the event is actual or predicted. For example, an actual event may result from an occurrence indicated by the telemetry data <NUM> while a predicted event may result from a predicted conjunction event with another object. The event data <NUM> may include a time associated with the event. For example, this may include the actual time the event is determined to have occurred, or a time that is associated with the predicted event. The event data <NUM> may include other information as well.

The activity data <NUM> may include the satellite identifier, an activity category, an execute by (time), a complete by (time), and so forth. The activity category is indicative of an overall grouping that is associated with an activity. For example, activities that involve reorienting the satellite <NUM> may be associated with the activity category of "reorient satellite for payload". The execute by (time) may specify a time when an activity associated with the activity category is expected to begin. In comparison, the complete by (time) may specify the time when the activity associated with the activity category must be completed. For example, the complete by (time) may specify the time at which the reorientation needs to be complete to provide a suitable response to the "payload orientation out of limit" that is predicted to occur. The activity data <NUM> may include other information as well.

The prioritization data <NUM> associates a priority value with the activity category indicated by the activity data <NUM>. For example, the activity category "reorient satellite for payload" may be executed with an execute by (time) less than threshold value of "YES" and have a priority of "<NUM>". The execute by (time) less than threshold may indicate that the interval between the current time and the execute by (time) specified in the activity data <NUM> is less than a threshold value. This parameter <NUM> may be used to prioritize activities that are designated as having a start or execute by time that is rapidly approaching. The priority value associated with the activity category may be manually specified or based on one or more factors. For example, the priority value may be determined based on whether the activity category involves a maneuver, time remaining until the execute by (time), time remaining until the complete by (time), and so forth.

<FIG> illustrates activity alternative data <NUM>. As described above, the activity category may be associated with one or more possible activities. The activity alternative data <NUM> may provide alternative actions that are associated with a particular activity category. The activity alternative data <NUM> may also include other information associated with the alternative actions. For example, the activity alternative data <NUM> may indicate a satellite cost value <NUM>, payload cost value <NUM>, and so forth. The satellite cost value <NUM> is indicative of a cost to the overall satellite <NUM> that is associated with the activity. For example, the satellite cost value <NUM> may be calculated based on estimated propellant to be consumed, power to be consumed, total duration of the activity, and so forth. The payload cost value <NUM> is indicative of a cost to the operation of the payload. The payload cost value <NUM> may be determined based on a number of customers of the payload that are affected, whether the payload would be usable during the activities, and so forth. For example, the payload cost value may have a maximum value of <NUM> if the payload is unable to provide service to any UTs <NUM>.

In this illustration, the activity category "reorient satellite for payload" is associated with at least five possible alternative activities: none (drift), have the satellite <NUM> service a different geographic area on Earth that would not require reorientation, reorienting using propulsion, reorienting using a magnetorquer, reorienting using a reaction wheel, and so forth. Each of these different activities results in different satellite cost values <NUM> and payload cost values <NUM>. For example, servicing a different geographic area has a relatively low satellite cost value <NUM> because no power or propellant is consumed, but does have a relatively high payload cost value as service to the originally scheduled geographic area is not possible. In another example, reorientation using propulsion such as the thrusters <NUM> exhibits a high satellite cost value <NUM> due to the consumption of propellant while also producing a high payload cost value <NUM> as the payload may be unable to provide service to the UTs <NUM> while the thrusters <NUM> are operating.

The activity set data <NUM> determined by the prioritization system <NUM> may also specify a sequence or order in which the activities should be performed. Activities may be sequenced based on priority value, complete by times, system dependences, and so forth. In this example, the activity to operate the magnetorquer to reorient the satellite <NUM> has been prioritized first with a specified complete by (time), followed by the activities to perform a battery maintenance cycle and PV actuator exercise to move the PV array actuators <NUM>.

As shown at 5E, the proposed plan data <NUM> includes information such as the satellite identifier, priority of the proposed plan, execute by (time), complete by (time) and other information. For example, the proposed plan data <NUM> may indicate whether a maneuver is involved, the activity category for one or more of the activities specified, information about the satellite systems used, whether the activity is expected to result in the satellite leaving the assigned orbital volume, and action details such as values <NUM> for the various parameters <NUM>.

Also shown at 5E is an example of actual plan data <NUM>. In this illustration, the proposed plan data <NUM> has been approved, and the actual plan data <NUM> includes information about the priority, timing, and activities to be performed. For example, the actual plan data <NUM> may specify a window of time within which the plan is to be completed, action details that specify particular commands to be used to operate the satellite <NUM> to perform the activities, and so forth.

<FIG> is a flow diagram <NUM> of a process of determining actual plan data <NUM> and operating a satellite <NUM> based on that actual plan data <NUM>, according to some implementations. The process may be implemented at least in part by the CMS <NUM>.

At <NUM> a first event associated with at least a first satellite <NUM> is determined. For example, the FDS <NUM> may generate event data <NUM> indicative of a payload orientation of the first satellite <NUM> being out of limit at a particular time.

At <NUM> first ephemeris data of the first satellite <NUM> is determined. For example, the FDS <NUM> may generate predicted ephemeris data <NUM>.

At <NUM> first state data of the first satellite <NUM> is determined. For example, the state management system <NUM> may determine state data <NUM> indicative of available propellant, battery charge, and so forth.

At <NUM>, based at least in part on the first ephemeris data and the first state data <NUM>, proposed plan data <NUM> is determined. For example, the event processing system <NUM> of the plan generation system <NUM> may determine activity data <NUM>. The activity assessment system <NUM> may then determine prioritization data <NUM> and activity alternative data <NUM>. The prioritization system <NUM> may use the prioritization data <NUM>, the activity alternative data <NUM>, and the automated limit data <NUM> to determine the activity set data <NUM> and the proposed plan data <NUM>.

At <NUM> if the proposed plan data <NUM> includes activities that are outside of the automated oversight limits specified by the automated limit data <NUM>, the process proceeds to <NUM>. If the proposed plan data <NUM> includes activities that are within the automated oversight limits specified by the automated limit data <NUM>, the process proceeds to <NUM>.

The automated limit data <NUM> may place constraints on individual activities, groups of activities, or activities across two or more satellites <NUM> in the constellation <NUM>. In one implementation, the plan generation system <NUM> may determine a first set of proposed plan data that includes the first proposed plan data <NUM>. The first set of proposed plan data is also indicative of proposed activities involving a first count of satellites <NUM> in the constellation <NUM> within a first time interval. The proposed plan data <NUM> may be approved for further action if the first count is less than a threshold value. If the first count is greater than or equal to the threshold value, the proposed plan data <NUM> may be presented for operator confirmation, such as via the operator interface system <NUM>, may be delayed, or other actions may be taken. For example, the automated limit data <NUM> may limit the number of concurrent maneuvers by satellites <NUM> within the constellation <NUM> to <NUM>. Continuing the example, this limit may be used to prevent large-scale simultaneous maneuvers that could complicate operation of the FDS <NUM>.

At <NUM>, operator input approving the proposed plan data <NUM> is obtained. For example, the operator interface system <NUM> may present the proposed plan data <NUM> to an operator for approval, modification, denial, or other action. Once approved or modified, the process continues to <NUM>.

At <NUM> actual plan data <NUM> is determined based in part on the proposed plan data <NUM>. For example, the proposed plan data <NUM> may be approved and used as the actual plan data <NUM>. In another example, a human operator may add or modify one or more additional activities of the proposed plan data <NUM> to determine the actual plan data <NUM>.

At <NUM>, the first satellite <NUM> is operated based at least in part on the actual plan data <NUM>. For example, the actual plan data <NUM> may be provided to the satellite mission control system <NUM>. The satellite mission control system <NUM> may determine control data <NUM> comprising one or more commands to operate one or more devices onboard the first satellite <NUM>.

<FIG> is a flow diagram <NUM> of another process of determining actual plan data <NUM> and operating a satellite <NUM> based on that actual plan data <NUM>, according to some implementations. The process may be implemented at least in part by the CMS <NUM>.

At <NUM>, proposed plan data <NUM> is determined. For example, the plan generation system <NUM> may determine the proposed plan data <NUM> in response to event data <NUM>. Continuing the example, the FDS <NUM> may determine event data <NUM> indicative of a potential conjunction event with another object.

At <NUM> a determination is made as to whether the proposed plan data <NUM> is indicative of a maneuver. If no, the process may proceed to <NUM>. If yes, the process may proceed to <NUM>.

At <NUM> the first actual plan data <NUM> is determined. For example, if no changes were made to the proposed plan data <NUM>, the proposed plan data <NUM> may be used as the first actual plan data <NUM>.

At <NUM> control data <NUM> is determined based on the first actual plan data <NUM>. For example, the satellite mission control system <NUM> may use the actual plan data <NUM> to determine the control data <NUM> that comprises one or more commands to operate the satellite <NUM>.

At <NUM> the satellite <NUM> is operated based on the control data <NUM>. For example, the satellite mission control system <NUM> may send the control data <NUM> to the satellite <NUM> for execution.

Returning to <NUM>, if the proposed plan data <NUM> is indicative of a maneuver, at <NUM> the proposed plan data <NUM> or a portion thereof is sent to the external SSA system <NUM>. For example, information about the proposed maneuver and predicted ephemeris data <NUM> associated with the completion of the proposed maneuver may be sent to the SSA system <NUM>. The SSA system <NUM> may process the information and determine if the proposed maneuver would result in an adverse outcome such as a possible conjunction event, possible interference event, and so forth. The SSA system <NUM> may provide response data indicative of this determination to the CMS <NUM>.

At <NUM> if the response data indicates no conflict, the process proceeds to <NUM>. If the response data from the SSA system <NUM> indicates a possible adverse outcome, the process proceeds to <NUM>.

At <NUM> second proposed plan data <NUM> is determined based at least in part on the response data. For example, if the response data indicates a possible conjunction event, the second proposed plan data <NUM> may be determined that indicates a different maneuver to avoid the adverse outcome.

In some implementations a determination to proceed with using the proposed plan data <NUM> without waiting for the response data may be made. For example, a maneuver may require some amount of time to perform and may need to be performed at a particular time. If no response is received from the SSA system <NUM> before the command to execute the maneuver is due to be initiated, the system may proceed from <NUM> to <NUM>.

<FIG> illustrates at <NUM> an object entering a volume associated with operation of a payload of a first satellite <NUM> and a mitigating action, according to some implementations. The service provided by the payload of the satellite <NUM> may involve transmitting a radio signal, receiving a radio signal, operating one or more sensors to acquire remote sensing data, and so forth.

In this illustration, the Earth <NUM> is shown, with a first satellite <NUM>(<NUM>) and a second satellite <NUM>(<NUM>) shown in orbit <NUM>. Each satellite <NUM> has an associated volume <NUM> of space that is associated with the respective payload. For example, a first volume <NUM>(<NUM>) of space may represent a solid angle that includes a first radio signal generated by a radio transmitter and emitted by an antenna <NUM> in a first payload of the first satellite <NUM>(<NUM>) while a second volume <NUM>(<NUM>) of space is representative of a second radio signal from a second payload of the second satellite <NUM>(<NUM>).

As shown here, an object <NUM> is predicted to be within the first volume <NUM>(<NUM>) at time T=<NUM>. Due to the different relative position of the second satellite <NUM>(<NUM>) in this illustration, the second volume <NUM>(<NUM>) does not include the object <NUM>. The object <NUM> may include another satellite <NUM> in the constellation <NUM>, other satellite <NUM>, debris, and so forth.

In some implementations, the FDS <NUM> may determine the predicted locations of the satellites <NUM>, objects <NUM>, orientation of the volumes <NUM> associated with the payloads of the satellites <NUM>, and so forth.

Operation of a payload may be modified based on the presence of an object <NUM> within the volume <NUM>(<NUM>). For example, if the payload is a synthetic aperture radar, the presence of the object <NUM> may occlude and otherwise interfere with acquiring data about features on the Earth <NUM>. In another example, if the payload is a radio transmitter and the object <NUM> includes a radio receiver at or near the same frequency, output from the radio transmitter could overload the radio receiver of the object <NUM>.

The FDS <NUM> may generate interference mitigation data <NUM>. For example, the interference mitigation data <NUM> may indicate the volume <NUM> includes an object <NUM> that could affect the payload of the satellite <NUM>, or that the volume <NUM> includes an object <NUM> that could be affected by the payload of the satellite <NUM>. Continuing the example, the interference mitigation data <NUM> may indicate that at time T=<NUM>, the first satellite <NUM>(<NUM>) will have the object <NUM> within the first volume <NUM>(<NUM>) while the second satellite <NUM>(<NUM>) has no object <NUM> within the second volume <NUM>(<NUM>).

Based at least in part on the interference mitigation data <NUM>, the system <NUM> may mitigate potential interference involving the object <NUM>. For example, the first payload, or a portion thereof, of the first satellite <NUM>(<NUM>) may be deactivated at time T=<NUM> and instead, the second payload of the second satellite <NUM>(<NUM>) at time T=<NUM> may be used to provide service to the particular location on the Earth <NUM>, as shown at actual T=<NUM> in the illustration. Continuing the example, the network management system <NUM> may use the interference mitigation data <NUM> provided by the FDS <NUM> to determine which satellite <NUM> will provide service to a particular location on the Earth <NUM>.

Interference mitigation may include other activities as well. For example, the payload may be operated to use a third volume <NUM> that is predicted to not include the object <NUM>. In another example, the first satellite <NUM>(<NUM>) may be reoriented so the first volume <NUM>(<NUM>) no longer includes the object <NUM>.

<FIG> is a flow diagram <NUM> of a process of operating a satellite <NUM> based on a determination that an object <NUM> is within a volume <NUM> associated with operation of a payload, according to some implementations.

At <NUM>, based on first predicted ephemeris data <NUM> that is associated with a first time, a location and orientation of a first satellite <NUM>(<NUM>) in a constellation <NUM> at the first time is determined. For example, the FDS <NUM> may determine a location and orientation of the first satellite <NUM>(<NUM>) at time t=<NUM> in the future.

At <NUM> a first volume <NUM>(<NUM>) of space that is associated with operation of a payload of the first satellite <NUM>(<NUM>) at the first time is determined. For example, a solid angle may be determined that is associated with an antenna radiation pattern from the antennas <NUM> onboard the first satellite <NUM>(<NUM>).

At <NUM>, a first object <NUM> is predicted to be within the first volume <NUM>(<NUM>) at the first time. For example, the location of the first object <NUM> may be determined by the FDS <NUM> based on the SSA data <NUM> received from the SSA system(s) <NUM>.

At <NUM> first data to control the payload of the first satellite <NUM>(<NUM>) is determined. For example, the plan generation system <NUM> may generate actual plan data <NUM>. The satellite mission control system <NUM> may use the actual plan data <NUM> to determine control data <NUM>.

At <NUM> the first data is sent to the first satellite <NUM>(<NUM>). For example, the control data <NUM> may be transmitted to the first satellite <NUM>(<NUM>) by a ground station <NUM>.

At <NUM> the first satellite <NUM>(<NUM>) is operated based on the first data. For example, the first satellite <NUM>(<NUM>) may execute the control data <NUM>.

Times, intervals, durations, and the like as used in this disclosure may be specified with respect to actual clock time, system time, system timing references, discrete timeslots, interval indicators, and so forth. For example, time ticks may be specified relative to an epoch that resets at <NUM>-minute intervals. In another example, actual clock time obtained from the Global Position System or other precision timing system may be used.

The processes and methods discussed in this disclosure may be implemented in hardware, software, or a combination thereof. In the context of software, the described operations represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by one or more hardware processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. Those having ordinary skill in the art will readily recognize that certain steps or operations illustrated in the figures above may be eliminated, combined, or performed in an alternate order as long as this falls within the scope of the claims. Any steps or operations may be performed serially or in parallel. Furthermore, the order in which the operations are described is not intended to be construed as a limitation.

Embodiments may be provided as a software program or computer program product including a non-transitory computer-readable storage medium having stored thereon instructions (in compressed or uncompressed form) that may be used to program a computer (or other electronic device) to perform processes or methods described herein. The computer-readable storage medium may be one or more of an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium, and so forth. For example, the computer-readable storage medium may include, but is not limited to, hard drives, optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), flash memory, magnetic or optical cards, solid-state memory devices, or other types of physical media suitable for storing electronic instructions. Further embodiments may also be provided as a computer program product including a transitory machine-readable signal (in compressed or uncompressed form). Examples of transitory machine-readable signals, whether modulated using a carrier or unmodulated, include, but are not limited to, signals that a computer system or machine hosting or running a computer program can be configured to access, including signals transferred by one or more networks. For example, the transitory machine-readable signal may comprise transmission of software by the Internet.

Separate instances of these programs can be executed on or distributed across any number of separate computer systems. Thus, although certain steps have been described as being performed by certain devices, software programs, processes, or entities, this need not be the case, and a variety of alternative implementations will be understood by those having ordinary skill in the art.

Claim 1:
A system (<NUM>) comprising:
a constellation of artificial satellites (<NUM>) orbiting a first body (<NUM>), the constellation of artificial satellites comprising a first satellite (<NUM>(<NUM>)); and a computer system configured to:
receive first data indicative of ephemeris of objects orbiting the first body (<NUM>); receive second data indicative of space weather;
receive third data indicative of status of one or more global navigation satellite systems;
receive fourth data indicative of telemetry from at least the first satellite;
determine, based on one or more of the first data, the second data, the third data, and the fourth data, fifth data indicative of ephemeris of the first satellite;
determine, based at least in part on the fifth data, a first volume of space (<NUM>(<NUM>)) associated with operation of a payload of the first satellite at a first time;
determine a first event, based at least in part on the first data, that a first object (<NUM>) is predicted to be within the first volume at the first time, wherein the first event is associated with the first object being predicted to be within the first volume at the first time;
determine, responsive to the first event and based at least in part on the fifth data, first plan data;
determine sixth data indicative of one or more commands associated with the first plan data; and
send the sixth data to the first satellite, wherein the first satellite executes the one or more commands;
wherein the sixth data is indicative of one or more commands to one or more of:
operate the payload to use a second volume of space (<NUM>(<NUM>)); wherein the first object (<NUM>) is not predicted to be in the second volume,
reorient the first satellite, or
deactivate at least a portion of the payload of the first satellite while the first object is predicted to be within the first volume.