Obsah:

Autonomní sledovací dron s Raspberry Pi: 5 kroků
Autonomní sledovací dron s Raspberry Pi: 5 kroků

Video: Autonomní sledovací dron s Raspberry Pi: 5 kroků

Video: Autonomní sledovací dron s Raspberry Pi: 5 kroků
Video: Nepřátelský DRON?! Přebíráme kontrolu!! ✈️ 2024, Listopad
Anonim
Autonomní sledovací dron s Raspberry Pi
Autonomní sledovací dron s Raspberry Pi

Tento tutoriál ukazuje, jak můžete nakonec vytvořit dron pro sledování linky.

Tento dron bude mít přepínač „autonomního režimu“, který přepne dron do režimu. S dronem tedy můžete stále létat jako dříve.

Uvědomte si prosím, že jeho sestavení bude nějakou dobu trvat a ještě více času na přizpůsobení. Ale poslední… vás donutí přemýšlet, že to stojí za to.

Chcete -li začít vytvářet vlastní dron autonomního sledovacího zařízení, ujistěte se, že máte;

  • Rasberry Pi 3 nebo Raspberry Pi Zero W s přístupem SSH
  • Dron připravený k letu s letovým ovladačem APM nebo Pixhawk
  • Arduino Leonardo nebo jiné Arduino s rychlým taktem
  • Minimálně 6kanálový vysílač
  • Webová kamera USB podporující Raspberry Pi a OpenCV
  • PC
  • 6 tranzistorů pro všeobecné použití
  • Kabely pro zapojení

Krok 1: Nápad a připojení

Myšlenka a spojení
Myšlenka a spojení

APM, alias ArduPilot, je letový ovladač založený na Arduino Mega. To znamená, že jej můžeme upravit tak, aby byl pro náš případ nejlepší. Ale protože k tomu nemám informace, půjdu následovat jinou cestu.

Raspberry Pi bohužel nejsou časově citlivé, což znamená, že se nemohou vypořádat se signály PPM.

Proto potřebujeme přídavnou desku Arduino.

Tímto způsobem Raspberry Pi zpracuje obrázky a vypočítá letové pokyny a odešle je do Arduina přes rozhraní Serial UART. Zde bude stát karta Arduino jako kodér/dekodér PPM, který kóduje letové pokyny do signálů PPM, které chce APM. Pro představu můžete prozkoumat symbolické schéma zapojení.

Raspberry Pi se bude chovat jako telemetrický vysílač vedle detekční linky.

Základní obvod je zobrazen na obrázcích. V dalších krocích budu pokračovat ve vysvětlování.

Krok 2: Připojení a konfigurace Raspberry Pi

Připojení a konfigurace Raspberry Pi
Připojení a konfigurace Raspberry Pi
Připojení a konfigurace Raspberry Pi
Připojení a konfigurace Raspberry Pi

Raspberry Pi bude připojeno k Wi-Fi adaptéru (volitelně), USB webové kameře, Arduino Leonardo přes USB, APM pomocí vestavěného sériového rozhraní. APM - připojení RPI zobrazené s detaily na obrázcích.

Chcete -li konfigurovat, máte dvě možnosti: čistý Raspbian s potřebnými balíčky nebo speciální obrázek pro připojení MAVLink s názvem APSync. Pokud budete používat Raspbian, ujistěte se, že jste nainstalovali tyto balíčky:

sudo apt-get update

sudo apt-get install -y obrazovka python-wxgtk3.0 python-matplotlib sudo apt-get install -y python-opencv python-pip python-numpy python-dev sudo apt-get install -y libxml2-dev libxslt-dev python- lxml sudo pip install budoucí pymavlink mavproxy pyserial

Abyste mohli používat vestavěné sériové rozhraní Raspberry Pi, musíte říct OS, aby jej nepoužíval. Chcete -li to provést, zadejte

sudo raspi-config

a následujte Možnosti rozhraní> Sériové rozhraní

Musíte zakázat sériové rozhraní, ale povolit sériový hardware.

V tuto chvíli je zbytek vhodný pro Raspbian i APSync.

V domovském adresáři vytvořte tři soubory: restartujte skript a skript obrazového procesoru. Druhý řádek umožňuje spuštění skriptu pro restart.

klepněte na reboot.sh image_processor.py

chmod +x reboot.sh

