Skocz do zawartości

[kopter] AutoPitLot


Pomocna odpowiedź

Mój robot dosyć mocno odbiega od tego co publikujecie na forum, ale zaryzykuję - w końcu większość problemów z jakimi się zmagamy jest podobna.

Uciekam spać, dlatego dodam tylko, że projekt jest idealny do publikacji 🙂 W końcu w marcu, w Wiedniu "walczyć" będą między innymi właśnie takie roboty. Wiele osób będzie na pewno zainteresowanych działaniem takiej maszyny.

Link do komentarza
Share on other sites

W końcu w marcu, w Wiedniu "walczyć" będą między innymi właśnie takie roboty. Wiele osób będzie na pewno zainteresowanych działaniem takiej maszyny.

Do Wiednia jeszcze mi daleko. Pełna autonomia na takim małym polu to nie lada wyzwanie. Dla GPSu może być za mało a póki co nie ma szans aby do tego czasu zbudować jakiś niezależny system referencyjny oparty na beaconach czy analizie obrazu. Wole się skupić na funkcjach użytkowych niż pracować pod katem konkursu.

Link do komentarza
Share on other sites

Konstrukcje latające mają niesamowicie rozbudowany system sterowania zawierający różne regulatory, filtry Kalmana, wielokrotne pętle sprzężenia zwrotnego itd. Nie dość, że wymagają ogromnej wiedzy, to jeszcze pochłaniają ogromną ilość czasu na testy, a przy okazji są drogie i niebezpieczne. Zbudowanie czegoś takiego to nie lada wyzwanie i mało kto jest się go w stanie podjąć. Dlatego właśnie nie ma na naszym forum tego typu konstrukcji. Nie zmienia to jednak faktu, że są one niezwykle ciekawe i pewnie każdy z chęcią poczyta jak sobie radzą inni. Szczególnie na takim poziomie zaawansowania.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Wiedzę zdobywa się w trakcie budowy. Tak szacuję że mam już 30% pracy zrobionej, resztę trzeba jeszcze wymyślić, zimplementować i przetestować. Regulatory to klasyczne PID równoległe, no może jakieś proste regulatory nadążne do śledzenia dryftu czujników.

Filtr Kalmana próbowałem zaimplementować, ale na razie bez większych sukcesów. Napisałem kiedyś artykuł o filtrze Kalmana, dałem tam link do swojej implementacji filtra gdzie próbowałem filtrować wysokość podpartą pomiarami pierwszej pochodnej (wariometr) i drugiej pochodnej (składowa Z akcelerometru), ale nie bardzo mi to działało. Algorytm filtra powinien być dobry, bo gdy przepuszczam przez niego wektory testowe, to na wyjściu pojawia się poprawna poprawna odpowiedź. Podejrzewam że problem leży w jego konfiguracji. Pewnie za jakiś czas do tego wrócę. Tak to już jest że nie wszystko daje się zrobić za pierwszym razem. Odświeżenie tematu po pół roku daje świeże spojrzenie na problem i często przynosi rozwiązanie. Jeżeli nie pierwsze odświeżenie, to kolejne. Przykładowo loger na karcie SD ruszył w pełni sprawny dopiero za piątym, chociaż już po trzecim rejestrowałem loty, tyle że pasywnie, bez sterowania lotem.

Pochłanianie czasu - całkowicie się zgodzę. Projekt wystartował 2 lata temu późną jesienią. W zeszłym roku doczekał się drugiej wersji sprzętu. Pracuję nad nim praktycznie tylko zimą, bo wtedy jako pracownik sezonowy mam najwięcej czasu na programowanie. Latem gdy jest optymalny czas na latanie tego typu zabawkami jestem zbyt zajęty banalnym zarabianiem pieniędzy - z czegoś trzeba żyć.

Cieszę się że zostałem ciepło przyjęty. Jeżeli macie jakieś konkretne pytania chętnie odpowiem. Schematów ani kodu raczej nie będę publikował w całości. Schematy do pewnych elementów projektu są opublikowane u nie na stronie. Prowadzę też coś w tylu workloga u siebie na forum. Jeżeli ktoś ma chęć i czas to zapraszam do lektury ponad setki listów.

Link do komentarza
Share on other sites

To sterowanie powstawało na podstawie obliczenia modelu stanowego quadrokoptera a następnie analitycznym doborze sterowników, czy te PIDy były nastrajane doświadczalnie?

Bo sama implementacja modelu stanowego to chyba nie lada wyzwanie. Z tego co widzę, powinien zawierać położenia i prędkości dla osi X,Y,Z zarówno liniowe jak i kątowe, a może i również przyspieszenia. To już wychodzi co najmniej 12 zmiennych stanu, 3 sygnały sterujące i 3 sygnały zadające. Albo jeżeli osie można by było traktować od siebie niezależnie to wychodzą już 3 macierze stanu 4x4 w niezależnych pętlach. Poza PIDami można też użyć regulacji ze sprzężeniem od stanu, przy użyciu macierzy sterowalności i obserwowalności itd. Do tej pory wszystko o czym tutaj piszę znałem tylko w teorii. Fajnie, że w końcu mogę zobaczyć realny obiekt i realne problemy związane z takim sterowaniem.

Link do komentarza
Share on other sites

To sterowanie powstawało na podstawie obliczenia modelu stanowego quadrokoptera a następnie analitycznym doborze sterowników, czy te PIDy były nastrajane doświadczalnie?

Doświadczalnie. Na analitykę jestem jeszcze trochę za cienki, chociaż trzeba kiedyś będzie to ruszyć. Zaczynałem od najprostszych spraw, czyli sterowaniu obrotem w osi Z na uwięzi, potem było pochylenie i przechylenie na uwięzi. Jedynie sterowanie prędkością wznoszenia i wysokością trzeba było robić w locie, bo nie dysponuję takimi obiektami, gdzie mógłbym miałbym ~10m do sufitu.

Pomiary na uwięzi (znajdowanie wzmocnienia krytycznego metoda Z-N) dają inne wyniki niż w locie, ale pozwoliły znaleźć przybliżone nastawy, przy których kopter już mógł latać. Resztę stroję teraz w locie. Zdefiniowałem sobie jeden kanał aparatury jako zadajnik jednego z parametrów i mogę w locie zmieniać ten parametr. Mimo wszystko najbardziej użyteczna jest analiza logów gdzie obserwuję poszczególne składowe: członów regulatora, wartość zadaną i całkowitą odpowiedź regulatora oraz wartość do regulacji i na tej podstawie widzę czego mi brakuje.

Bo sama implementacja modelu stanowego to chyba nie lada wyzwanie. Z tego co widzę, powinien zawierać położenia i prędkości dla osi X,Y,Z zarówno liniowe jak i kątowe, a może i również przyspieszenia. To już wychodzi co najmniej 12 zmiennych stanu, 3 sygnały sterujące i 3 sygnały zadające. Albo jeżeli osie można by było traktować od siebie niezależnie to wychodzą już 3 macierze stanu 4x4 w niezależnych pętlach.

Obawiam się że osi nie można rozpatrywać niezależnie, ale mogę się mylić. Nie bardzo jest czym mierzyć parametry liniowe ruchu, natomiast dochodzi jeszcze pomiar z czujnika magnetycznego używany jako niezależny układ referencyjny, potrzebny głównie do korekcji w osi Z, gdzie akcelerometry nie są wstanie skorygować dryftu żyroskopu. Bardzo trudny pomiar, subtelny i łatwo zakłócalny od pól magnetycznych napędu.

Jest wiele sposobów na ogarnięcie stanu platformy latającej. Ja używam kwaternionów do liczenia kątów orientacji w przestrzeni na podstawie przyspieszeń i prędkości kątowych. Prędkości liniowych na razie nie uwzględniam. To będzie pewnie potrzebne dopiero do autonomicznej nawigacji, czyli jeszcze przede mną.

Jeżeli chodzi o sterowanie kopterem, to w najprostszej wersji wystarczy odczyt żyroskopów i podawanie wartości zadanej z aparatury na pojedynczy regulator P lub PI. Do tego mikser i sterowanie członami wykonawczymi. Tak latają najprostsze koptery. W bardziej zaawansowanych ten tryb pracy nazywa się akrobacyjnym. U mnie włączenie tego tryby polega na wyłączeniu drugiego regulatora w kaskadzie, tego od stabilizacji kąta. Stabilizuje się tylko pierwsze pochodne kątów (prędkości kątowe prosto z żyroskopów) i ewentualnie wysokość. Potrzeba tylko połowy PIDów i nie trzeba pełnej jednostki inercyjnej. Ja to przegapiłem na swoim etapie rozwoju. Gdybym zorientował się wczesniej pewnie latał bym już pół roku wcześniej.

