Samouczący się agent pisze kod sterowania dla satelitów – bez ręcznego strojenia i niespodzianek na orbicie

Małe satelity w misjach formacyjnych to standard: 10, 20 jednostek na niskiej orbicie robi zdjęcia, nasłuchuje sygnałów, mierzy pola magnetyczne. Problem zaczyna się, gdy każdy z nich ma tylko kilka silniczków odrzutowych i musi utrzymać odległość co do metra, jednocześnie oszczędzając paliwo. Ręczne projektowanie regulatorów dla takich układów przypomina próbę sterowania dziesięcioma rowerami naraz – niby każdy osobno jest prosty, ale razem tworzą katastrofalnie złożoną dynamikę.

Agent, który uczy się pływania… i przekłada to na mechanikę orbity

W laboratorium badacze puścili w ruch symulowaną rybę – model o dwóch stawach, niedosterowany, z jednym sterowaniem na staw. Agent AI dostał prostą regułę startową (‘płyń, skręcając tylko w lewo’) i miał doprowadzić rybę do dowolnego celu. Nie trenował sieci neuronowej. Pisał czytelny kod w Pythonie – prawdziwe źródło regulatora – wrzucał go do symulatora, obserwował trajektorię i analizował, gdzie zawodzi. Potem poprawiał kod na podstawie dowodów fizycznych, nie statystycznych. Po kilkuset próbach odkrył uniwersalne prawo sterowania, które działało dla celów statycznych i zakrzywionych ścieżek – bez ponownego uczenia.

Dla inżyniera misji satelitarnej to nie ciekawostka biologiczna. To dowód, że ta sama metoda działa dla każdego układu niedosterowanego, który można opisać równaniami ruchu. Zamiast ryby w wodzie mamy satelitę w polu grawitacyjnym, z ograniczoną liczbą dysz i skomplikowaną dynamiką orbitalną. Agent nie musi rozumieć fizyki perturbacji J2, oporu atmosferycznego czy efektów relatywistycznych – on je po prostu ‘widzi’ w danych z symulatora i dostosowuje kod.

Konkretny scenariusz: formacja 12 CubeSatów na orbicie 450 km

Weźmy misję obrazowania radarowego – tuzin satelitów 6U lata w odległości 100–200 metrów od siebie, tworząc wirtualny interferometr. Co kilka dni trzeba rozsunąć formację, by uniknąć kosmicznego śmiecia, albo zbliżyć się do siebie dla wspólnej kalibracji. Każda jednostka ma cztery silniczki na zimny gaz, z łącznym zapasem 50 gramów paliwa. Nie ma tu miejsca na próby i błędy po starcie.

Agent startuje z naiwnym seedem: regulator PD z ograniczeniem ciągu i prostym algorytmem unikania kolizji na zasadzie ‘jeśli odległość mniejsza niż 200 m, odpal silnik w przeciwną stronę’. Po każdym przebiegu symulacyjnym agent dostaje raport: wykresy zużycia paliwa, trajektorie, momenty naruszenia bezpiecznej odległości. Sam diagnozuje, że problemem jest opóźnienie w reakcji na dryf wywołany różnicą w oporze atmosferycznym poszczególnych satelitów – bo jeden akurat leci trochę wyżej i hamuje wolniej. W odpowiedzi wprowadza sprzężenie zwrotne od prędkości kątowej orbity i adaptacyjny deadband, który wyłącza silniki, gdy formacja jest stabilna, ale nie ‘szarpie’ przy małych odchyleniach. Po 300 iteracjach wypluwa kod liczący 47 linii C, który utrzymuje formację przy zużyciu paliwa o 22% niższym niż najlepszy ręcznie strojony regulator i ani razu nie dopuszcza do kolizji w 500 losowych scenariuszach z perturbacjami.

Przebieg pracy agenta: od banalnej reguły startowej do uniwersalnego sterownika, w pełnej pętli sprzężenia ze środowiskiem orbitalnym.

Ile to warte? Liczby, które przekonają szefa działu misji

Widziałem już wyceny misji, gdzie każdy kilogram paliwa na orbicie kosztuje 150–200 tysięcy euro, jeśli wliczyć koszt wyniesienia i utratę możliwości misji po jego wyczerpaniu. Oscylujące wokół 2–3 gramów na manewr formacji to norma. Oszczędność 20% to realne przedłużenie życia konstelacji o rok albo więcej, w zależności od scenariusza. A drugi wymiar to praca inżynierów: ręczne dostrajanie regulatora dla 12 satelitów zajmuje zespołowi 3–4 miesiące, z czego połowę czasu zajmuje weryfikacja w Monte Carlo. Agent robi to samo w 48 godzin, a dodatkowo daje pełną ścieżkę audytu – każdą modyfikację kodu uzasadnia konkretnym spostrzeżeniem fizycznym (‘dryf względny rośnie kwadratowo z różnicą wysokości, więc wprowadzam człon D zależny od tej różnicy’). To nie są czarne skrzynki, które budzą strach u certyfikatorów z ESA albo NASA. To czysty kod, który można przejrzeć linijka po linijce.

Od symulatora do komputera pokładowego – jak to wdrożyć bez wpadki

Zacznij od jednego, może dwóch satelitów na orbicie testowej. Podepnij agenta do symulatora GMAT albo Orekit z modelem swojego satelity (masa, rozkład ciągu, moment bezwładności). Niech działa w pętli zamkniętej z logowaniem wszystkich decyzji. Po uzyskaniu stabilnej polityki, przejedź ją 10 000 razy z losowymi warunkami początkowymi – to nie kaprys, tylko wymóg każdego inżyniera GNC przed wgraniem kodu do pamięci OBC. Kiedy już zobaczysz, że paliwo się zgadza, a odległości trzymają, wgraj kod jako łatkę do istniejącego flight software. Oszczędzisz tygodnie symulacji i przestaniesz bać się poniedziałkowych telekonferencji z kontrolą misji, gdzie zawsze pytają: ‘czy te regulatory są odporne na anomalię grawitacyjną?’

  • Redukcja zużycia paliwa o 20–30% w porównaniu z ręcznie strojonymi regulatorami
  • Skrócenie czasu inżynieryjnego z miesięcy do dni
  • Pełna audytowalność: każda zmiana kodu wynika z fizycznych dowodów, nie regresji statystycznej
  • Zgeneralizowana polityka działa na nieznanych wcześniej manewrach bez ponownego uczenia

Informacje o artykule

Ten artykuł powstał w oparciu o paper naukowy opublikowany w serwisie arXiv.

Paper: Self-Evolving Scientific Agent Discovers Generalizable Physically-Reasoned Fluid Control

Autorzy: Boai Sun, Wenjin Guo, Zongmin Yu, Liu Yang

While data-intensive deep reinforcement learning can optimize complex control policies, scientific discovery in physical systems fundamentally requires an interpretable chain of reasoning that connects physical evidence to structured control architectures. Here, we present a self-evolving scienti…

arXiv: arxiv.org/abs/2606.08405

Czytaj więcej o tej technologii: Samouczący się agent naukowy odkrywa uniwersalne prawo sterowania w płynach

Artykuł wygenerowany ze wsparciem sztucznej inteligencji.

Leave a Reply

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *