Home · ASPLOS 2024 · Mobile, Edge & Embedded

EagleEye: Nanosatellite constellation design for high-coverage, high-resolution sensing

Zhuo Cheng, Bradley Denby, Kyle McCleary and Brandon Lucia

Conference
ASPLOS 2024
Published
2024
Pages
117-132
Citations
10

A camera in orbit can see a wide strip of ground coarsely or a narrow strip finely, never both, so anyone building a satellite constellation to watch for ships or algae blooms has to pick — and picking narrow means even 40 satellites catch only 41% of the targets; EagleEye (Carnegie Mellon) breaks the tie by making the constellation heterogeneous, putting a wide low-resolution camera on a leader satellite that runs object detection onboard and radios pointing commands to sharper-eyed followers trailing 100 km behind, which then have about fifteen seconds to be told where to look, swivel, and shoot.

The argument in one glance

  1. Problem

    A satellite camera can be wide or sharp, and applications need both

    Cheap nanosatellites and cheap launches have made it practical to put dozens of Earth-observing cameras in low orbit, watching for illegal fishing, oil spills, algae blooms and aircraft. But those applications need to find targets scattered across the planet, which wants a wide field of view, and then say something useful about each one, which wants fine detail. With a fixed sensor these are the same knob: widen the view and every pixel covers more ground. The paper measures the consequence — a camera seeing a 100 km strip needs only 20 satellites to catch every target but at a resolution nobody can use, while a 10 km strip gives usable images and even 40 satellites catch only 41%.

  2. What people did

    Build a constellation of identical satellites and pick a side

    The deployed answer is a homogeneous constellation. Choose your camera, launch many copies, and accept the consequences of the choice. Recent research has improved what those satellites can do with the data once captured, putting real compute onboard so a satellite can process its own imagery rather than downlinking everything, and using model specialisation and tiling to make a single satellite cover its whole ground track.

  3. Why it fell short

    Identical satellites inherit the trade-off, and a human in the loop rules out anything that moves

    Making every satellite the same means the constellation has exactly the sensor properties of one satellite, multiplied. No amount of onboard compute changes what the camera can see. Separately, almost all satellites today operate with no autonomy: an operator on the ground identifies targets and sends pointing commands, which makes reacting to something impossible. The existing workaround, using a wide-camera satellite from one mission to cue a sharp-camera satellite from another, involves different orbits and roughly twelve hours between spotting a target and photographing it — useless for a ship.

  4. This paper's idea

    Make the constellation heterogeneous and let a leader tell followers where to look

    EagleEye splits the roles. A leader satellite carries the wide, coarse camera and enough compute to run object detection on every frame it captures. Followers trail it in the same orbit, about 100 km behind, carrying narrow, sharp cameras. The leader identifies targets in its own imagery, clusters ones close enough to share a photograph, computes a pointing schedule that respects how fast a small satellite can actually swivel, and crosslinks each follower its assignment. The constellation as a whole has the coverage of the wide camera and the resolution of the narrow one, and the trailing distance exists precisely to give the leader time to think.

Why this problem is worth solving

The constraint at the centre of this is optical and not negotiable.

How much ground a single pixel covers, and therefore the resolution of a satellite image — tens of centimetres for a sharp camera, tens of kilometres for a coarse one. It is set by the camera focal length and the orbit altitude, and it trades directly against swath width, the width of the strip of ground the camera sees. With a fixed number of pixels in the sensor, a wider strip means each pixel covers more ground. The paper shows nine real nanosatellite cameras arranged along exactly this curve, with none escaping it.
is why the choice cannot be engineered away on a single satellite, and why a constellation of identical satellites inherits the choice.

What makes an alternative newly possible is that satellites can now think.

Running real computation on the satellite instead of downlinking raw imagery for processing on the ground. It became practical when commodity mobile compute modules turned out to be deployable in a cubesat, and it matters because the link to the ground is narrow and intermittent — a satellite in this paper’s configuration gets about six minutes of downlink per orbit. Once a satellite can decide for itself what it is looking at, it can also decide what another satellite should look at, which is what turns a group of satellites into a system rather than a collection.
is the enabling shift, and this paper is about what you can build once you have it.

