Octocopter wykorzystuje osiem wirników do wytwarzania ciągu i momentów. Może mieć osiem oddzielnych ramion albo cztery ramiona z parami współosiowymi X8. Dodatkowe aktory dają control allocatorowi większą przestrzeń rozwiązań niż w quadzie i hexie, ale nie tworzą bezwarunkowej odporności. Awaria silnika, ESC lub śmigła jest tolerowana tylko wtedy, gdy pozostała geometria zachowuje sterowalność, napędy mają zapas, awaria została rozpoznana, a zasilanie i rama nie są wspólnym punktem uszkodzenia.[4][5]

Octocopter jest zwykle wybierany dla ciężkiego payloadu, platform kamerowych, pomiarów i zadań wymagających kontrolowanego lądowania po wybranej awarii. Ceną są: masa, koszt, prąd, obrys, hałas, osiem torów serwisowych i bardziej złożona walidacja. Liczba wirników nie zastępuje FMEA.

Spis treści#

Geometrie#

Firmware może wspierać Octa X, Octa Plus, Octa V, X8 i warianty niestandardowe. Te nazwy definiują pozycje wirników i kierunki obrotu, nie tylko kształt ramy. Przed okablowaniem trzeba użyć oficjalnego diagramu bieżącej wersji.[1][3]

Płaski octocopter ma osiem tarcz w jednej płaszczyźnie. W X8 cztery pary dzielą osie. Istnieją też ramy z pochyleniem wirników, ale wówczas effectiveness matrix ma składowe poziome i wymaga indywidualnego modelu.

Wybór geometrii wpływa na:

  • obrys i transport;
  • sumę pól tarcz;
  • interferencję;
  • momenty roll/pitch;
  • yaw authority;
  • przypadki utraty wirników;
  • liczbę ramion i połączeń;
  • widok payloadu.

Nie ma geometrii najlepszej bez mission profile. Płaski octa zwykle wygrywa sprawnością, X8 kompaktowością i łatwiejszym transportem.

Płaski Octa#

Osiem ramion może być rozmieszczonych co 45°. Każdy wirnik ma własny, niezakłócony w pierwszym przybliżeniu dysk. Duży promień daje duże ramiona momentu, więc małe różnice ciągu wytwarzają roll/pitch.

Wady:

  • szeroki obrys;
  • długie przewody;
  • duża płyta centralna;
  • więcej połączeń składanych;
  • trudny transport;
  • ramiona mogą zasłaniać sensor lub obraz.

Duży moment bezwładności ciężkiej platformy zmniejsza przyspieszenie kątowe dla danego momentu:

α = τ / I

Nie można przenieść PID z małego quada tylko przez zmianę liczby motorów. Rama i payload mają inną dynamikę.

Po utracie jednego wirnika pozostałe siedem jest rozmieszczonych nierównomiernie. Control allocation musi skompensować moment, nie tylko dodać 1/7 ciągu każdemu.

X8 coaxial#

X8 ma cztery ramiona jak quad, lecz górny i dolny napęd na każdym ramieniu. W typowej parze kierunki są przeciwne. Model geometryczny może wyglądać jak quad z podwojoną liczbą aktorów, ale aerodynamicznie napędy nie są niezależne.

Zalety:

  • kompaktowy obrys;
  • cztery ramiona;
  • możliwość kontynuowania po awarii jednego wirnika w parze;
  • prostsza logistyka niż osiem ramion;
  • centralne miejsce dla payloadu.

Wady:

  • interferencja coaxial;
  • dolne śmigła narażone na FOD;
  • większe obciążenie jednego ramienia;
  • utrata całego ramienia usuwa dwa aktory;
  • wspólne prowadzenie przewodów pary;
  • trudniejszy dostęp serwisowy.

W X8 nie wolno modelować górnego i dolnego jako identycznych kT. Stanowisko zwykle pokazuje różny ciąg i pobór. Allocator może wymagać osobnych współczynników.

Model sił i momentów#

Dla wirnika i:

T_i = k_T,i Ω_i²

Q_i = s_i k_Q,i Ω_i²

Moment:

τ_i = r_i × F_i + Q_i e_z

Wektor sterowania:

u = [τ_x, τ_y, τ_z, F_z]ᵀ

i osiem poleceń:

f = [T_1 ... T_8]ᵀ

Relacja:

u = B f

W zwykłym multirotorze osiem nieujemnych ciągów steruje czterema wielkościami. Cztery wymiary nadmiaru są użyteczne, ale ograniczenia 0 ≤ f_i ≤ max zmniejszają rzeczywistą swobodę.

Moc wirnika rośnie w przybliżeniu jak sześcian RPM. Rozwiązanie minimalizujące sumę ciągów nie musi minimalizować energii. Ponadto praca blisko maksimum zmniejsza zapas dynamiczny.

Macierz 4 na 8#

Macierz B ∈ R^(4×8) zawiera osiem kolumn effectiveness. Dla symetrycznej ramy ma pełny rząd 4 w nominalnym stanie. Po awarii jednej kolumny pozostaje macierz 4×7, często nadal pełnego rzędu. Po dwóch awariach wynik zależy od pary.

Pełny rząd jest konieczny, ale niewystarczający. Należy rozwiązać problem ograniczony dla całej obwiedni żądań. Może istnieć rozwiązanie dla zawisu, ale nie dla jednoczesnego yaw i porywu.

Warto obliczać:

  • singular values macierzy;
  • condition number;
  • feasible wrench set;
  • margines do saturacji;
  • wymagany ciąg per rotor;
  • wrażliwość na błąd kT.

Dla X8 kolumny pary mają ten sam x,y i przeciwny znak yaw. To daje inną strukturę niż osiem pozycji płaskich.

Null space i optymalizacja#

Jeśli n = 8 i sterujemy czterema osiami, null space ma nominalnie wymiar cztery. Można dodać:

f = B⁺u + N z

gdzie kolumny N rozpinają null space, a z optymalizuje cel bez zmiany wypadkowego wrench.

Cele:

  • minimalizacja mocy;
  • wyrównanie marginesu do maksimum;
  • ograniczenie gorącego ESC;
  • zbalansowanie par X8;
  • zmniejszenie noise;
  • przygotowanie do znanej degradacji.

Nie optymalizuje się kosztem bezpieczeństwa. Algorytm zbyt agresywnie odciążający część motorów może pogorszyć dynamic control effectiveness. Badania NASA wskazują, że zmiana trim RPM wpływa na handling qualities i moc nieliniowo.[5]

Allocator musi działać w stałym czasie. Złożony solver bez boundu nie jest odpowiedni dla krytycznej pętli.

Zapas ciągu#

Dla ośmiu identycznych napędów:

T_hover = mg/8

Po utracie jednego idealny stosunek maksimum:

R_7 = (7/8) R_8

Po dwóch:

R_6 = (6/8) R_8 = 0,75 R_8

Jeśli nominalne R_8 = 2, suma maksymalna po dwóch wynosi około 1,5 ciężaru. Nadal trzeba wygenerować momenty, więc użyteczny margines jest mniejszy.

Nie projektuje się na podstawie samego maksimum. Dla najgorszej wysokości, temperatury, napięcia i zużycia powinna istnieć rezerwa na lądowanie po zdefiniowanej awarii.

Ciężki statek często ma mniejszy thrust margin, bo większa bateria zwiększa masę. NASA pokazuje, że duże koncepty mogą mieć ograniczony margines mocy mimo wielu rotorów.[5]

Awaria jednego wirnika#

Jedna awaria jest nominalnym przypadkiem, który octocopter może tolerować, ale scenariusze różnią się:

  • clean stop;
  • loss of propeller;
  • partial thrust;
  • stuck-high;
  • drag z zablokowanego śmigła;
  • uszkodzenie ramienia;
  • błędna telemetry.

Po detekcji allocator wyłącza/uszczelnia kolumnę i ponownie rozdziela. Gdy awaria nie jest identyfikowana, regulator może nadal próbować sterować uszkodzonym wyjściem, a pozostałe kompensują dopiero przez feedback.

Cel operacyjny powinien zmienić się na bezpieczne lądowanie. Zapas na dalszą misję nie jest równoważny certyfikowanej tolerancji.

Operator musi otrzymać komunikat z indeksem i stanem, ale nie powinien być zmuszony ręcznie miksować siedmiu silników.

Awaria dwóch wirników#

Octocopter ma sześć pozostałych aktorów, lecz nie każda para awarii jest równoważna. Możliwe są:

  • dwa sąsiednie;
  • dwa naprzeciw;
  • dwa o tym samym kierunku;
  • jeden z każdej pary X8;
  • oba na jednym ramieniu X8;
  • dwa losowe z różnym opóźnieniem detekcji.

W X8 utrata górnego i dolnego na jednym ramieniu tworzy geometrię podobną do quada bez jednego narożnika: często krytyczną. Utrata po jednym na dwóch ramionach może być łatwiejsza, zależnie od kierunków.

W płaskim octa dwie naprzeciwległe awarie mogą zachować symetrię thrust, ale yaw signs i limit momentu nadal mają znaczenie.

Nie wolno deklarować „toleruje dwie awarie” bez listy tolerowanych par i warunków. Macierz ma 28 nieuporządkowanych par dwóch wirników; każdą trzeba przeliczyć, a istotne — przetestować.

Pary krytyczne#

Automatyczna analiza może iterować:

for each failure set S:
    set max_thrust[i in S] = 0
    compute rank and singular values
    solve constrained hover + required moments
    record saturation margin

Wynik jest mapą par krytycznych. Dodatkowo sprawdza się CG, ponieważ ciężki payload przesuwa nominalne obciążenia.

Wspólne ramię, PDB branch lub CAN bus definiuje zestawy awarii o większym prawdopodobieństwie niż dwie niezależne. FMEA powinna generować scenariusze z architektury fizycznej, nie tylko kombinatoryki.

Gdy dwie awarie wystąpią kaskadowo, pierwsza podnosi obciążenie pozostałych i może przegrzać drugi słaby ESC. Test thermal soak jest częścią fault tolerance.

Detekcja usterki#

Źródła:

  • RPM telemetry;
  • current per ESC;
  • temperatura;
  • command vs RPM residual;
  • attitude/rate residual;
  • ESC status;
  • vibration.

RPM zero przy poleceniu jest silnym sygnałem, ale utrata telemetry nie jest równa utracie motoru. Prąd zero może oznaczać awarię pomiaru. Detektor powinien łączyć źródła i mieć hysteresis.

Fałszywe odłączenie sprawnego motoru może stworzyć rzeczywistą awarię. Próg musi być testowany przy gwałtownych komendach, niskim throttle i desync.

W przypadku śmigła częściowo uszkodzonego RPM może być prawidłowe, a ciąg niski. Residual dynamiki i wibracje są wtedy ważniejsze.

Common-cause failures#

Osiem napędów nie chroni przed:

  • utratą głównej baterii;
  • awarią wspólnego connectora;
  • pęknięciem center plate;
  • błędem miksera;
  • aktualizacją wszystkich ESC z wadą;
  • wodą w PDB;
  • niewłaściwymi śmigłami w całej partii;
  • błędem operatora;
  • zasłonięciem wszystkich GNSS.

Raport NASA pokazuje, że większa liczba rotorów może zwiększyć składową awarii elementów, a common cause ogranicza spodziewany zysk.[4]

Redundancja ma sens, gdy niezależność jest realna:

  • oddzielne gałęzie power;
  • fizycznie rozdzielone przewody;
  • monitoring per branch;
  • izolacja zwarcia;
  • przemyślany CAN topology;
  • niezależne regulatory awioniki;
  • mechanika przenosząca pojedyncze uszkodzenie.

Dodanie elementów izolacji również wymaga kwalifikacji, bo bezpiecznik, ideal diode i kontaktor mogą zawieść.

Sprawność płaskiego Octa#

Duża suma pól tarcz może dać niskie disk loading i dobry zawis. Jednak osiem ramion, silników i ESC zwiększa masę własną. Porównanie musi utrzymać:

  • MTOW;
  • payload;
  • total disk area;
  • tip Mach;
  • warunki;
  • rezerwę failure case.

Idealna moc indukowana:

P_i ≈ T^(3/2) / sqrt(2ρA)

Rosnące A pomaga. Jeśli obrys pozwala na osiem dużych śmigieł bez overlapu, platforma może być wydajna, ale ogromna.

Każdy ESC ma quiescent/conduction losses, a każdy silnik iron/copper loss. Przy zbyt niskim obciążeniu mniejsze napędy mogą pracować poza optymalnym punktem.

Straty X8#

Pary coaxial dzielą strugę. Dolny rotor zwykle ma mniej korzystny inflow. Łączny ciąg przy tej samej mocy jest niższy niż dwóch izolowanych rotorów.

Strata zależy od:

  • odległości osiowej;
  • średnicy i pitch;
  • różnicy RPM;
  • kierunków;
  • ramienia między rotorami;
  • prędkości przelotu;
  • ground effect.

Nie stosuje się jednego procentu z Internetu. Hamownia pary jest konieczna. Pomiar pojedynczych napędów nie wystarczy.

Allocator może użyć asymetrycznego rozdziału góra/dół. Warto sprawdzić moc całej pary dla tego samego łącznego ciągu.

Hałas zawiera interakcje blade-pass. Różne RPM mogą tworzyć beating odczuwany przez IMU i gimbal.

Dobór napędu#

Projekt zaczyna się od dwóch wymagań:

  • nominalna misja bez saturacji;
  • bezpieczne zakończenie po określonej awarii.

Dla każdego motoru tworzy się mapę thrust–current–RPM–efficiency przy kilku napięciach. Następnie solver ocenia wszystkie failure sets.

ESC ma margines prądu i temperatury. Po awarii pozostałe motory pracują wyżej dłużej; rating burst nie wystarczy do lądowania.

Śmigła muszą mieć clearance również przy ugięciu ramion. W płaskim Octa mały odstęp między tarczami zwiększa interakcję i ryzyko kontaktu po deformacji.

RPM telemetry pomaga dynamic notch i fault detection. Mapowanie każdego ESC do numeru musi być udokumentowane.

Dystrybucja energii#

Szczytowy prąd ośmiu napędów może być bardzo duży. Główna ścieżka obejmuje:

bateria → złącze → bezpiecznik/contactor → PDB/bus → 8 ESC

Każdy element ma:

  • continuous current;
  • peak;
  • rezystancję;
  • temperaturę;
  • izolację;
  • failure mode.

Spadek I·R może obniżyć napięcie FC, jeśli BEC nie ma marginesu. Awionikę warto zasilać przez redundantne, izolowane ścieżki zgodne z autopilotem.

PDB centralna jest wygodna, ale pojedyncza. Segmentowana dystrybucja może izolować zwarcie, o ile zabezpieczenie zadziała selektywnie.

Zwarcie ESC musi odłączyć gałąź bez zgaszenia całego bus. To wymaga testów i obliczeń let-through energy.

Jedna czy dwie baterie#

Dwie baterie mogą służyć:

  • zwiększeniu energii;
  • rozdzieleniu gałęzi;
  • redundancji;
  • balansu masy.

Prosty parallel Y nie daje pełnej redundancji. Zwarcie jednego pakietu może obciążyć drugi, a odłączenie wspólnego connectora usuwa oba.

Architektura redundantna potrzebuje OR-ing/ideal diodes, monitoring obu i analizę lotu na jednym. Jeśli każdy pakiet zasila cztery ESC, utrata pakietu usuwa określony zestaw; geometry pairing powinno być dobrane tak, aby zestaw był możliwie sterowalny.

Podział „lewa bateria → lewe motory” jest zły, bo utrata jednej usuwa cały bok. Lepszy interleaving nadal wymaga obliczenia macierzy.

Przed połączeniem równoległym napięcia muszą być zgodne. Procedura używa zatwierdzonego systemu, nie ręcznego zwarcia pakietów.

Rama i payload#

Octocopter przenosi ciężkie sensory, więc payload może dominować inertia. Integracja obejmuje:

  • MTOW;
  • CG XYZ;
  • momenty bezwładności;
  • obwiednię gimbala;
  • downwash;
  • drgania;
  • zasilanie;
  • EMI;
  • procedurę awaryjnego lądowania.

