Jakiej częstotliwości potrzebuje moja pętla aktualizacji wyjście-sens-oblicz-wylicz wyjście-quadkopter, aby pozostać stabilna?

20

W przypadku quadkoptera silnik-silnik o długości 600 mm (2 stopy), jaką częstotliwość potrzebuje moja pętla aktualizacji sens-wyjście-oblicz-oblicz-wyjście, aby pozostać stabilna?

Szacuję całkowitą masę startową wynoszącą około 2 funty (0,9 kg), co, jak sądzę, będzie w większości silnikami i akumulatorami.

David Cary
źródło
1
Podejrzewam, że możliwe będą tutaj tylko bardzo szorstkie odpowiedzi, ponieważ istnieje wiele zmiennych, które wpłyną na odpowiedź systemu. Być może zobacz: Jak obliczyć wymaganą częstotliwość pętli dla kontrolera serwo?
Rocketmagnet

Odpowiedzi:

17

Jak sugeruje Rocketmagnet, częstotliwość, której „potrzebujesz”, będzie zależeć od wielu rzeczy. Im bardziej responsywne są twoje wirniki, tym bardziej wrażliwa będzie twoja jednostka na przypadkowe skoki poleceń silnika. Te przypadkowe skoki mogą być spowodowane głośnym odczytem czujnika spowodowanym niedoskonałościami fizycznymi, co oznacza, że ​​będziesz musiał obniżyć wzmocnienie kontrolera, co z kolei może oznaczać, że twój quadrotor może stać się bardziej niestabilny. Niektóre inne czynniki obejmują bezwładność obrotową kwadrotora, skok łopat śmigieł, położenie środka masy oraz odległość między silnikami.

Zaprogramowałem kontroler lotu od zera dla mojego 2-kilogramowego śmigłowca działającego na ATmega1280 i stwierdziłem, że:

  • 50 Hz: Pozostanie w powietrzu, ale prawie nie da się go kontrolować.
  • 100 Hz: Pozwoli to przynajmniej uniknąć natychmiastowego przewrócenia się na bok.
  • 200 Hz: Mogę puścić go w pomieszczeniu przy zawisie przepustnicy i pozostanie mniej więcej w jednym miejscu.

Warto zauważyć, że im wyższa częstotliwość sterowania, tym bardziej efektywne stają się bezwładności wirnika jako fizyczne tłumiki, co pomaga zneutralizować hałas IMU i poprawić stabilność lotu.

Ale gdybym musiał podać twardą liczbę dla minimalnej częstotliwości aktualizacji kontrolera lotu dla quadrotora tego rozmiaru odpowiedniego do nawigacji w pomieszczeniach, w oparciu o osobiste doświadczenia ...

Powiedziałbym 80 Hz.

yoos
źródło
1
Nie rozumiem, dlaczego zasugerowałeś 80 Hz, kiedy musiałeś użyć 200 Hz na znacznie większym statku, jeśli cokolwiek, gdy system jest mniejszy, potrzebujesz krótszego czasu próbkowania, ponieważ częstotliwości naturalne są wyższe, ponieważ występuje mniejsza bezwładność.
goncalo luis
Czy są jakieś korzyści płynące z pracy z częstotliwością powyżej 200 Hz? Mam system działający obecnie na 2 Khz, ale kosztem dodatkowej wagi.
tuskiomi
(Wow, to stary wątek, ale) @goncaloluis Zasugerowałem 80 Hz jako twarde minimum. Masz całkowitą rację, że potrzebujesz szybszej częstotliwości próbkowania dla mniejszych jednostek. :)
yoos
1
@tuskiomi Do pewnego momentu .. Twoja aplikacja i pożądane pasmo powinno sterować wymaganą częstotliwością pętli sterowania, ale jak wielu zauważyło, bezwładność staje się ostatecznie czynnikiem ograniczającym.
jo
2

50-200 Hz jest całkiem normalne, jak widać w projektach open source. Musisz wziąć pod uwagę, że w większości przypadków bezwładność silników i komunikacja z układami ESC jest czynnikiem ograniczającym.

użytkownik65
źródło
2
@Shahbaz: Bycie „otwartym źródłem” wpływa na naszą wiedzę na temat częstotliwości pętli sterowania. Jeśli nie jest to oprogramowanie typu open source, generalnie nie mamy pojęcia, jaka jest częstotliwość pętli sterowania.
David Cary
Nie do końca prawda. Kontrolerzy lotów z zamkniętym źródłem zwykle publikują częstotliwość kontroli. Większość z nich steruje mocą wyjściową przy 400 Hz, aby były kompatybilne ze standardowymi elektronicznymi regulatorami prędkości (ESC). Np. Popularny DJI Wookong-M: dji-innovations.com/tech-spec/wookong-m-sepc
foobarbecue
1

Aby móc uzyskać trudną liczbę, musisz mieć model matematyczny swojego statku i analizować go. Istnieją dwie opcje uzyskania modelu systemu:

1) Wymyślisz matematyczną reprezentację quadkoptera za pomocą dowolnych schematów ciała;

2) Zbudowałeś koncert, aby przetestować quadkopter bez żadnego systemu sterowania i za pomocą teorii identyfikacji znaleźć model;

Następnie musisz zlinearyzować swój model, quadkopter jest z natury nieliniowy. Zrób spisek w systemie, częstotliwość, której potrzebujesz, jest około dwukrotnie wyższa od częstotliwości twojego systemu.

Jest to „pro” sposób na zrobienie tego. Jeśli nie chcesz przejść przez to wszystko, użyj wartości, takiej jak sugerowana przez użytkownika user65 i jo (czytaj mój komentarz na temat odpowiedzi yoos) i iteruj, aż uzyskasz to, czego chcesz. Nie chcesz również, aby czas próbkowania był zbyt długi, ponieważ zaczniesz mieć problemy, gdy system sterowania zareaguje na hałas.

Goncalo Luis
źródło
1

Na twoje pytanie można odpowiedzieć tylko wtedy, gdy mamy parametry modelu twojego systemu. Najbardziej zasadowym podejściem do odpowiedzi na twoje pytanie byłoby przedstawienie wysoce nieliniowej dynamiki twojego systemu w dyskretnym czasie; następnie za pomocą tej reprezentacji można określić maksymalny rozmiar kroku, dla którego osiągnięta jest stabilność - będzie to maksymalna wartość, którą Twój system z powodzeniem może wykorzystać. Minimalny rozmiar kroku zostanie określony nie przez dynamikę systemu, ale przez sprzęt, którego używasz - w tym przypadku dotyczyłoby mnie przekroczenie prędkości.

JSycamore
źródło