What people did before, and where it broke

  • Deploy a homogeneous constellation and accept the camera you chose. This is essentially all of current practice, and it is simple to build, launch and operate. Where it broke. The constellation has one satellite’s optical properties, replicated. The measurement is stark: 20 satellites with a 100 km strip catch everything at unusable resolution, while 40 satellites with a 10 km strip catch 41%.
  • Improve what a satellite does with the data it has. Prior work from the same group put compute in orbit, split frames into tiles processed in parallel across satellites, and used specialised models and tile skipping to let one satellite cover its whole ground track. Where it broke. These are genuine advances in processing throughput and they do nothing about what the camera can see. The paper positions them as necessary groundwork rather than a solution to this problem.
  • Cue a sharp satellite from a wide one across missions. An existing operational pattern uses a coarse camera on one mission to spot something and a fine camera on another to photograph it. Where it broke. Three ways. It requires operators from different organisations to share sensing and compute, which is an economic and regulatory problem before it is a technical one. The satellites are in different orbits, so roughly twelve hours pass between detection and imaging — fine for an oil tank, useless for a ship. And there is no autonomy: the first satellite downlinks to Earth, the ground relays a command to the second.
  • Put both satellites in one orbit and schedule onboard. A prior system does exactly this with a two-satellite cluster, which removes the sharing and delay problems. Where it broke. Its custom branch-and-bound scheduler takes more than 15 seconds to schedule 19 targets, which misses the frame deadline; it ignores satellite energy entirely; it is evaluated over a region rather than the planet; and it considers only a single follower.
  • Put both cameras on the same satellite. The obvious way to maximise the number of independent groups. Where it broke. The satellite must capture, process, point, shoot and point back within one frame period, and by the time computation finishes it has flown past the target — with the largest model tested, coverage falls to zero. A cubesat also has very little room, and a sharp camera needs a long focal length.
  • The gap. Nobody had asked what a constellation should look like if the satellites are allowed to be different from each other and to talk to each other, which is a question that only became askable once satellites could compute.

How EagleEye turns one frame into a pointing schedule

From a wide coarse image to sharp photographs of what was in it

  1. new

  2. new

  3. new

  4. new

  5. new

The trailing distance is the design margin: it is what gives the leader time to detect, cluster and schedule before the follower arrives over the target.

The idea

A trade-off that binds one satellite need not bind a constellation. This is the whole move, and it is worth stating plainly because it is easy to skate past. Coverage against resolution is a property of a camera, and no amount of cleverness on a single satellite escapes it. But a constellation is a group, and there is no rule that says the group has to be uniform. Give one satellite the wide coarse camera, give others the narrow sharp one, and the group has both properties — provided the wide one can tell the sharp ones where to look, which is what onboard compute and crosslinks now make possible. The measured result is a constellation reaching high coverage at high resolution with as much as a 4.3 times reduction in the number of satellites required. Resolving a tension by making the population heterogeneous rather than optimising the individual is the same instinct as the serverless warm-up work covered elsewhere on this site, which found that a mix of unequal resources beat any uniform choice.

The leader is a cheap wide filter in front of an expensive narrow one. Structurally this is a cascade: run something coarse over everything, and spend the expensive resource only where the coarse pass found something. What makes it work here rather than merely sound appealing is a specific empirical fact the paper establishes early — coarse imagery is good enough to find an oil tank and not good enough to estimate how full it is. Detection survives the resolution loss; measurement does not. That asymmetry is what licenses the split, and it also explains where the design will fail: if targets were so dense that everything is worth photographing, pointing at them individually costs more time than it saves, which the paper duly measures. Spending a cheap common-case check to decide where to spend an expensive one is the same structure as the better-than-worst-case decoding work covered elsewhere on this site.

