Hexacopter wytwarza siłę i momenty sześcioma wirnikami. W konfiguracji płaskiej ich osie są zwykle równoległe, a ramiona rozmieszczone co 60°. Kontroler zmienia ciąg poszczególnych zespołów, aby sterować roll, pitch, yaw i ciągiem zbiorczym. Dwa dodatkowe napędy względem quadrocoptera zwiększają udźwig i liczbę stopni swobody w alokacji, ale również masę, powierzchnię, koszt, liczbę ESC oraz prawdopodobieństwo usterki dowolnego elementu.
Najważniejsze rozróżnienie brzmi: nadmiar aktorów nie jest jeszcze tolerancją uszkodzeń. Po utracie silnika hexacopter może mieć matematyczną możliwość sterowania, a mimo to zabraknie mu ciągu, momentu yaw, napięcia baterii albo odpowiedniej logiki control allocation. Konstrukcja reklamowana jako „redundantna” musi przejść analizę konkretnego przypadku i test w kontrolowanym środowisku.[4][5]
Spis treści#
- Geometrie
- Hexa X i Hexa Plus
- Y6 coaxial
- Ciąg i moment reakcyjny
- Model sześciu wirników
- Macierz effectiveness
- Mikser i control allocation
- Desaturacja
- Dobór kierunków obrotu
- Zapas ciągu
- Awaria jednego napędu
- Utrata yaw
- Wspólne przyczyny awarii
- Sprawność względem quadrocoptera
- Y6 i interferencja coaxial
- Dobór silnika i śmigła
- ESC i wyjścia
- Bateria i rozdział mocy
- Rama i sztywność
- Wibracje i częstotliwości
- Konfiguracja autopilota
- PX4
- ArduPilot
- Procedura uruchomienia
- Test utraty napędu
- Logi i diagnostyka
- Kiedy wybrać hexacopter
- Typowe błędy
- Powiązane tematy
- Przypisy
Geometrie#
Najczęstsze są trzy rodziny:
- Hexa X — żadnego ramienia dokładnie w osi przód–tył albo dwa wirniki tworzą charakterystyczną orientację X, zależnie od konwencji autopilota;
- Hexa Plus — jedno ramię lub para jest ustawiona względem osi podłużnej zgodnie z diagramem firmware;
- Y6 — trzy ramiona, na każdym dwa współosiowe wirniki, zwykle jeden nad i jeden pod ramieniem.
Nazwa nie wystarcza do okablowania. ArduPilot i PX4 mają konkretne diagramy numerów, kierunków CW/CCW i osi. „Motor 1” nie musi być fizycznym wyjściem pierwszym ani pierwszym ramieniem zgodnie z ruchem wskazówek zegara. Zawsze używa się diagramu wersji firmware.[1][3]
Geometria płaska daje sześć niezależnych punktów przyłożenia siły i duże ramię momentu. Y6 zmniejsza obrys oraz liczbę ramion, ale pary współosiowe oddziałują aerodynamicznie. W obu układach standardowe stałe śmigła nadal wytwarzają siłę głównie w jednej osi; statek nie jest w pełni actuated w sześciu stopniach swobody.
Hexa X i Hexa Plus#
W płaskim układzie położenie wirnika i można zapisać:
r_i = [x_i, y_i, 0]ᵀ
a siłę dla równoległych osi:
F_i = [0, 0, -T_i]ᵀ
w konwencji NED/body, gdzie znak zależy od przyjętych osi. Moment od siły wynosi:
τ_i = r_i × F_i
Do tego dochodzi moment reakcyjny śmigła wokół osi z, zależny od kierunku obrotu.
Równe rozmieszczenie co 60° daje symetryczne ramiona. Hexa X i Plus mają podobną fizykę, ale różne współczynniki miksera oraz odpowiedź na utratę konkretnego silnika. W jednej geometrii uszkodzony wirnik może znajdować się blisko osi roll, w innej daje duży moment w obu osiach.
Układ nie powinien być definiowany „na oko”. W PX4 pozycje x, y, z, oś ciągu i kierunek reakcyjny są częścią konfiguracji actuator geometry. Jeśli własna rama ma nierówne ramiona, generic hex jest tylko punktem startowym.[2][3]
Y6 coaxial#
Y6 ma trzy ramiona co 120°, po dwa wirniki na wspólnej osi. Typowo górny i dolny obracają się przeciwnie, co tworzy parę o mniejszym momencie yaw netto. Różnicowanie ciągu w parach pozwala sterować.
Zalety Y6:
- mniejsza szerokość niż płaski hex;
- trzy ramiona i prostszy transport;
- sześć napędów;
- możliwość utrzymania części ciągu po awarii jednego zespołu.
Wady:
- dolny wirnik pracuje w wake górnego;
- mniejsza sprawność pary niż dwóch niezależnych tarcz;
- wyższy hałas/interakcje;
- trudniejsza obsługa dolnego śmigła;
- większe obciążenie ramienia i wspólne przewody;
- awaria mechaniczna jednego ramienia usuwa dwa napędy.
Nie należy porównywać Y6 i płaskiego hex tylko sumą maksymalnego ciągu z tabeli silnika. Stanowisko coaxial trzeba zmierzyć z faktycznym odstępem i kierunkami obrotu.
Ciąg i moment reakcyjny#
Dla stałego śmigła w zakresie modelu:
T_i ≈ k_T Ω_i²
Q_i ≈ s_i k_Q Ω_i²
gdzie Ω_i to prędkość wirnika, k_T współczynnik ciągu, k_Q momentu, a s_i ma znak CW/CCW. Moc rośnie w przybliżeniu jak Ω³, więc wymuszanie większego ciągu z kilku pozostałych napędów jest kosztowne energetycznie.[5]
Suma ciągu w zawisie spełnia:
Σ T_i = mg
Dla równych sześciu wirników:
T_hover,i = mg / 6
To średnia idealna. Różnice CG, śmigieł i kalibracji sprawiają, że kontroler używa nierównych wartości. Jeśli jedna para stale pracuje wyżej, przyczyną może być przesunięty CG albo skręcona rama.
Yaw powstaje przez nierównowagę momentów reakcyjnych. Trzy wirniki CW i trzy CCW powinny mieć zbliżone właściwości. Różny typ śmigła, ESC timing lub kierunek wpływa na neutralny yaw.
Model sześciu wirników#
Wektor żądany można zapisać:
u = [τ_x, τ_y, τ_z, F_z]ᵀ
a sześć nieujemnych poleceń wirników jako:
f = [T_1, T_2, T_3, T_4, T_5, T_6]ᵀ
Relacja liniowa w przestrzeni ciągów:
u = B f
Macierz B ma cztery wiersze i sześć kolumn. Dwa dodatkowe wymiary w przestrzeni aktorów tworzą null space: różne kombinacje f mogą dawać ten sam całkowity wrench. Control allocator może użyć tej swobody do zmniejszenia saturacji, wyrównania mocy albo obsługi awarii.
Liniowość dotyczy ciągów, nie bezpośrednio duty cycle. Relacja polecenie ESC → RPM → ciąg jest nieliniowa i zależna od napięcia. Nowoczesny allocator stosuje model, a regulator rate obserwuje rezultat.
Po ograniczeniach:
0 ≤ f_i ≤ f_i,max
rozwiązanie może nie istnieć dla dowolnego u. Wtedy allocator musi ustalić priorytety.
Macierz effectiveness#
Kolumna i macierzy effectiveness wynika z położenia, kierunku osi ciągu i momentu reakcyjnego wirnika. Dla płaskiej ramy:
B_i = [
y_i * kT,
-x_i * kT,
s_i * kQ,
kT
]
Znaki zależą od konwencji osi. Nie należy kopiować wzoru do firmware bez sprawdzenia NED/ENU, znaku thrust i kolejności roll/pitch/yaw.
Jeśli silnik zawiedzie, jego kolumna staje się zerowa albo f_i,max = 0. Pozostała macierz musi zachować wystarczający rząd i margines. Pełny rząd matematyczny nie gwarantuje fizycznej możliwości, bo rozwiązanie może wymagać ujemnego ciągu lub przekroczenia maksimum.
Kondycja macierzy określa wrażliwość: źle ułożone osie wymagają dużych zmian sił dla małego momentu. Tilted rotors mogą poprawić pewne właściwości, ale zwiększają straty zawisu i złożoność.
Mikser i control allocation#
Klasyczny mikser mnoży żądane osie przez stałe współczynniki. Control allocation rozdziela żądany wrench na aktory z uwzględnieniem geometrii, limitów i awarii. PX4 oddziela regulator od allocatora, dzięki czemu ten sam kontroler może obsłużyć różne ramy.[2]
Typowe metody:
- pseudoinverse
B⁺; - weighted least squares;
- sequential desaturation;
- active-set constrained allocation;
- priorytety osi;
- null-space optimization.
Proste rozwiązanie:
f = B⁺ u
może dać wartość ujemną lub ponad maksimum. Realny allocator ogranicza i ponownie rozdziela błąd.
W hexie można wykorzystać null space do wyrównania napędów. Nie zawsze minimalizowanie sumy kwadratów jest najlepsze: moc rośnie nieliniowo, a jeden gorący ESC może wymagać ograniczenia.
Desaturacja#
Saturacja występuje, gdy co najmniej jeden napęd osiąga minimum albo maksimum. W zawisie z dużym payloadem polecenie yaw może wymagać zwiększenia trzech silników, które już są blisko maksimum. Bez desaturacji regulator integruje błąd i wywołuje windup.
Priorytety zwykle chronią ciąg i roll/pitch bardziej niż yaw, bo utrata yaw jest mniej bezpośrednio katastrofalna niż utrata attitude. Dokładna kolejność jest implementacją firmware.
Desaturacja może:
- obniżyć wspólny thrust, aby odzyskać miejsce na moment;
- ograniczyć yaw;
- rozdzielić moment na pozostałe aktory;
- zgłosić saturation flag regulatorowi;
- zahamować integrator.
Log powinien pokazywać actuator outputs, żądane/osiągnięte momenty i saturation. Sam wykres RC throttle nie ujawnia braku authority.
Dobór kierunków obrotu#
Trzy CW i trzy CCW pozwalają zrównoważyć yaw. Kolejność kierunków jest częścią geometrii firmware. Zamiana dwóch przewodów silnika odwraca kierunek w klasycznym BLDC, ale w nowoczesnym ESC można użyć konfiguracji firmware — tylko zgodnie z dokumentacją.
Kierunek trzeba sprawdzić bez śmigieł. Następnie śmigło musi pasować do kierunku. Silnik obracający się „dobrze” z łopatą odwrotną da mały lub przeciwny ciąg.
ArduPilot publikuje diagramy motor order i kierunków dla Hexa, Y6 i innych ram. Test motorów ma własną kolejność liter, której nie należy utożsamiać z numerami fizycznych pinów.[1]
Zły kierunek jednego wirnika może dać zawis z dużym stałym yaw output albo natychmiastową utratę kontroli. Pre-arm check nie zawsze wykryje fizyczny kierunek.
Zapas ciągu#
Thrust-to-weight:
R_TW = Σ T_max / (mg)
Dla sześciu jednakowych napędów po awarii jednego dostępny stosunek wynosi w idealnym przybliżeniu:
R_TW,5 = 5 T_max / (mg) = (5/6) R_TW,6
Jeśli normalny R_TW,6 = 2,0, po awarii pozostaje około 1,67 przed uwzględnieniem momentów. To wygląda dobrze, ale część ciągu musi zostać użyta nierówno do attitude/yaw. Wysokość, temperatura, sag i starzenie obniżają margines.
Minimalny warunek zawisu R_TW,5 > 1 jest niewystarczający. Potrzebny jest zapas do manewru, porywu i sterowania. Dla ciężkiej platformy powinien wynikać z analizy cases, nie ogólnej reguły 2:1.
Stand thrust producenta silnika bywa mierzony na nowej baterii i otwartym stanowisku. Rama, guard, sąsiednie śmigła i napięcie zmieniają wynik.
Awaria jednego napędu#
„Awaria napędu” może znaczyć:
- silnik nie generuje ciągu;
- ESC zatrzymał komutację;
- śmigło odpadło;
- śmigło pękło i generuje asymetrię;
- silnik zablokował się i hamuje;
- ESC jest stuck-high;
- wirnik generuje częściowy ciąg;
- telemetria jest błędna.
Najłatwiejszy dla allocatora jest clean stop z prawidłowo rozpoznanym indeksem. Częściowy lub zmienny ciąg jest trudniejszy. Stuck-high może nie być możliwy do skompensowania.
Detekcja może używać RPM telemetry, prądu, modelu attitude i residualu. Fałszywe wyłączenie sprawnego silnika pogarsza sytuację. Algorytm potrzebuje confidence i czasu.
Po awarii strategia może ograniczyć yaw, obniżyć prędkość, wyłączyć misję i lądować. Kontynuowanie zadania nie jest domyślnym celem; najważniejsze jest kontrolowane zakończenie.
Utrata yaw#
W niektórych geometriach po awarii jednego wirnika można utrzymać roll, pitch i thrust, ale pełna kontrola yaw staje się ograniczona. Statek może obracać się wokół osi pionowej, zachowując tilt i wysokość. Kamera oraz frame convention stają się wtedy trudniejsze dla operatora.
Regulator musi unikać walki o niemożliwy yaw. Jeśli żądanie yaw nasyca aktory, roll/pitch mogą stracić margines. Fault-tolerant mode powinien zmienić priorytet.
Wirujący statek nadal może mieć stabilny wektor ciągu, ale:
- GNSS antennas i link zmieniają orientację;
- obraz jest trudny do użycia;
- drag rośnie;
- przewody/payload odczuwają ruch;
- operator traci orientację;
- lądowanie jest ryzykowne.
Nie wolno obiecywać „bezpiecznego lotu na pięciu” bez określenia kontroli yaw.
Wspólne przyczyny awarii#
Sześć niezależnych silników może współdzielić:
- jedną baterię;
- główne złącze;
- PDB;
- regulator 5 V flight controllera;
- magistralę CAN;
- firmware ESC;
- wadliwą partię śmigieł;
- ramę;
- ten sam błąd konfiguracji;
- temperaturę i wodę.
NASA wskazuje, że dokładanie rotorów i elementów nie skaluje niezawodności prosto, gdy dominują common-cause failures. Więcej napędów zwiększa liczbę komponentów, które mogą zawieść, a wspólna dystrybucja energii pozostaje pojedynczym punktem.[4]
Redundancja powinna rozdzielać ścieżki: osobne gałęzie zasilania, bezpieczniki/monitoring, fizyczne prowadzenie przewodów, różne banki wyjść i wykrywanie. Ale zbyt duża złożoność również tworzy błędy.
Analiza FMEA powinna rozróżnić single motor, single ESC, arm failure, PDB, battery disconnect i software command.
Sprawność względem quadrocoptera#
Przy tej samej masie i łącznym polu tarcz idealna moc indukowana jest podobna. W praktyce sześć mniejszych rotorów zwykle ma:
- więcej silników i ESC o własnych stratach;
- więcej ramion i oporu;
- mniejsze śmigła przy tym samym obrysie;
- większą powierzchnię przewodów;
- możliwość pracy napędów bliżej optymalnego punktu zależnie od projektu.
Nie ma uniwersalnej reguły „hex jest o 50% mocniejszy” ani „zawsze mniej sprawny”. Porównanie musi utrzymywać tę samą masę, payload, pole tarcz, tip speed i technologię.
Disk loading:
DL = W / A_total
Niższe DL zwykle zmniejsza moc indukowaną zawisu, ale zwiększa rozmiar. Sześć rotorów pozwala rozłożyć pole, lecz jeśli projekt używa sześciu małych śmigieł w tej samej obwiedni, suma pola może nie rosnąć znacząco.
Y6 i interferencja coaxial#
Dolny wirnik otrzymuje przepływ już przyspieszony i zawirowany przez górny. Suma ciągów pary jest mniejsza od sumy dwóch izolowanych stanowisk przy tej samej mocy. Odstęp, kierunki, pitch i RPM wpływają na stratę.
Test stanowiskowy powinien zmierzyć:
- górny sam;
- dolny sam;
- oba w parze;
- różne rozdziały throttle;
- temperatury;
- hałas;
- drgania ramienia.
Allocator Y6 może nierówno rozdzielać ciąg w parze, aby zoptymalizować yaw lub sprawność. Nie należy zakładać identycznego procentu dla góra/dół bez logów.
Dolny śmigło jest bliżej ziemi i bardziej narażone na FOD. Startowisko musi zapewnić clearance oraz ograniczyć zasysanie kamieni.
Dobór silnika i śmigła#
Dobór zaczyna się od masy i wymaganego marginesu po awarii. Dla sześciu silników:
T_required_per_motor = R_TW · mg / 6
Po awarii trzeba sprawdzić pięć silników i momenty, nie tylko tę średnią.
Proces:
- oszacować MTOW;
- dobrać średnicę z obwiedni;
- wybrać napięcie i KV;
- użyć danych thrust stand dla zestawu;
- uwzględnić wysokość/temperaturę;
- sprawdzić prąd ciągły i peak;
- sprawdzić thermal soak;
- zbudować model pięciu napędów;
- przetestować na kompletnej ramie.
Śmigło o większej średnicy zwykle poprawia sprawność, ale zwiększa moment bezwładności i odstęp. Sześć tarcz nie może na siebie nachodzić w płaskim hex.
Każdy napęd powinien mieć numer i dane stanowiskowe. Rozrzut ciągu może powodować bias allocatora.
ESC i wyjścia#
Sześć ESC wymaga sześciu kanałów motor output i wspólnej/rozdzielonej energii. Protokół DShot zmniejsza problemy kalibracji PWM i może dostarczyć telemetry, ale nie usuwa awarii power stage.
Wymagania:
- napięcie pakietu;
- prąd ciągły i burst;
- chłodzenie w ramie;
- firmware/version;
- direction;
- telemetry RPM/current/temp;
- timing/demag;
- zachowanie po lost signal;
- kondensatory i przewody.
ESC rating z dużym numerem nie gwarantuje pracy zamkniętej w body. Temperaturę mierzy się w zawisie i wolnym locie, gdzie chłodzenie może być gorsze niż przy przelocie.
Wyjścia autopilota muszą mieć właściwy timing. Mieszanie DShot i PWM w jednej grupie hardware może mieć ograniczenia.
Bateria i rozdział mocy#
Prąd maksymalny:
I_total,max ≈ Σ I_motor,max + I_avionics + I_payload
Sześć prądów peak może przekroczyć możliwości złącza, PDB i baterii. Nie wszystkie silniki osiągają max równocześnie w sterowaniu, ale recovery po spadku może do tego zbliżyć.
Spadek napięcia:
ΔV = I · R_total
zwiększa się przez rezystancję ogniw, przewodów i złączy. Po awarii pięć silników pracuje wyżej, więc sag może wzrosnąć mimo jednego odbiornika mniej.
PDB powinna mieć margines termiczny i układ miedzi równomierny. Błąd jednego połączenia lutowanego może odciąć kilka ESC.
Jeśli stosuje się dwie baterie równolegle, różnica napięć przed połączeniem może wywołać prąd wyrównawczy. Potrzebna jest dedykowana architektura, nie przypadkowy Y-cable.
Rama i sztywność#
Sześć ramion zwiększa liczbę połączeń i modów drgań. Center plate przenosi sumę momentów. Ramię musi wytrzymać:
- ciąg i moment silnika;
- gyroscopic loads;
- hamowanie;
- lądowanie;
- rezonans;
- uderzenie transportowe.
Ugięcie zmienia kierunek osi wirnika i macierz B. Niewielki tilt sześciu silników może tworzyć stały moment oraz lateral thrust. Geometrię mierzy się po złożeniu pod obciążeniem.
Składana rama potrzebuje blokady o jednoznacznym stanie. Luz przegubu daje zmienne drgania. Przewód nie może być elementem ograniczającym ruch ramienia.
W Y6 jedno ramię przenosi dwa zespoły. Jego awaria jest utratą dwóch wirników i często poza projektowanym single-fault case.
Wibracje i częstotliwości#
Blade-pass frequency:
f_BPF = RPM/60 · N_blades
Sześć nieidealnie zsynchronizowanych napędów tworzy wiele bliskich linii widma i beating. Harmoniczne mogą wejść w rezonans ramy albo gimbala.
Diagnostyka:
- FFT gyro;
- RPM telemetry;
- motor-by-motor test;
- accelerometer clipping;
- temperatura łożysk;
- obraz gimbala;
- porównanie payload/no-payload.
Dynamic notch per motor/RPM jest skuteczny tylko przy wiarygodnej telemetry i właściwym mapowaniu. Zły numer RPM może notchować niewłaściwą częstotliwość.
Nie maskuje się pękniętego śmigła filtrem. Najpierw mechanika, potem filtracja.
Konfiguracja autopilota#
Konfiguracja ma cztery warstwy:
- frame type;
- motor geometry/effectiveness;
- mapping motor function → output;
- parametry protokołu/ESC.
Błąd każdej warstwy może wyglądać podobnie. Dlatego test jest sekwencyjny: identyfikacja wyjścia, kierunek silnika, rodzaj śmigła, orientacja FC, reakcja regulatora.
Nie przeprowadza się pierwszego testu z propellerami. Oficjalne dokumentacje wyraźnie każą wykonywać motor test bez śmigieł.[1]
Generic geometry zakłada symetrię. Własna nieregularna rama wymaga poprawnej konfiguracji i walidacji.
PX4#
PX4 używa Control Allocation i konfiguracji Actuators. Wybiera się Generic Hexarotor X/Plus albo właściwy airframe, następnie definiuje pozycje, osi i mapping na wyjścia. QGroundControl pokazuje diagram silników.[2][3]
Procedura:
- zastosować airframe;
- ustawić liczbę i geometrię;
- przypisać Motor 1–6 do wyjść;
- wybrać protokół;
- wykonać actuator test bez śmigieł;
- sprawdzić kierunki;
- założyć właściwe śmigła;
- test tether/stand tylko zgodnie z bezpieczną procedurą;
- krótki zawis i log.
Własne parametry effectiveness muszą odpowiadać jednostkom/normalizacji PX4. Artykuł nie zastępuje aktualnej dokumentacji wersji.
ArduPilot#
ArduPilot ma zdefiniowane klasy Hexa i Y6 oraz diagramy numerów/kierunków. SERVOx_FUNCTION mapuje funkcję Motor 1–6 na fizyczne wyjścia. Nie zmienia kierunku wirowania — ten ustawia się w ESC/przewodach.[1]
Motor Test uruchamia kolejne napędy w kolejności opisanej literami. Test służy do potwierdzenia numeru, nie do generowania znaczącego ciągu.
Po poprawnym mapowaniu kalibruje się sensory, failsafe i parametry. Default tune może wystarczyć do ostrożnego zawisu, ale ciężki hex wymaga identyfikacji drgań i tune zgodnie z dokumentacją.
Fault tolerant behavior zależy od wersji i geometrii. Sam wybór FRAME_CLASS=HEXA nie aktywuje magicznego lotu po awarii.
Procedura uruchomienia#
- zważyć statek i wyznaczyć CG;
- sprawdzić momenty śrub i blokady ramion;
- zweryfikować PDB continuity bez baterii;
- ustawić current-limited bench supply dla awioniki;
- skonfigurować frame i wyjścia;
- bez śmigieł sprawdzić Motor 1–6;
- sprawdzić CW/CCW;
- założyć śmigła zgodne z oznaczeniami;
- sprawdzić battery/current sensor;
- wykonać pre-arm;
- pierwszy zawis w pustej strefie;
- przeanalizować log przed rozszerzeniem obwiedni.
Pierwszy zawis powinien być krótki i niski, ale dostatecznie poza ground effect dla stabilnej oceny. Zbyt wysoki zwiększa energię zdarzenia, zbyt niski może maskować tune.
Testuje się po kolei roll, pitch, yaw i vertical response przy małych komendach. Silne oscylacje kończą próbę.
Test utraty napędu#
Nie zaczyna się od fizycznego wyłączenia silnika w locie. Sekwencja:
- analiza macierzy po wyzerowaniu każdej kolumny;
- sprawdzenie feasible thrust/torque z limitami;
- SITL z awarią każdego indeksu;
- HIL lub stanowisko captive;
- fault injection na hamowni/rig;
- mały demonstrator w bezpiecznej strefie;
- dopiero kwalifikacja platformy docelowej przez kompetentny zespół.
Kryteria:
- czas detekcji;
- peak attitude error;
- wysokość utracona;
- yaw rate;
- saturation;
- prąd i napięcie;
- temperatura;
- zdolność lądowania;
- false positive.
Awaria każdego wirnika jest osobnym przypadkiem. Średni wynik z sześciu nie może ukrywać jednego katastrofalnego indeksu.
Test musi mieć system odzyskania, ograniczenie energii i pustą strefę. Nie prowokuje się awarii nad ludźmi lub mieniem.
Logi i diagnostyka#
Minimalny log:
- rate setpoint/measurement;
- attitude;
- actuator commands 1–6;
- allocator desired/achieved wrench;
- saturation flags;
- RPM każdego ESC;
- prąd/temperatura ESC;
- voltage/current baterii;
- vibration/FFT;
- estimator innovations;
- detection flags.
Objawy:
| Objaw | Możliwe przyczyny |
|---|---|
| stały yaw bias | kierunek, śmigło, różny drag, CG, ESC |
| jedna para wysoko | przesunięty CG, skręcona rama, słaby napęd |
| oscylacja przy payload | rezonans, tune, elastyczne mocowanie |
| nagły spadek napięcia | bateria, złącze, peak pięciu/sześciu napędów |
| RPM mismatch | śmigło, silnik, ESC, telemetry mapping |
| motor saturation w zawisie | za mały napęd, za duża masa, wysokość |
Wymiana komponentu bez wskazania przyczyny może przesunąć objaw. Trendy między lotami są ważniejsze niż jeden wykres.
Kiedy wybrać hexacopter#
Hexacopter ma sens, gdy projekt potrzebuje:
- większego pola tarcz lub udźwigu;
- łagodniejszego rozkładu obciążenia;
- szansy na kontrolowane lądowanie po wybranej awarii;
- stabilnej platformy dla cięższego payloadu;
- mniejszego obrysu Y6;
- elastycznej control allocation.
Quadrocopter jest lepszy, gdy priorytetem są:
- minimalna masa;
- czas lotu;
- koszt;
- mała liczba punktów awarii;
- prostota budowy i serwisu.
Octocopter daje więcej aktorów, ale jeszcze większą liczbę komponentów. Wybór należy poprzeć mission profile i FMEA, nie zasadą „więcej silników = bezpieczniej”.
Typowe błędy#
Hex zawsze lata po utracie jednego silnika. Zależy od geometrii, zapasu, allocatora, wykrycia i yaw.
Sześć silników daje o 50% większy udźwig. Masa ramy, baterii i napędu również rośnie; liczy się kompletny statek.
Pełny rząd macierzy gwarantuje sterowanie. Rozwiązanie może wymagać ujemnego albo nadmiernego ciągu.
Y6 ma sprawność sześciu niezależnych rotorów. Pary coaxial interferują.
Dwa dodatkowe ESC zwiększają niezawodność. Dodają punkty awarii i mogą dzielić common cause.
Motor order jest clockwise 1–6. Zależy od firmware i geometrii.
Thrust-to-weight po awarii wystarczy policzyć 5/6. Momenty i saturacja wymagają nierównego rozdziału.
Filtr naprawi drgania. Filtr nie naprawia śmigła, łożyska ani luźnego ramienia.
Duża bateria rozwiąże brak marginesu. Zwiększa masę i może przesunąć punkt pracy bez poprawy.
Powiązane tematy#
- Jak działa quadrocopter
- Octocopter
- Dobór silnika
- Dobór ESC
- Dobór śmigła
- Dobór baterii
- PID
- Failsafe jako maszyna stanów
- Wibracje w dronie
Przypisy#
- ArduPilot Copter, „Connect ESCs and Motors”, oficjalne diagramy numerów, kierunków i bezpieczny motor test dla Hexa/Y6.
- PX4 Guide, „Control Allocation (Mixing)”, rozdzielenie regulatora, geometry effectiveness i mapowania aktorów.
- PX4 Guide, „Multicopter Configuration”, wybór Hexarotor X i konfiguracja pozycji oraz wyjść w QGroundControl.
- NASA/CR–20210017185, „Reliability and Safety Assessment of Urban Air Mobility Concept Vehicles”, fault trees i wpływ common-cause failures na hex/octocopter.
- NASA, „Handling Qualities Considerations in Control Allocation for Multicopters”, zależności ciągu, momentu, mocy i alokacji potwierdzone m.in. na małym hexacopterze.
Źródła z centralnego rejestru
- ArduPilot Copter: Connect ESCs and Motors — frame motor-order diagrams [dokumentacja projektu open source]
- PX4 Guide: Control Allocation (Mixing) [dokumentacja projektu open source]
- PX4 Guide: Multicopter Configuration and actuator geometry [dokumentacja projektu open source]
- NASA/CR–20210017185: Reliability and Safety Assessment of Urban Air Mobility Concept Vehicles [raport techniczny NASA]
- NASA: Handling Qualities Considerations in Control Allocation for Multicopters [publikacja techniczna NASA]