VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF CONTROL AND INSTRUMENTATION POUŽITÍ ŘÍDICÍ JEDNOTKY PIXHAWK SEMESTRÁLNÍ PRÁCE DO PŘEDMĚTU ROBOTIKA AUTOR PRÁCE Bc. Tomáš Pilný VEDOUCÍ PRÁCE Ing. Petr Gábrlík BRNO 2016
Zadání Cílem práce je seznámit se s řídicí jednotkou Pixhawk a její konfigurací pro použití na šestirotorovém UAV vyvíjeném na ÚAMT. Konfigurace se skládá z volby vhodného firmware, nastavení parametrů UAV, volba a konfigurace periferií atd. Předpokládá se spolupráce mezi skupinami pracující na Hexacopteru.
Obsah 1 Úvod...4 2 Vymezení pojmů...5 2.1 Hardware...5 2.1.1 APM...5 2.1.2 PX4FMU (FMUv1)...5 2.1.3 PX4IO...6 2.1.4 Pixhawk (FMUv2)...6 2.1.5 Electronic Speed Control ESC...7 2.2 Software...7 2.2.1 Grafické rozhraní...7 2.2.2 Firmware / stack...9 3 Setup...10 3.1 Nutné komponenty...11 3.2 Volitelné komponenty...11 3.3 Postup přípravy...11 3.4 Nastavení radiovysílače...12 4 Závěr...13 3
1 ÚVOD Zkratkou UAV z anglického Unmaned Aerial Vehicle, česky bepilotní letadlo, nebo též dron (anglicky psáno drone), označujeme malý létací stroj bez posádky, který může být řízen na dálku, nebo létat samostatně pomocí předprogramovaných letových plánů nebo pomocí složitějších dynamických autonomních systémů. Bezpilotní stroje (dále už jen drony) mají široké využití v armádě i v civilním sektoru. Ve vojenství se využívají zejména ke špionáži kde mohou plnit svoji funkci déle než by byl schopný člověk. V případě ztráty stroje je pak ušetřen lidský život. V civilním sektoru se mohou využívat například k hašení požárů, zjišťování informací v lokalitách nebezpečným člověku jako je například kráter aktivní sopky, radiací zamořené území, nebo jen složitě přístupná místa jako jsou výškové budovy, komíny, vedení vysokého napětí a mnoho dalšího. Kromě letadel se můžeme setkat i s velmi rozšířenými multikoptérami. Multikoptérou se rozumí stroj s více než jednou vrtulí. Výhodou multikoptér je jejich jednoduchá konstrukce. Podle počtu vrtulí je pak používa odlišný název. Práce na tomto projektu ze cíleně zaměřena na konkrétní stroj. Jedná se o hexakoptéru, tedy multikoptéru se 6 vrtulemi. Tento dokument si klade za cíl uvést čtenáře do problematiky řídicí jednotky Pixhawk, seznámit s používanými výrazy a nastínit základní postup při prvním použiti řídicí jednotky Pixhawk. 4
2 VYMEZENÍ POJMŮ Mnoho pojmů spojených s drony se nachází na internetu jen ve své zkrácené podobě a pro nového uživatele tak mnohé rady představují bludiště pojmů. V této kapitole se seznámíme s nejpoužívanějšími výrazy, produkty a zkratkami a něco málo si o nich řekneme. Pro detailnější informace navštivte web daného produktu. 2.1 Hardware V této části si stručne popíšeme jednotky APM, PX4FMU, PX4IO a Pixhawk, jejichž názvy se budou vyskytovat dále v tomto dokumentu a je důležité se v jejich názvech orientovat. Mnohdy je například výraz controller zaměňován s výrazem autopilot, nebo Flight Managment Unit. Na závěr se seznámíme se zkratkou ESC. 2.1.1 APM ArduPilotMega APM, nebo ArduPilot. Opensource řídící jednotka. Vlastnosti nejnovější verze APM 2.6 Hlavní processor Atmega2560 8-bit 16 MHz Samostatný processor pro USB rozhraní a PPM enkodér ATmega32U2 8-bit 16 MHz 3 osý digitální kompas IC HMC5883L Samostatné zpracování 6 osého Gyroskopu + Akcelerometru na čipu Invensense 6DoF MPU-6000 Barometr MS5611-01BA03 od firmy Measurement Specialties Paměť 4 MB na desce pro automatický datalogging Volitelná, oddělená GPS + kompas, ublox LEA-6H 12 analogových pinů, které mohou být využity jako digitální I/O 8 PWM výstupů Více zde [1] a zde [2] 2.1.2 PX4FMU (FMUv1) Tento výrobek už není běžně k zakoupení, ale v mnoha diskuzích a návodech se stále vyskytuje odkaz na něj. Jedná se o předchůdce řídicí jednotky Pixhawk (viz dále). Alternativním názvem je také FMUv1, tedy 1. verze Flight Managment Unit. Cortex M4F 16/32-bit 3.40 MHz 5
Samostatné zpracování 6 osého Gyroskopu + Akcelerometru na čipu Invensense 6DoF MPU-6000 3 osý digitální gyroskop L3GD20 3 osý digitální kompas IC HMC5883L Barometr MS5611-01BA03 od firmy Measurement Specialties 192KB SRAM / 1024 KB Flash 4x UART, 2x I2C, 1x SPI, 1x CAN External magnetometer port Více zde [3] 2.1.3 PX4IO 24 Mhz Cortex-M3 failsafe mikrokontrolér 8 vysoko rychlostních servo výstupů (až 400 Hz) PPM, Spektrum a Futaba S.Bus kompatibilní přijímačové vstupy Futaba SBUS nebo PPM-SUM sériový servo výstup Další... Více zde [4] 2.1.4 Pixhawk (FMUv2) Kombinuje vlastnosti výše zmíněných PX4 FMU + PX4 IO. Jedná se tedy o řídící jednotku se senzory a s přídavnými porty. Alternativním názvem je také FMUv2, tedy 2. verze Flight Managment Unit. 168 MHz Cortex M4F CPU (256 KB RAM, 2 MB Flash) 168 MHz / 252 MIPS Cortex-M4F 14 PWM / Servo výstupů (8 failsafe + manuální override; 6 pomocných, vysokovýkonových) Porty pro přídavné periferie (UART, I2C, CAN) Integrovaný záložní systém pro zotavení za letu a manuální override s dedikovaným procesorem and samostatným zdrojem. MicroSD karta pro vysokorychlostní logging. 6
Další... Více zde [5] Uživatelský manuál [7] 2.1.5 Electronic Speed Control ESC V našich zemích se setkáme spíše s výrazem budič. Tento modul je zodpovědný za rychlost otáčení motorů, která je požadována řídicí jednotkou. Většina budičů je potřeba zkalibrovat, aby znala minimum a maximum hodnot PWM které bude řídicí jednotka vysílat. Při kalibraci je z bezpečnostních důvodů nutné odebrat všechny vrtule. Příkladem může být třeba BL-Ctrl V2.0 od MikroKopter z Německa. Více zde [8] 2.2 Software V této části se zaměříme na nefyzické součásti řízení dronu. Patří mezi ně Grafické rozhraní, firmware nebo též stack. 2.2.1 Grafické rozhraní Pro grafické rozhraní se používá výraz Software. Grafické rozhraní se používá k prvnímu nastavení stroje, konfiguraci, testování, zobrazení telemetrie a dalšímu. V současné době jsou k dispozici 3 taková rozhraní. Všechny 3 poskytují srovnatelné vlastnosti a všechny 3 lze spouštět pod Windows, Linux i MacOS: Q Ground Controll http://qgroundcontrol.org/ AMP planner http://ardupilot.org/planner2/index.html Mission Planner http://ardupilot.org/planner/index.html V našem řešní jsme si vybrali aplikaci Misson planner. Nyní se stručně seznámíme s jeho prostředím. Pro detailní informace navštivte výše zmíněné stránky. Na 1. obrázku vidíme základní rozložení telemetrie a mapy kterou budeme používat zejména za letu. Na 2 obrázku vidíme plánovací okno. Pokud bude na dronu k dispozici GPS navigace dron bude schopný sledovat předem zadanou trasu. Ta se nastavuje v tomto okně pomocí intuitivních bodů zadaných na mapu. Na 3. obrázku vidíme výběr typu stroje a s ním spojené přednastavení firmwaru. 7
8
2.2.2 Firmware / stack Firmware (též stack) soubor schopností - kód běžící na hardwaru (řídící jednotce). Konfigurace určená pro konkrétní vozidlo letadlo, quad, hexa, ocata copter, auto, loď, nebo jiné. Z historických důvodů zůstává zmatek v názvosloví. Původně existovalo jen PX4 které označovalo jak hardware (FMU a IO), tak firmware. Potom byl APM stack portován pro běh nad PX4. Z tohoto hlediska se tak PX4 firmware jeví pro AMP jako mezivrstva (middleware). Později byl vytvořen Pixhawk, který se pro firmware jeví totožný s původním PX4 hardwarem (FMU a IO). Vývojáři ArduPilot, 3D Robotics (3DR), a PX4 spolupracovali na vytvoření hardwaru a PX4 midleware. Vývojářské týmy Ardupilot a PX4 vyvinuly každý své vlastní firmawry (flight code) a jsou na různé úrovni vývoje. ArduPilot flight code je více pokročilý ve svém vývoji pro obyčejné létání. Pro platformu PX4/Pixhawk jsou tedy k dispozici jen výše zmíněné firmwary. 9
3 SETUP V této kapitole se seznámíme s některými komponentami, zejména s těmi požadovanými pro jednoduché manuální létání. Dále se podíváme na postup přípravy nového stroje od zapojení komponent, přes instalaci software až po úvodní kalibraci senzorů. 10
3.1 Nutné komponenty V této části se seznámíme s nutnými komponentami pro kompletní sestavení dronu. Kostru dronu, motory a jejich budiče. Pixhawk + přiložené komponenty. Viz níže o Arm button / safety switch o Napájecí modul o micro SD karta o USB kabel Baterie LiPol; XT60 konetor Radio vysílač a přijímač o PPM enkodér v případe že není k dispozici PPM radio přijímač, ale jen PWM. Osobní počítač pro běh Mission planneru a spojení s Pixhawk pomocí USB 3.2 Volitelné komponenty V této části jsou uvedeny některé podporované komponenty pro Pixhawk. Tyto komponeny jsou vyžadovány jen pro přídavné funkce a nejsou nutnou součástí. PX4 Airspeed Sensor. Poskytuje informaci o rychlosti letu. Připojení pomocí I 2C PX4FLOW Smart Camera pozemní trasování a navigace. Připojení pomocí I2C. GPS modul umožnuje autonomní let. Přípojení pomocí speciálního GPS portu. Telemetry modul - přenos telemetrie z dronu na pozemní stanici. Přípojení pomocí speciálního telemetry portu. Implementace je možná více způsoby. Buzzer je součástí balení Pixhawk. Poskytuje zvukovou informaci o změně stavu dronu. Přípojení pomocí speciálního buzzer portu. 3.3 Postup přípravy 1. Instalace softwareu: Stáhnout a nainstalovat aplikaci Mission Planner. http://qgroundcontrol.org/ 2. Připrava Pixhawk a. Do pixhawk vložit SD kartu b. Připojit Pixhawk pomocí USB kabelu k počítači s nainstlovaným Mission Plannerem. c. V mission Planneru zvolit typ dronu (quad / hexa / octo /... ). Tento krok nasintaluje do řídící jednoty firmware. d. Kalibrace magnetometru. 11
3. e. Kalibrace kompasu. f. Připojit radio: v Mission Planneru prověřit maximální výchylky ovladačů. Maiden flight první let pro ověření základní funkčnosti. Vzlet, ověření stability, kontrola směrů letu, schopnost držet se ve zvduchu, přistání. 3.4 Nastavení radiovysílače Pro náš stroj jsme použili radiovysílač Graupner JR mc-22s. Pro použití s pixhawk bylo nutná drobná změna pořadí kanálů, neboť funkce některých páček nebyla autopilotem rozpoznána správně. Pro naši hexakoptéru jsme zvolili ze dvou módů mód letadlo s pevnými křídly. To se provede následovně. Z hlavního menu stiskem tlačítka Enter se přemístíme do menu kde opětovným stiskem tlačítka Enter přejdeme do volby přednastavných m dů. Zde si vybereme volné pole označené jako ***free***. Opětovný stisk Enter nám umožní volbu mezi letadlem a vrtulníkem. Ačkoli by se mohlo zdát intitivní použít pro multikoptéru mód vrtulníku vybereme mód letadla. Mód vrtulníku totiž používá velmi rozdílné ovládání od módu letadla. Podstatným nastavením je páčkový mód a později změna kanálů. Stiskneme otočný přepínač a otočíme doprava na možnost reciver output. Opětovné stisknutí nás přesune do výběru módu. Otočením zvolíme číslo 2 a potvrdíme stiskem otočného tlačítka. Přenastavení kanálů provedem stiskem tlačítka Enter ze základního menu. Vybereme možnost base setup Model a potvrdíme stiskem enter. Stiskem a otočením otočného tlačítka zvolíme reciver output. Nýní je třeba vyměnit směrování výstupů 1 a 2. Výsledek tedy bude vyúadat podobně: servo [2] -> output 1 servo [1] -> output 2 Uvodní instalace je probrána v tomto videu: [6]. User manual [7] 12
4 ZÁVĚR V této práci jsme ujasnili názvosloví Hardwaru PX4 jsou předchůdci dnešního Pixhawk a APM je paralelní platforma která vyvíjí samostatný hardware i firmware. Řekli jsme si že firmware APM je kompatibilní i s platformami PX4 a Pixhawk. Objasnili jsme si rozdíl mezi firmware kód běžící na řídící jednotce, který ovládá dron přímo motory a softwarem který slouží pro konfiguraci a nastavení stroje a následovné plánování mise a sledování telemetrie. Dále jsme si stručně popsali postup přípravy do kterého patří zapojení potřebných komponent, kalibrace snímačů a nastavení radio vysílače Graupner 13
Literatura [1] Ardupilot web skupiny vyvíjející HW, SW i firmware. ArduPilot Mega [online]. [cit. 2016-05-06]. Dostupné z: http://www.ardupilot.co.uk/ [2] Detailní informace k APM 2.6 ArduPilot Mega Autopilot Kit (APM 2.6). Unmanned Ttech Shop [online]. Unmanned Tech., 2016 [cit. 2016-05-06]. Dostupné z: http://www.unmannedtechshop.co.uk/ardupilotmega-autopilot-kit-apm-2-6/ [3] Detaily k PX4FMU Autopilot / Flight Management Unit PX4FMU Autopilot / Flight Management Unit. Pixhawk [online]. [cit. 2016-05-06]. Dostupné z: https://pixhawk.org/modules/px4fmu [4] Detaily k PX4IO Airplane/Rover Servo and I/O Module PX4IO Airplane/Rover Servo and I/O Module. Pixhawk [online]. [cit. 2016-05-06]. Dostupné z: https://pixhawk.org/modules/px4io [5] Detaily k Pixhawk Autopilot Pixhawk Autopilot. Pixhawk [online]. [cit. 2016-05-06]. Dostupné z: https://pixhawk.org/modules/pixhawk [6] Video o prvním setupu, nastavení a kalibraci (1/1) PixHawk Video Series - Simple initial setup, config and calibration. YouTube [online]. 2015 [cit. 2016-05-06]. Dostupné z: https://www.youtube.com/watch? v=uh2icra9g7k [7] Uživatelský manuál Pixhawk Pixhawk-manual-rev7.pdf: Pixhawk autopilot quick start guide. 3D Robotics [online]. 2014 [cit. 2016-05-06]. Dostupné z: https://3dr.com/wp-content/uploads/2014/03/pixhawkmanual-rev7.pdf [8] Informace k budiči BL-Ctrl V2.0 BL-Ctrl V2.0. MikroKopter [online]. [cit. 2016-05-06]. Dostupné z: http://wiki.mikrokopter.de/en/bl-ctrl_2.0 14