Poza PIDami można też użyć regulacji ze sprzężeniem od stanu, przy użyciu macierzy sterowalności i obserwowalności itd. Do tej pory wszystko o czym tutaj piszę znałem tylko w teorii.

Czy możesz polecić źródło teorii? Słyszę po raz pierwszy o takich macierzach (nie mam formalnego wykształcenia w tej branży).

  • Lubię! 1
Link do komentarza
Share on other sites

Obawiam się że osi nie można rozpatrywać niezależnie, ale mogę się mylić. Nie bardzo jest czym mierzyć parametry liniowe ruchu

Dodatkowym problemem są charakterystyki napędów. Znajomy robiący quadrokoptera pokazywał mi przebiegi zmierzonych prędkości obrotowych w zależności od zadanej wartości. Były mocno nieliniowe, nierówne (na niektórych odcinkach miały wręcz zmienną monotoniczność!), a do tego każdy silnik miał nieco inny kształt przebiegu i różne "moce" - mimo iż to były teoretycznie takie same silniki. Badania robił na hamowni.

Świetna konstrukcja. Jaki udźwig?

Link do komentarza
Share on other sites

Dodatkowym problemem są charakterystyki napędów. Znajomy robiący quadrokoptera pokazywał mi przebiegi zmierzonych prędkości obrotowych w zależności od zadanej wartości. Były mocno nieliniowe, nierówne (na niektórych odcinkach miały wręcz zmienną monotoniczność!), a do tego każdy silnik miał nieco inny kształt przebiegu i różne "moce" - mimo iż to były teoretycznie takie same silniki. Badania robił na hamowni.

Ja jeszcze nie mam możliwości pomiaru ciągu przez komputer. Może kiedyś kupię jakąś wagę z wyjściem na RS232, ale na razie nie mam. Natomiast robiłem pomiary prędkości obrotowej w funkcji wysterowania. Zrobiłem nawet taką procedurę "Test drive". Tutaj jest wynik działania przy pomiarze dwu dwu silników (mam tylko dwa kanały do pomiaru prędkości obrotowej):

Na wykresie na górze, czerwony wykres to prąd w A pobierany z pakietu (przez oba silniki). Środkowy zielonkawy i czerwonawy to wysterowanie regulatorów silników podanej w mikrosekundach szerokości impulsu PWM (takiego jak dla serwa). Najpierw najeżdzam liniowo od minimum do maksimum a potem zdejmuję jeszcze wyglad zboczy sygnału dla typowego zakresu pracy. To pozwala na ocenę szybkości rozpędzania się i hamowania napędu.

Dolny wykres to pomiar prędkości obrotowej w obr/min. Na jednym silniku jest śmigło 12x4,5, drugi jest bez śmigła. Mierzone to jest optycznym czujnikiem prędkości obrotowej

Świetna konstrukcja. Jaki udźwig?

Tutaj na razie jest kiszka, bo pomyłkowo zamiast śmigieł 10x4,5 wziąłem 12x4,5. Niedawno widziałem test porównawczy i śmigła APC 10x4,5 miały efektywność 7g/W a te moje 4,4g/W. Tutaj jest ten test.

Mój kopter ostatnio ważył coś w okolicach 1,2kg i potrafi iść do góry zaledwie 4m/s. Da się przeżyć, ale jest krowiasto. Tak czy inaczej na razie nie przeszkadza mi to w badaniach nad urządzeniem. Gdy już wytłukę wszystkie śmigła 12" i nauczę się porządnie latać wtedy przejdę na efektywniejsze, ale i ostrzejsze śmigła APC. Zbyt szybka maszyna dla początkującego pilota też nie jest najlepszym rozwiązaniem.

Link do komentarza
Share on other sites

Tutaj na razie jest kiszka, bo pomyłkowo zamiast śmigieł 10x4,5 wziąłem 12x4,5. Niedawno widziałem test porównawczy i śmigła APC 10x4,5 miały efektywność 7g/W a te moje 4,4g/W.

Może nie powinienem wypisywać swoich uwag, ale ostatnio też robię koptera i to co napisałeś według mojej wiedzy jest prawdą tylko dla określonego typu silnika z określonym KV. Różne śmigła "lubią" różne silniki. Generalnie zgadza się, że przy mniejszym śmigle będziesz miał większy udźwig bo silnik rozkręci się pod mniejszym obciążeniem do większych obrotów, ale u ciebie wcale nie musi to oznaczać dokładnie takiej samej sprawności i zależności (no chyba że masz identyczny silnik jak na wskazanej stronie), dużo zależy od KV silnika.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.