Zkopírujte všechny řádky v níže uvedených souborech do svého domovského adresáře (/home/pi) v Raspberry Pi.

Skript pro restart bude obsahovat spouštěče, které budou spouštět obrazový procesor a telemetrické skripty. Také několik nastavení. Pokud funkci telemetrie nechcete, přidejte před ni řádek #.

nano reboot.sh

#!/bin/bash

python3 /home/pi/image_processor.py

Uložte jej pomocí CTRL+O a ukončete pomocí CTRL+X. Posledním krokem je registrace do spouštěcího souboru OS, rc.local

sudo nano /etc/rc.local

Připojit tento řádek nad exit 0:

/home/pi/reboot.sh

Náš skript pro restart bude spuštěn při každém spuštění.

Chceme, aby Raspberry Pi zaznamenávalo živé video, zpracovávalo jej za běhu, počítalo letové pokyny, odesílalo jej letovému kontroléru a bylo telemetrické. Ale protože Raspberry Pi není schopno generovat signál PPM, který APM chce, potřebujeme jiný způsob, jak toho dosáhnout.

Raspberry Pi odešle svůj výstup pro zpracování obrazu do Arduina (v mém případě Arduino Leonardo) přes sériový port. Arduino z tohoto vstupu vygeneruje signál PPM a odešle jej do letového ovladače přes propojovací vodiče. To vše je pro Raspberry Pi.

Přejděme k dalšímu kroku.

Krok 3: Připojení a konfigurace APM

Připojení a konfigurace APM
Připojení a konfigurace APM

Věci o APM jsou jednoduché, protože jsou již připraveny k letu. Potřebujeme znát přenosové rychlosti sériových portů a zajistit, aby byl povolen port TELEM.

Ve vašem pozemním softwaru, v mém případě plánovači misí, zkontrolujte seznam parametrů letového ovladače a vyhledejte přenosové rychlosti. Například SERIAL_BAUD je přenosová rychlost USB a SERIAL_BAUD1 je přenosová rychlost TELEM portu pro APM. Všimněte si, že hodnoty.

Nejdůležitější částí je připojení pinů INPUT. Jak je znázorněno na obrázku, připojte digitální kolíky Arduina 4 důkladně 9. K tomu můžete použít chlebový můstek, protože přidáme nějaké tranzistory a výstupy přijímače. (Viz obrázky) (Tranzistory budou fungovat v případě, že chcete převzít kontrolu nad svým dronem)

ARD 4 ↔ VSTUP APM 1

ARD 5 ↔ VSTUP APM 2

ARD 6 ↔ VSTUP APM 3

ARD 7 ↔ VSTUP APM 4

ARD 8 ↔ VSTUP APM 5

ARD 9 ↔ VSTUP APM 6

Připojte všechny 5V piny na vstupu APM k pinu Arduino Leonardo 5V. Stejně tak připojte všechny GNM piny APM Input na pin Arduino Leonardo GND.

Krok 4: Konfigurace Arduino Leonardo

Pro Leonarda jsme připojili všechny vodiče, takže zbyl jen kód.

Nahrajte níže uvedený kód do svého Arduino Leonardo. Věnujte pozornost přenosovým rychlostem.

Krok 5: První let

Když jste hotovi se všemi předchozími kroky, znamená to, že jste připraveni.

Zapněte všechny karty a připojte se pomocí SSH k Raspberry Pi. Zadejte terminál:

sudo su

mavproxy.py --master =/dev/[SÉRIOVÉ ROZHRANÍ] -rychlost přenosu [TELEM PORT BAUDRATE] -letadlo [CUSTOM NAME

Výchozí vestavěné sériové rozhraní Raspberry Pi je ttyS0 (/dev/ttyS0)

Výchozí přenosová rychlost portu TELEM APM je 57 600

Výchozí přenosová rychlost USB portu APM je 115200

Svému letounu můžete dát libovolný název, vybírat jej moudře, abyste jej mohli později rozpoznat.

Pokud je vše v pořádku, připojte se nyní ke svému Raspberry Pi přes VNC, abyste mohli sledovat, co dron vidí v reálném čase.

Nyní můžete svůj dron vyzbrojit. Vzrušující, že?

Sundejte dron a leťte nad čárou. Nyní můžete aktivovat režim sledování čáry pomocí přepínače CH6.

Doporučuje: