Spisu treści:
- Krok 1: Przegląd
- Krok 2: Zbieranie części
- Krok 3: Lutowanie i mocowanie części na ramie
- Krok 4: Połączenia
- Krok 5: Skonfiguruj wszystko
- Krok 6: Transmisja na żywo
- Krok 7: Sztuka strojenia PID
- Krok 8: Funkcja Follow Me
- Krok 9: Szczęśliwego latania
Wideo: Follow Me - Przewodnik po inteligentnych dronach Raspberry Pi: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Czy zawsze zastanawiałeś się, jak zrobić drona od A do Z?
Ten samouczek pokazuje, jak krok po kroku wykonać quadkopter 450 mm, od zakupu części do testowania robota podczas pierwszego lotu.
Dodatkowo, dzięki Raspberry Pi i PiCamera, możesz przesyłać strumieniowo wideo na żywo na swoje urządzenie i sterować dronem w widoku pierwszej osoby! Raspberry Pi oferuje również możliwość jeszcze większego ulepszenia drona i dodania funkcji, takich jak śledzenie osób, unikanie przeszkód i stacja pogodowa. Ten samouczek pokaże Ci, jak sprawić, by Twój dron podążał za Tobą.
Zaletą Raspberry Pi jest przede wszystkim to, że może przetwarzać niektóre algorytmy sztucznej wizji dla funkcji, które wymagają, aby dron był „inteligentny”.
W tej instrukcji dowiesz się:
- Jakie narzędzia/części musisz kupić?
- Jak naprawić wszystkie części na ramie?
- Jak wykonać połączenia do układu napędowego?
- Jak skonfigurować mikrokontroler
- Jak podłączyć odbiornik do nadajnika?
- Jak przesyłać strumieniowo wideo nagrane przez drona na telefonie?
- Jak dostroić PID, aby uzyskać lepszą kontrolę?
- Jak wdrożyć śledzenie osób
Dron ma również czerwoną diodę LED, która włącza się, gdy dron kogoś szuka, oraz zieloną diodę, gdy ktoś zostanie wykryty, a dron za nim podąża. Zaimplementowano również przycisk, aby wyłączyć Pi przed odłączeniem baterii do karty SD Raspberry Pi, aby nie uległa uszkodzeniu.
Ten samouczek ma na celu ustalenie podstaw budowania inteligentnego drona z możliwością dostosowania, więc jeśli jesteś kompletnym początkującym, trafiłeś we właściwe miejsce!
Krok 1: Przegląd
Aby zbudować quadkopter, potrzebujemy 4 silników i 4 ESC (elektronicznego regulatora prędkości), z których każdy jest podłączony do silnika. Tablica rozdzielcza zasilania służy do dystrybucji energii z akumulatora do 4 esc.
ESC odbiera polecenie od kontrolera lotu (tutaj płyta MultiWii) i przesyła je do silnika.
Ten kontroler lotu ma żyroskop, akcelerometr i barometr. Możesz również dodać do niego moduł bluetooth i GPS.
Do wykonania połączenia pomiędzy Raspberry Pi a kontrolerem lotu używamy adaptera FTDI. W ten sposób możemy wysyłać polecenia do kontrolera z naszego Pi. Ponadto, aby wykonać kalibrację PID i wgrać oprogramowanie układowe Mulltiwii do kontrolera lotu, FTDI będzie bardzo przydatne.
Wreszcie zdalnie sterujemy dronem za pomocą pilota, który wysyła polecenia do odbiorników i przesyła je do kontrolera lotu.
Raspberry Pi zapewnia również strumień, który można oglądać w dowolnej przeglądarce z urządzenia, na przykład telefonu. W ten sposób możemy zobaczyć, co widzi kamera Pi, gdy jest w powietrzu.
Krok 2: Zbieranie części
Do pomyślnego ukończenia tego samouczka wymagane są następujące części:
1) Rama: 4-osiowa rama 450 F
2) Nadajnik i odbiornik: Flysky FS-i6X
3) Raspberry Pi: płyta główna Raspberry Pi 3 Model B;
4) aparat: PiCamera
5) Mikrokontroler: Crius MultiWii SEV2.6
6) FTDI: konwerter FTDI USB na TTL/FT232
7) Małe przewody: Elegoo 120 szt. Wielokolorowy drut Dupont
8) Silniki (x4): silnik bezszczotkowy Liobaba 1100KV 2-4S
9) ESC (x4): bezszczotkowy ESC 30A bezszczotkowy ESC z 5 V 3A UBEC
10) bateria: HRB 11.1V 5000mAh 3S 50C-100C akumulator LiPo;
11) Złącza: pozłacane złącza 3,5 mm (x4) i Artrinck XT-60 60A/100A męski żeński
12) Śmigła (x3): Śmigło FidgetGear 10x4,5 (niebieskie)
13) podkładka montażowa kontrolera lotu: podkładka montażowa kontrolera lotu;
14) Niektóre osłony termokurczliwe: Rurka termokurczliwa - SODIAL
15) Przewody: przewód 16GA
16) lutownica: zestaw lutownicy Holife, narzędzie spawalnicze z regulacją temperatury 60 W 110 V z regulacją temperatury;
Opcjonalny
- Brzęczyk: monitor niskiego napięcia Venom dla akumulatorów LiPO 2S do 8S
- Wsparcie/stelaż dla Pi i kontrolera lotu: Skrzynka do przechowywania dla Raspberry Pi
- Popraw swoje wrażenia z lutowania dzięki: Pomocne dłonie Elenco i 60-40 cyna ołowiowo-ołowiowa lutownica rdzeniowa
CAŁKOWITY koszt wszystkich tych części powinien wynosić 450,71 CAN$.
Krok 3: Lutowanie i mocowanie części na ramie
Dwie części wymagają lutowania:
- ESC (nie są dostarczane ze złączami na końcach)
- Tablica rozdzielcza zasilania (w naszym przypadku zintegrowana w ramie)
Użyj żeńskich złączy tx na przewodach dodanych do tablicy rozdzielczej, męskich złączy tx na przewodach bocznych tablicy rozdzielczej ESC i złotych złączy 3,5 mm na przewodach po stronie silnika ESC. Nie zapomnij dodać osłony termokurczliwej do izolacji (nie chcemy widzieć gołego drutu).
Porady dotyczące lutowania:
- Użyj płaskiej końcówki średniej wielkości (dostarczonej w zestawie lutowniczym) i podgrzej lutownicę do 400 stopni Celsjusza.
- Często czyścić końcówkę drutu lutowniczego gąbką wodną.
- Rozpuść trochę lutu na dwóch powierzchniach, które chcesz najpierw połączyć, a następnie sklej je i dodaj więcej lutu.
Aby uzyskać więcej informacji na temat lutowania wszystkiego, nie wahaj się zajrzeć na naszą stronę internetową.
Zamocuj części na ramie:
- Użyj dwóch śrub, aby przymocować silniki na końcach każdego ramienia.
- Zamocuj wspornik elektroniki na ramie za pomocą nakrętek i śrub.
- Zamocuj Pi na wsporniku za pomocą nakrętek i śrub.
- Przyklej podkładkę montażową (aby pochłaniać wibracje) na górze podpory i przyklej do niej Multiwii, upewniając się, że jest dokładnie na środku ramy i ze strzałką skierowaną między dwoma ramionami tego samego koloru.
- Przyklej odbiornik do wspornika za pomocą rzepa.
- Umieść ESC na każdym ramieniu z wiązaniem.
- Użyj pasków, aby przymocować baterię na dolnym poziomie ramy.
- Wywierć śmigła i umieść je na silnikach za pomocą specjalnej śruby dołączonej do silnika
Krok 4: Połączenia
Dla odbiorcy:
- Podłącz piny przepustnicy na MultiWii do kanału 3 na odbiorniku.
- Podłącz wałki do kanału 1 w odbiorniku.
- Podłącz piny Pitch do kanału 2.
- Podłącz piny Yaw do kanału 4.
- Podłącz Auxiliary 1 do kanału 5.
W przypadku RSG:
Z Multiwii skierowanym do przodu iz czarnym przewodem złącza poleceń ESC na dolnym styku Multiwii;
- Podłącz lewy górny ESC do D3.
- Podłącz prawy górny ESC do D10.
- Podłącz prawy dolny ESC do D9.
- Podłącz lewy dolny ESC do D11.
Dla Pi:
- Podłącz PiCamera.
- Podłącz FTDI do adaptera mini-USB/USB i podłącz go do Pi, a także podłącz piny FTDI do pinów FTDI MultiWii.
- Podłącz piny - i + MultiWii do 5V i uziemienia pinów GPIO w Pi.
Do silników
Domyślnie silniki obracają się w kierunku przeciwnym do ruchu wskazówek zegara (CCW). Tak więc dla górnego lewego i dolnego prawego silnika, musisz odwrócić połączenie przewodów z ESC (czarny z czerwonym i czerwony z czarnym), aby uzyskać kierunek zgodny z zegarem (CW).
Krok 5: Skonfiguruj wszystko
Zdejmij śmigła, aby wykonać następujące czynności.
Programowanie esc:
Elektroniczny regulator prędkości steruje silnikiem, dlatego dostępnych jest wiele opcji, a od Ciebie zależy, czy spersonalizujesz ESC, aby zachowywał się tak, jak chcesz.
Usuń wszystkie przewody podłączone do odbiornika.
Dla każdego ESC:
- Podłącz tylko jeden ESC do zasilania (w naszym przypadku do tablicy rozdzielczej) i upewnij się, że akumulator jest odłączony.
- Włóż piny ESC w kanał przepustnicy odbiornika (w naszym przypadku kanał 3).
- Włącz nadajnik.
- Ustaw przepustnicę na nadajniku w pozycji maksymalnej.
- Włączyć tablicę rozdzielczą, podłączając do niej akumulator. Możesz także użyć niektórych zacisków krokodylkowych i podłączyć bezpośrednio baterię do ESC.
- Po kilku sygnałach dźwiękowych powinien być słyszalny dźwięk muzyczny z 4 sygnałami dźwiękowymi. Po tej pierwszej muzyce ustaw przepustnicę w pozycji minimalnej nadajnika.
- Poczekaj na potwierdzenie z UBEC, wydane przez sygnał dźwiękowy.
- Zamknij nadajnik.
- Odłącz zasilanie (odłącz akumulator Li-Po)
Aby to przetestować:
- Włącz nadajnik z minimalną pozycją przepustnicy.
- Podłącz baterię.
- Stopniowo zwiększaj przepustnicę do maksymalnej mocy. Silnik powinien obracać się szybciej, gdy zwiększysz przepustnicę.
Konfiguracja tablicy kontroli lotów:
W tym kroku możesz usunąć kabel USB z FTDI na Pi i umieścić go w komputerze, co będzie wygodniejsze do zaprogramowania płytki.
- Pobierz oprogramowanie Arduino na swój komputer za pośrednictwem strony internetowej.
- Pobierz najnowszą wersję oprogramowania układowego multiwii i rozpakuj go na swój komputer.
- Wejdź do folderu MultiWii, który został wcześniej wyodrębniony, a następnie otwórz MultiWii.ino, który uruchomi Arduino.
- Przejdź do pliku config.h w Arduino, usuń // przed #define QUADX, aby ustawić typ konfiguracji multikoptera, a przed #define CRIUS_SE_v2_0, aby wybrać typ płyty.
- Następnie wejdź w Narzędzia -> Płytka -> i wybierz Arduino Pro lub Pro Mini i upewnij się, że w Narzędzia -> Procesor -> wybrany jest ATMmega328P (5V, 16MHz).
- Ostatnią konfiguracją, którą musimy wykonać przed wgraniem na płytkę, jest przejście w Narzędzia -> Port -> wybierz port swojego MultiWii (dla nas COM3).
- Kliknij weryfikuj, a następnie prześlij.
- Gdy kod jest ładowany na Crius MultiWii SE v2.6, powinieneś zobaczyć migające światła zarówno na płycie kontrolera, jak i płycie FTDI.
Skalibruj czujniki na tablicy sterowania lotem:
- Przejdź do folderu MultiWiiConf znajdującego się w folderze MultiWii pobranym wcześniej z ich strony internetowej.
- Następnie przejdź do -> folder application.windows32 -> kliknij dwukrotnie aplikację MultiWiiConf. (Zauważ, że nawet gdybym miał Windows 64-bitowy, tylko aplikacja 32-bitowa wydaje się działać).
- Musisz wybrać port, do którego podłączony jest kontroler lotu (w tym przypadku COM3).
- Kliknij Czytaj.
- Kliknij Start.
- Połóż tablicę płasko na biurku, a następnie kliknij Calib_acc.
- Kliknij Calib_mag, a następnie obróć deskę we wszystkich kierunkach w ciągu 30 sekund tak szybko, jak to możliwe. Powinieneś zobaczyć skoki na całym wykresie.
Aby to przetestować:
Obracaj deskę na osi pitch, roll i yaw i zobacz, czy to, co pokazują czujniki w oprogramowaniu, ma sens
Konfiguracja nadajnika (pilot):
Po pierwsze, możesz sprawdzić, który drążek steruje którym kanałem w menu wyświetlania:
- Przed uruchomieniem kontrolera upewnij się, że wszystkie przełączniki są w górę, a drążek gazu (lewy drążek) jest na dole.
- Uruchom kontroler.
- Przytrzymaj przycisk OK.
- Wejdź w Ustawienia, a następnie Wyświetl.
- Możesz poruszać drążkami, aby zobaczyć, który kanał zareaguje.
Zanim przejdziesz dalej, wybierz model i nazwę:
- Wejdź w System-> Model select -> wybierz model.
- Przejdź do System -> Nazwa modelu. I nadaj mu nazwę. Przytrzymaj anulowanie, aby zapisać zmiany.
- Wejdź w System-> Wpisz select i ustaw go jako Samolot lub szybowiec, nawet jeśli jest to quadrirotor.
- Ustaw przycinanie w Subtrim Menu. Gdy drążki znajdują się w neutralnej pozycji, kanały (patrz w menu wyświetlacza) muszą być ustawione na 0% dla odchylenia, pochylenia i przechyłu.
- Przytrzymaj anulowanie, aby zapisać ustawienia.
Następnie ustawmy ustawienia Failsafe:
Zapewnia to, że gdy dron oddali się zbyt daleko od kontrolera i utraci sygnał, wszystkie elementy sterujące przejdą do pozycji neutralnej. Aby to zrobić, musimy ustawić kanał 1, 2 i 4 na 0% i aktywować na nich funkcję failsafe za pomocą menu Failsafe. Musimy również aktywować failsafe na przepustnicy i ustawić go na 100%.
Możesz także użyć innych przełączników na kontrolerze, aktywując je w System-> Aux. przełączniki.
Więcej informacji na temat tej sekcji można znaleźć na naszej stronie internetowej.
Krok 6: Transmisja na żywo
Raspberry Pi to komputer, a to, co możesz zrobić z latającym komputerem, ogranicza tylko twoją wyobraźnię.
Aby transmitować na żywo:
- Włącz PiCamera. Aby to zrobić, uruchom Pi i podłącz do niego mysz i monitor. Kliknij logo rasbian w lewym górnym rogu, przejdź do preferencji, następnie Konfiguracja Raspberry Pi, a następnie w zakładce interfejsy upewnij się, że kamera jest zaznaczona jako włączona. Następnie kliknij OK.
- Pobierz skrypt (źródło kodu: losowe tutoriale dla nerdów) i umieść go w swoim katalogu domowym.
- Uruchom skrypt, wpisując „python3 rpi_camera_surveillance_system.py” na terminalu.
Po uruchomieniu skryptu możesz uzyskać dostęp do serwera internetowego strumienia wideo pod adresem: https://:8000. Zastąp własnym adresem IP Raspberry Pi, w moim przypadku
Jeśli nie znasz swojego adresu IP Pi, możesz go poznać, wpisując ifconfig w terminalu, który podaje adres.
Możesz uzyskać dostęp do transmisji na żywo za pośrednictwem dowolnego urządzenia podłączonego do tej samej sieci, co Raspberry Pi. Wystarczy otworzyć przeglądarkę.
Możesz także uruchomić ten program ze swojego smartfona. Wystarczy zainstalować aplikację Terminus (jeśli masz iPhone'a).
Aby uruchomić strumień bezpośrednio, gdy Pi jest zasilane (czyli gdy dron jest włączony), wpisz na terminalu:
sudo nano /home/pi/.bashrc
Następnie przejdź do ostatniej linii i dodaj:
echo Działa przy starcie
sudo python3 /home/pi/ rpi_camera_surveillance_system.py
ponowne uruchomienie sudo
Zapisz plik, naciskając Ctrl + X, a następnie wpisz Y i kliknij Enter.
Gratulacje, Twoja transmisja na żywo jest już ustawiona! Możesz go użyć do szpiegowania sąsiadów lub ścigania się w FPV!
Krok 7: Sztuka strojenia PID
Jesteś gotowy na swój pierwszy lot. Pierwszą rzeczą, którą powinieneś zrobić, to wypróbować drona bez śmigła, aby sprawdzić, czy wszystko działa dobrze.
Następnie możesz dodać śmigła i zacząć bardzo powoli zwiększać przepustnicę, aby zobaczyć, czy możesz wystartować.
Twój dron prawdopodobnie powoli oscyluje, wibruje lub gwiżdże silniki. Oznacza to, że musisz skonfigurować ustawienia PID!
Ta część zajmuje trochę czasu, jeśli chcesz bardzo stabilnego drona, który dobrze reaguje na twoje polecenia. Ustawienie PID jest subiektywne, więc tak naprawdę zależy od Ciebie, jak chcesz, aby Twój dron latał. Oto procedura:
- Zacznij od niskiego I na pitch and roll (0,01) i zwiększaj P, aż zobaczysz oscylacje o wysokiej częstotliwości i zmniejsz je z powrotem do ostatniej wartości.
- Następnie zwiększaj I na tonie i kołysaj się o 0,01, aż ponownie zobaczysz wibracje lub poczujesz, że dron jest sztywny i nie reaguje. Zazwyczaj ustawienie I może ci pomóc, jeśli wystąpią spadki wysokości i dryfowanie. Przeciwdziała perturbacji w twoim systemie (dronie).
- Opuść swoje P, jeśli zauważyłeś jakiekolwiek drgania o wysokiej częstotliwości.
- Zmniejsz D, jeśli twój dron wydaje się zbyt wytłumiony (niski, aby zareagować).
W przypadku osi odchylenia zazwyczaj możesz pozostawić ją domyślną, ale jeśli czujesz, że twój dron dryfuje w osi odchylenia, możesz zwiększyć I.
Krok 8: Funkcja Follow Me
Autonomiczny dron jest niesamowity, może latać i poruszać się bez obaw.
Dron wykonany w tym samouczku może to zrobić, przetwarzając dane, które przechwytują jego czujniki.
Aby wdrożyć funkcję taką jak śledzenie osób, musisz:
- Użyj kamery drona, aby pomóc mu zauważyć jego otoczenie.
- Użyj algorytmu sztucznego widzenia do analizy otoczenia.
- Zaplanuj trajektorię lotu drona.
- Nakaż kierunek podążania do drona.
Mówiąc dokładniej, kamera Pi może dostarczać strumień obrazów na żywo do Raspberry Pi, który jest komputerem o mocy wystarczającej do uruchomienia niektórych algorytmów sztucznego widzenia.
Algorytmy te mogą wykryć osobę na zdjęciu i przeanalizować pozycję tej osoby. Algorytm kaskadowy Haara lub głębokie sieci neuronowe mogą być do tego przydatnymi algorytmami.
Dlatego, znając pozycję osoby, za którą należy podążać, możesz zaplanować, jak poruszają się silniki i jaki kierunek obrać w zależności od położenia śledzonego obiektu w kadrze. Na przykład, jeśli osoba, która ma być śledzona, znajduje się po prawej stronie klatki wykonanej przez kamerę Pi, algorytm nakazuje dronowi skręcić w prawo.
Wreszcie, po wybraniu kierunku, w którym powinien podążać dron, Raspberry Pi musi wysłać polecenie do Multiwii, aby umożliwić dronowi udanie się w tym kierunku. Aby to zrobić, MSP (Multiwii Serial Protocol) jest przydatny do komunikacji między komputerem (Pi) a kontrolerem lotu.
Tutaj znajdziesz załączony sposób, jak to zakodować.
Na naszej stronie internetowej została pokazana bardziej niezawodna metoda wykorzystująca tensorflow i głębokie sieci neuronowe do wykrywania osób.
Możesz też wyobrazić sobie wiele innych sposobów na ulepszenie autonomicznego drona, na przykład zmuszanie go do robienia zdjęć za każdym razem, gdy widzi drzewo lub zwierzę. Unikanie obiektów jest również możliwe do wdrożenia, po prostu ustawiłeś drona, aby zatrzymał swój wyścig, jeśli znajduje się bliżej niż określona odległość od obiektu.
Możesz również dowiedzieć się na stronie internetowej, jak podłączyć diodę LED do Pi i włączyć ją, gdy dron wykryje kogoś, za kim możesz podążać!
Krok 9: Szczęśliwego latania
Uruchom drona i ciesz się lotem.
Jeśli chcesz pójść dalej i wdrożyć śledzenie osób na swoim dronie, możesz odwiedzić naszą stronę internetową, aby zapoznać się z samouczkiem na ten temat.
Dziękujemy za przygotowanie tego samouczka!
Zalecana:
35 USD Wireless Follow Focus z dźwigu 2: 5 kroków
Bezprzewodowy follow focus za 35 USD z żurawia 2: Zróbmy bezprzewodowy follow focus za 35 USD dla Twojego aparatu. Może to być świetne do użytku na planach filmowych z dedykowanym ściągaczem ostrości i może być używane do bezprzewodowej regulacji zoomu lub ostrości dowolnej kamery
SONOFF dodaje Alexa i sterowanie głosowe Google Home do inteligentnych urządzeń ZigBee: 3 kroki
SONOFF dodaje Alexa i Google Home Voice Control do inteligentnych urządzeń ZigBee: Od inteligentnych przełączników i wtyczek Wi-Fi po inteligentne przełączniki i wtyczki ZigBee, sterowanie głosowe jest popularnym, inteligentnym punktem sterowania bez użycia rąk. Dzięki współpracy z Amazon Alexa lub Google Home inteligentne wtyczki pozwalają przejąć bezpośrednią kontrolę nad podłączonym domem
Utrzymuj dziecko w chłodzie tego lata - Kontroluj głupich fanów za pomocą inteligentnych rzeczy!: 6 kroków (ze zdjęciami)
Utrzymuj swoje dziecko w chłodzie tego lata - Kontroluj głupich fanów za pomocą inteligentnych rzeczy!: Od dwóch tygodni temu, w momencie pisania tego, zostałem tatą niesamowitego chłopca! Wraz ze zmieniającymi się porami roku, wydłużającymi się dniami i coraz cieplejszymi temperaturami, pomyślałem, że dobrze byłoby mieć jakiś monitor w
Motion Follow Animatronics Eyes: 8 kroków (ze zdjęciami)
Motion Follow Animatronics Eyes: Ten projekt Arduino wykorzystuje optyczny czujnik przepływu (ADNS3080) do przechwytywania ruchu. Następnie przetłumacz dane, aby poruszać serwomechanizmem, dzięki czemu wygląda, jakby oczy podążały za poruszającym się obiektem. Nie jest to łatwa konstrukcja. Wymaga drukowania 3D, lutowania, niektórych ogólnych te
Modernizacja inteligentnych diod LED RGB: WS2812B Vs. WS2812: 6 kroków
Modernizacja inteligentnych diod LED RGB: WS2812B Vs. WS2812: Sama liczba projektów, które widzieliśmy wykorzystując inteligentne diody LED RGB - niezależnie od tego, czy są to paski, moduły, czy niestandardowe płytki PCB - w ciągu ostatnich 3 lat jest dość zdumiewająca. Wybuch użycia diod RGB LED szedł w parze ze znacz