The schedule has to respect physics, and it has to be computed in fifteen seconds. This is where the systems work lives. A follower cannot point instantly — it turns at a few degrees per second with acceleration overhead — and each target is only viewable while the angle from straight down stays under about eleven degrees, after which the image is too distorted to use. So the scheduler is an integer program in which the distance between two targets is the time to rotate between them and every target carries a time window. The hard constraint is that the leader must finish detection, clustering and scheduling before the next entirely new frame arrives, which at this altitude and swath is about fifteen seconds. The prior system solving this problem took over fifteen seconds for nineteen targets, and up to 32% of frames contain more than nineteen; this one takes about a millisecond. Fitting a real optimisation inside a hard deadline on a power-starved satellite is the same constraint that shaped the orbital computing work covered elsewhere on this site, from the same group.

Walking one frame through the leader

Fifteen seconds to find targets and tell three satellites where to look

A leader at 475 km altitude with a 100 km wide, 30 metre-per-pixel camera; followers with 10 km wide, 3 metre-per-pixel cameras trailing 100 km behind.

Step 1 of 5

Capture a frame and start the clock

At this altitude and swath, an entirely new patch of ground appears roughly every fifteen seconds. Everything that follows — detection, clustering, scheduling, crosslinking — has to finish before then, or the leader falls behind and loses coverage of its own ground track.

Energy is the other budget. A cubesat harvests a limited amount per orbit through its solar panels, and the paper measures that the available energy supports about twice the baseline tiling factor. Push to four times and the leader hits the same wall the baselines do, where compute energy alone prevents covering the full ground track.

Why it works

  • Heterogeneity buys a property no single camera has. Coverage against resolution is fixed by optics for one sensor → assigning the two ends of the trade to different satellites in the same orbit gives the group both → as much as a 4.3 times reduction in the constellation size needed for high coverage at high resolution.
  • Detection survives resolution loss where measurement does not. Coarse imagery correctly finds oil tanks but cannot estimate their fill level → so the coarse camera can be trusted to decide where to look without being trusted to produce the answer → the expensive narrow sensor is spent only on ground already known to contain something.
  • Trailing distance converts compute time into free time. The follower is 100 km behind and has not reached the target yet → the leader can spend seconds detecting and scheduling without anything being missed → the same computation on a single satellite carrying both cameras means flying past the target, measured down to zero coverage with a large model.
  • Modelling rotation as distance makes the schedule a known problem. Pointing takes time proportional to angle, and each target is viewable only within a window → treating rotation time as the distance between cities turns this into a travelling salesman problem with several salesmen and deadlines → an off-the-shelf integer programming solver handles it in about a millisecond.
  • Clustering matters most exactly where scheduling is hardest. A sharp image still covers 10 km, so nearby targets can share one → packing them cuts the number of pointing actions a follower must make → worth up to 31.7% more coverage, concentrated in the high-density cases where follower time is the binding constraint.

What it costs (trade-offs and scope)

  • No single application has both the location data and the imagery. The paper is upfront: labelled Earth-observation datasets are hard to get, and it used what was available. Ship detection combines ship positions from one source with imagery from another, downsampled, and the position data does not model movement so it is evaluated as a snapshot. Airplane tracking has locations and no usable imagery. Lake monitoring has locations and no imagery, so machine learning is not evaluated on it at all. Oil tanks have imagery and no geographic distribution, so they cannot be used for scheduling at all.
  • The oil tank accuracy result rests on an assumption. The dataset has no ground truth for fill level, so high-resolution estimates are assumed to be perfectly accurate, justified by a prior study reaching 97.2% with a similar method.
  • The design can be worse than the baseline it replaces. On the densest workload with a slow one-degree-per-second pointing system, EagleEye covers fewer targets than a plain high-resolution constellation — because when targets are dense enough, simply pointing straight down catches them and swivelling costs more time than it gains.
  • More followers is sometimes worse. At low target density one follower beats three, since a single follower already captures everything its leader finds. For a fixed satellite budget the right move is usually more groups rather than bigger ones, which is a useful finding and cuts against the intuitive reading of the design.
  • The integer program beats a greedy heuristic by 4.3% to 14.4%. That is a real gain and a modest one. The stronger argument for it is runtime — it stays around a millisecond as targets grow, where the prior approach blew the frame budget — rather than solution quality against a simple alternative.
  • Only recall is studied, not precision. False negatives are modelled by randomly dropping targets. The effect of false positives, which waste follower time and energy on empty ground, is explicitly deferred because locating them would require running the model over imagery the datasets do not provide.
  • Energy is tight and the headroom is small. The harvestable energy per orbit supports roughly twice the baseline tiling factor; at four times, the leader hits the same energy wall as the baselines and cannot cover its full ground track.
  • Everything is simulated, in one orbit, over 24 hours. The evaluation uses an orbital computing simulator from prior work with real orbital elements, but no hardware flew. All satellites share a single orbital plane because extra planes cost extra launches, and improving coverage by distributing across planes is named as future work.
  • Failure handling is described but not evaluated. If a leader dies its followers fall back to pointing straight down or get reassigned; if a follower dies the leader schedules around it. Neither is measured.

The evaluation

Four ways to build an Earth-observation constellation

PropertyHomogeneous wide cameraHomogeneous narrow cameraEagleEye leader-follower
Coverage against constellation size
Resolution of the delivered images
AutonomySame
Scheduling cost inside the frame deadlineNot applicableNot applicable
Where it goes wrongDelivers nothing usableMisses most targets
Simulated over 24 hours in a single polar orbit at 475 km, across ship detection, airplane tracking, two lake-monitoring scales, and oil tank volume estimation.Underlined values explain themselves when clicked.

Check yourself

Check your understanding

  1. 1. Why can a homogeneous constellation not achieve both high coverage and high resolution?

  2. 2. Why must the sharp-camera satellites trail behind the wide-camera one rather than sharing a satellite with it?

  3. 3. How is the follower pointing schedule formulated, and why does the formulation matter?

  4. 4. Under what conditions does EagleEye perform worse than the homogeneous narrow-camera constellation it is meant to beat?

Sources

The paper is “EagleEye: Nanosatellite constellation design for high-coverage, high-resolution sensing” by Zhuo Cheng, Bradley Denby, Kyle McCleary and Brandon Lucia, published at ASPLOS 2024 Volume 1, pages 117-132, DOI 10.1145/3617232.3624851. All authors are at Carnegie Mellon University.

This explainer is written from the full text, read through a proxy of the ACM Digital Library copy. Everything above comes from the paper’s own sections 2 through 6: the survey of nanosatellite constellation organisation and today’s human-in-the-loop operating model; the oil tank experiment establishing that coarse imagery supports detection but not volume estimation; the plot of nine real cubesat cameras along the resolution-against-swath curve, and the measurement that 20 satellites at 100 km swath catch every target while 40 at 10 km catch 41%; the critique of cross-mission cueing with its roughly twelve-hour delay and of the prior two-satellite cluster with its branch-and-bound scheduler exceeding 15 seconds at 19 targets; the leader-follower organisation with its crosslink query of follower position and attitude; the frame tiling and scaling approach inherited from prior orbital edge computing work; the target clustering formulated as a planar point cover integer program solving in about a millisecond for 500 targets; the actuation time and time window derivations with an eleven degree maximum off-nadir angle, three degrees per second slew and 0.67 second acceleration overhead; the scheduling integer program as a generalised multiple travelling salesman problem; the analysis of why a single satellite carrying both cameras fails on timing; the lookahead distance calculation giving 500 km for ships and 28 km for aircraft; the four datasets with their explicitly stated gaps in location or imagery data; the satellite parameters at 475 km altitude with 100 km and 10 km swaths at 30 and 3 metres per pixel; the results showing 11% to 194% coverage improvement, 4.3% to 14.4% for the integer program over greedy, 1.5% to 31.7% from clustering, the slew rate sensitivity including the case where EagleEye loses, the follower count inversion at low density, the recall study, and the energy analysis showing roughly twice tiling supported.

Related papers on Mobile, Edge & Embedded

See all 111 →