Długi payload pod środkiem zwiększa pendulum-like coupling i wysokość podwozia. W X8 dolne śmigła oraz gimbal konkurują o przestrzeń.

Rama musi wytrzymać lądowanie po awarii, gdy thrust jest nierówny i yaw może nie być kontrolowany. Podwozie powinno ograniczyć przewrócenie, ale nie może blokować obrazu.

Składane ramiona mają osiem lub cztery krytyczne zamki. Checklista potwierdza każdy dotykiem/wizualnie.

Wibracje#

Osiem źródeł tworzy gęste widmo. Blade-pass:

f = RPM/60 · blades

Przy podobnych RPM pojawiają się beat frequencies. X8 dodaje interakcję na jednej osi.

Diagnostyka powinna wiązać FFT z RPM motor-by-motor. Jeśli jedna linia rośnie, możliwe są:

  • uszkodzone śmigło;
  • łożysko;
  • luźny motor;
  • złe wyważenie;
  • rezonans ramienia;
  • różna stiffness mocowania.

Heavy payload może obniżyć częstotliwość własną center plate. Izolator FC i gimbala musi być dobrany do widma, nie „jak najbardziej miękki”.

Filtr dynamiczny nie naprawia mechaniki. Clipping akcelerometru jest krytycznym alertem.

Konfiguracja PX4#

PX4 oferuje konfigurację multirotora i Control Allocation. Wybiera się Octarotor/X8 najbliższy ramie, ustawia motor geometry oraz mapowanie outputów.[2][3]

W niestandardowym X8 trzeba opisać osobno górne i dolne pozycje/osi oraz yaw direction. Jeśli zmierzone kT różnią się, model powinien to uwzględnić tam, gdzie wersja firmware pozwala.

Actuator test wykonuje się bez śmigieł. Po nim sprawdza się kierunki i zakłada właściwe CW/CCW.

Fault handling musi być potwierdzony w dokumentacji i SITL. Sama macierz 4×8 nie oznacza automatycznej identyfikacji uszkodzonego motoru.

Log allocatora powinien być elementem pierwszego zawisu.

Konfiguracja ArduPilot#

ArduPilot publikuje diagramy dla Octa i X8. W X8 Motor Test uruchamia górny i dolny określonego narożnika w zdefiniowanej kolejności. Nie wolno zakładać 1–4 góra, 5–8 dół.[1]

SERVOx_FUNCTION mapuje Motor 1–8 na wyjścia. Kierunek ustawia się w ESC/przewodach.

Po mapowaniu:

  • verify frame class/type;
  • motor test bez śmigieł;
  • kierunki;
  • current monitor;
  • battery failsafe;
  • harmonic notch/RPM;
  • tune;
  • log.

X8 może mieć różne kierunki par zależnie od diagramu. Zły kierunek daje słaby yaw i nierówny hover.

Program uruchomienia#

  1. spis numerów ośmiu silników/ESC;
  2. kontrola ramy i CG;
  3. continuity PDB oraz isolation branches;
  4. uruchomienie awioniki z limitem prądu;
  5. konfiguracja geometrii;
  6. test wyjść bez śmigieł;
  7. kierunki i telemetry mapping;
  8. właściwe śmigła;
  9. test current sensor;
  10. krótki zawis bez payloadu;
  11. analiza wibracji/saturacji;
  12. atrapa payloadu;
  13. aktywny payload;
  14. rozszerzenie obwiedni.

Każda zmiana śmigła, baterii, firmware ESC lub payloadu wraca do odpowiedniego etapu.

Hamownia kompletnej pary X8 jest obowiązkowa przed modelem energii. Płaski Octa wymaga też kontroli overlap/ugięcia.

Kwalifikacja fault tolerant#

Poziomy:

  • offline matrix/rank/feasible set;
  • Monte Carlo z rozrzutem kT, CG i napięcia;
  • SITL failure injection;
  • HIL z prawdziwym FC/ESC emulator;
  • captive rig;
  • mały demonstrator;
  • statek docelowy w pustej strefie.

Testy obejmują 8 pojedynczych i, jeśli wymagane, 28 podwójnych par. Dla każdej:

  • detekcja;
  • stabilność roll/pitch;
  • yaw;
  • wysokość;
  • saturacja;
  • napięcie/prąd;
  • lądowanie;
  • false alarm.

Wymaga się najgorszej masy, baterii pod koniec życia i warunków środowiskowych. Udany test na pustej ramie nie kwalifikuje MTOW.

Nie przeprowadza się prowokowanej awarii nad ludźmi. System odzyskania i ograniczona energia są częścią testu.

Obsługa floty#

Osiem napędów oznacza osiem trendów. Flota rejestruje:

  • serial motor/ESC;
  • godziny;
  • śmigło i partię;
  • temperatury;
  • RPM/current residual;
  • wymiany łożysk;
  • incydenty;
  • vibration score.

Komponenty nie powinny być losowo przekładane bez aktualizacji manifestu. Po wymianie jednego napędu testuje się balance i response.

Common batch śmigieł może być common cause. Sampling inspection i kontrola partii są ważniejsze niż w quadzie, bo statek używa wielu sztuk tego samego źródła.

Ciężki octocopter wymaga również kontroli transportowej: ramię uderzone w skrzyni może wyglądać poprawnie, a mieć rozwarstwienie.

Kiedy Octa, kiedy X8#

Płaski Octa:

  • gdy liczy się sprawność i pole tarcz;
  • jest miejsce na duży obrys;
  • potrzebne lepsze rozdzielenie napędów;
  • transport jest drugorzędny.

X8:

  • gdy obrys i składanie są krytyczne;
  • potrzebne są cztery ramiona;
  • akceptowane są straty coaxial;
  • wymagany jest zapas napędu w kompaktowej ramie.

Hexacopter:

  • gdy payload i zapas nie wymagają ośmiu;
  • masa/koszt są ważniejsze;
  • single-fault case jest wystarczający po analizie.

Quad:

  • gdy prostota i energia dominują;
  • nie wymaga się motor-out landing;
  • payload jest lekki.

Typowe błędy#

Osiem wirników gwarantuje dwie awarie. Zdolność zależy od konkretnej pary, yaw i zapasu.

X8 jest tak sprawny jak płaski Octa. Coaxial interference zwykle obniża sprawność.

Pełny rząd po awarii wystarczy. Ograniczenia ciągu mogą uczynić rozwiązanie niewykonalnym.

Dwie baterie oznaczają redundancję. Bez izolacji i właściwego podziału mogą mieć common failure.

Wszystkie osiem ESC musi mieć tylko sumę ratingów. Bus, connector i PDB muszą przenieść realny peak oraz zwarcie.

Ten sam PID działa jak w quadzie. Bezwładność, delay i authority są inne.

Motor order jest intuicyjny. Używa się diagramu firmware i motor test bez śmigieł.

Fault tolerance można przetestować jednym lotem. Wymaga macierzy przypadków, symulacji, HIL i stopniowania.

Powiązane tematy#

Przypisy#

  1. ArduPilot Copter, „Connect ESCs and Motors”, diagramy Octa/X8 i zasady motor test bez śmigieł.
  2. PX4 Guide, „Control Allocation (Mixing)”, effectiveness matrix, ograniczenia i mapowanie aktorów.
  3. PX4 Guide, „Multicopter Configuration”, konfiguracja geometrii i wyjść w QGroundControl.
  4. NASA/CR–20210017185, „Reliability and Safety Assessment of Urban Air Mobility Concept Vehicles”, porównanie awarii hex/octocopter i common causes.
  5. NASA, „Handling Qualities Considerations in Control Allocation for Multicopters”, wpływ rozdziału RPM na moc i handling qualities.

Źródła z centralnego rejestru

  1. ArduPilot Copter: Connect ESCs and Motors — frame motor-order diagrams [dokumentacja projektu open source]
  2. PX4 Guide: Control Allocation (Mixing) [dokumentacja projektu open source]
  3. PX4 Guide: Multicopter Configuration and actuator geometry [dokumentacja projektu open source]
  4. NASA/CR–20210017185: Reliability and Safety Assessment of Urban Air Mobility Concept Vehicles [raport techniczny NASA]
  5. NASA: Handling Qualities Considerations in Control Allocation for Multicopters [publikacja techniczna NASA]