The KGB project - ismerkedés az iNAV-val

Hát gyerekek, az iNAV-nak már többször ugrottam neki. A vicc az, hogy olyan gyorsan fejlődik, hogy akárhányszor nekiállok egy gyorstalpalónak,mire befejezem az első bekezdést, átvariálják az egészet, így dobhatom ki, amit addig leírtam. Remélem mire ez az írás megjelenik, addigra nem avul el. ;)

20170407_174649.jpgA KGB project, rajta fut az iNAV

Kísérleti nyulunk sólymunk a KGB project lesz. Mint tudjátok, ezt a masinát azért hoztam létre egy Emax NightHawk 280 pro-ból a Falcon 180 alkatrészeivel kiegészítve, hogy végre négycellás akkuval csapathassak. A gyári  ESC-ek ugyanis csak 12A-t bírnak el, amik nem barátai nemhogy a grafénes, hanem még az egyszerű négycellás akkuknak sem 6 colos propokkal. Azonban mit ér a nyers erő, ha nem lehet csapatni, mert attól félünk, hogy jelvesztéskor leesik a drága masina. Na ezért van rajta GPS, hogy ilyen esetben ne álljon bele a földbe vagy fürödjön meg egy kanálisban, hanem szépen térjen haza. Az iNAV pedig ahhoz szükséges, hogy ezt meg is tegye, ugyanis a Cleanflight és Betaflight sok mindenre alkalmas, de navigációra nem. Hiába van ott a választható módoknál, felejtsük el, nem jó, nem működik rendesen.

Figyelem: ez a bemutató nem teljesen kezdőknek íródott. Feltételezi, hogy már láttál Cleanflightot vagy Betaflightot és tisztában vagy az alapfogalmakkal vagy legalább elolvastad a Cleanflight gyorstalpalót!

iNAV telepítése

Az iNAV egy Cleanflight leágazás, így a konfigurációs felület ugyanúgy a Chrome bongésző kiterjesztése, amit innen szerezhetünk be. Miután az iNAV-ot hozzáadtuk a Chrome-hoz, a repvezérlőnkre kell majd felvarázsolni az iNAV-ot. Ehhez először persze fent kell, hogy legyenek a pécénken a repvezérlőhöz szükséges driverek, melyekről itt írtam.

Ha a driverek rendben vannak, indítsuk el az iNAV konfigurációs felületét, majd ugyanúgy telepítsük a legújabb iNAV-ot, ahogy azt Cleanflight vagy Betaflight alatt tennénk. Aki még nem csinált ilyet, annak itt egy rövid leírás:

Kattintsunk a Firmware Flasher fülre, a legördülő menüből válasszuk ki a lapkánk (estemben SP Racing F3) és a hozzá tartozó legutóbbi stabil kiadást (stable a végén), majd kattintsunk a Load Firmware[Online]-ra. Miután letöltődött a firmware a pécénkre, állítsuk be a flashelés sebességét. Nálam az esetek 99%-ában 57600 baud rate a megfelelő. Ezután jelöljük be a Full chip erase-t, és kattintsunk a Flash Firmware gombra. Várjuk meg míg végigfut a flashelés, és készen is vagyunk.

inav_flash.jpg

Amennyiben a repvezérlőnk meg van rakva minden földi jóval, úgy mint OSD, telemetria, GPS, elképzelhető, hogy a PC USB portja nem tudja megfelelően meghajtani, így szükséges lesz csatlakoztatni az akkut is. A KGB projectnél is ugyanez a helyzet, USB-ről hajtva ugyan csatlakozik az iNAV-hoz, de még a barométer sem aktív, nemhogy a többi kütyü és eléggé erratikusan viselkedik, a hardware health pedig sosem vált zöldre a Setup tabon.

Figyelem: a screenshotok a már készre konfigolt KGB projectből származnak, így a képeken olyan értékek is be lesznek állítva, ami egy frissen flashelt gépen még nincsenek.

Első lépések az iNAV-val

Még mielőtt bármi mást állítgatnánk, kattintsunk a Presets fülre és válasszuk ki a mi gépünkre leginkább hasonlító beállítást. Ez esetemben az 5'' GPS volt. Minden szépen és jól működött azt kivéve, hogy a gép nem érzékelte a tengelye körüli forgást. Mint kiderült ez a preset olyan hülye loop time-ot állított be, hogy a giroszkópom lekapcsolt. A gyro viszont létszükséglet, nélküle még az acro mód sem boldogul.

presets.jpg

A szemfülesek észre vehetik, hogy a Presets fülön van külön config a Wing Wing Z-84-hez, ami nálam a Lopakodrón. Hiába, az egyik legismertebb és legelterjedtebb röpcsi. :)

A configuration fülön beállítottam 1khz gyro loop time-ot és a giroszkóp magára talált. Az érzékelőket érdemes kézzel beállítani a Sensors részben. Amennyiben a megfelelő típust választottuk ki, a giroszkópnak, gyorsulásmérőnek, magnetométernek és barométernek kékre kéne váltani. Nekem ez utóbbi kettő nem beépített, kívülről csatlakozik az I2C portra, ahogy már az első rész keretes részében írtam.

 

Az SP Racing F3 acro repvezérlő 90 fokkal el van forgatva jobbra, így ezt beállítottam a Board and Sensor Alingmentnél. A kopterről készült képeken látszik, hogy a GPS-el kombinált iránytű is jobbra van elforgatva, de akkor miért van a MAG alignmentnél 270 fok és flip? A válasz egyszerű. A GPS-el egybetokozott magnetométer a közös házban gyárilag fejjel lefelé áll. Beletelt egy időbe, míg ezt kisakkoztam. A lényeg ami lényeg, ha iNAV-hoz kapcsolódva megforgatjuk a gépet kilencven fokkal, az meg miután megálltunk még forog tovább a forgásirányban vagy éppen ellenkező irányba, esetleg a gépet fejre állítva vagy 45 fokban oldalra billentve produkálja ezt, akkor bizony rosszul van beállítva az iránytű tájolása iNAV-ban. Amúgy a Setup fülön a Heading az iránytű állását mutatja fokokban, ez is adhat egy támpontot, hogy jó irányba néz-e.

setup.jpg

Végre kalibrálhatjuk a gyorsulásmérőt a Setup fülön. Mindjárt jön is az első meglepetés: hiába nyomkodjuk a Calibrate Accelerometer gombot miután vízszintes helyzetbe raktuk a kopterunk, az Accelerometer Calibrated nem vált zöldre. iNAV-ban ehhez hat különböző poziícióban kell kalibrálni kopterunk az alábbi ábra szerint:

Gyorsulásmérő kalibrációja iNAV-ban, forrás: github.com

Először a kopterunk seggét nézve kell vízszintesen a földre helyezni a kopterunk, majd a Calibrate accelerometer gombra bökni. Ezután a kopterunkat a hátára kell fordítani, miközben a segge továbbra is felénk néz és ugyanarra a gombra kattintani. Aztán a kopterunk hátának kell felénk lennie, miközben ő jobbra néz, majd kattintunk, felfele néz, katt, balra néz, katt, lefele néz, katt. Ha ezen túl vagyunk az Accelerometer Calibrated végre zöldre vált és kalibrálhatjuk az iránytűt.

A magnetométer kalibrációja ugyanúgy megy, mint ahogy azt már leírtam a Cleanflight gyorstalpalóban, de annak, aki lusta kattintani, ide is bemásolom:

Aki kíváncsi rá, annak elárulom, hogy a "Calibrate Magnetometer"gombra kattintás után a kopterünket x,y,z tengelye körül körbe kell forgatni. Az USB kábel ezt tovább bonyolítja. Ezért vigyázzunk, hogy akkor végezzük, amikor nincs senki otthon, aki hülyének nézhetne. Ha mégis, fogjuk rá, hogy esőtáncot járunk.

Ha ezzel megvagyunk, ellenőrizzük le pl. a mobilunkkal, hogy jó irányba mutat-e az iránytű. Ha északra fordítjuk, akkor a már említett heading-nek a Setup fülön 0°-nak kell lenni, ha keletre akkor 90°-nak, ha délre 180°-nak, ha nyugatra, akkor pedig 270°-nak.

Ha mindent jól állítottunk be, akkor a szenzorok a kopter mozgásának megfelelően mozognak a Sensors fülön.

sensors.jpg

A GPS beállításához több lapot kell átzongoráznunk. Először is ugorjunk a ports fülre és a megfelelo UART port mellett kattintsuk be a GPS-t és válasszuk ki milyen sebességen kommunikál a repvezérlőnkkel. Én ezt előzőleg az UBLOX u-center programjával 57600-ra állítottam. Ha ez kimaradt, az alapértelmezés a nem túl combos 9600.

ports.jpg

Ahogy látjátok a Ports fülön az UART1 és UART2 nálam MSP módban van. Az UART2-n csatlakozik a minimOSD, amit ZsoleszFPV alapján állítottam be (első / második rész), az első port pedig PC-hez való csatlakozásra és a telemetriára szolgál. Egyszerre a PC és a telemetria nem lehet csatlakoztatva, így amikor a PC-re csatlakozik a kicsike USB-n, a telemetria ki van húzva. Egyelőre Bluetooth telemetriát használok, de már be van készítve ez a 433Mhz-es 3DR csoda nagy távolságokra.

Miután megmondtuk az iNAV-nak, hogy melyik porton beszéljen a GPS-el, aktiválni kell a Configuration fülön a kék pöcök bekattintásával.

configuration3.jpg

Az én GPS modulom UBLOX 7-es, így nem meglepő, hogy milyen protokollt választottam. Szerencsére a GPS automatikus konfigolása már alapértelmezett az újabb iNAV kiadásokban, így azt be sem kell kattintani. Amennyiben ezt mégsem lenne hajlandó megtenni, így ezt érdemes átnyálazni. Amennyiben minden jól ment, a Save and Reboot-ra bökve a GPS-nek kékre kéne váltania a felső menüben.

Ha már itt vagyunk, érdemes beállítani a Magnetometer Declination értéket, ami abból adódik, hogy a Föld északi sarka és a mágneses északi sarok bizony nem egy pontba esik. Akit bővebben érdekel, itt olvashat utána, de annyi nekünk elég, hogy az itt található térképen keresd ki a pozíciód és állítsd be az értéked. Nálunk Kelet-Európában ez 4 körül lesz.

gps.jpg

A GPS-t, nagyon furmányos módon a GPS fülön tesztelhetjük. Nekem az UBLOX 7 alapú modulommal kint általában megvan 8-10 műhold, bent meg egy sem, ablaknál esetleg 2, nagy szerencsével 4. Ahogy látható, a screenshot készítése közben nem volt ablak közelében a gép. :P

Az akku feszültségérzékelőjét dettó ugyanúgy kell bekötni, ahogy azt a Cleanflightnál leírtam. :)

A rádióvevő PPM-en csatlakozik az SP Racing F3-hoz, mivel az összes soros port elfogyott. Hiába, nem egy F7 lapka, aminek nyolc(8!) UART portja van.  A vevőt ugyanúgy állítottam be, ahogy azt már a Cleanflightnál leírtam, és a Cleanflightból ismert módon osztottam be a PPM móban nyolc rendelkezésre álló csatornát.

iNAV repülésmódok

Na, helló felkelni, te is ott hátul(!), érdekes részhez értünk, az iNAV repmódjaihoz. A Multiwii-ből örökölt repmódokon kívül, amikről itt írtam, az iNAV számtalan új móddal bővült, a legérdekesebbek a következők:

NAV ALTHOLD - magasságtartás. Kvadkopternél jó, ha van egy valamirevaló barométerünk amit szivaccsal takrtunk le, esetleg egy szonár, ha a gép 3m-nél alacsonyabban van a pontosabb magasságtartáshoz. Röpcsinél elég a GPS magasságadata.

NAV PSOHOLD - pozíciótartás. A kopter a GPS koordináták alapján tartja a horizontális pozícióját. Egyszerre aktiválhatjuk az ALTHOLD-al, hogy mind vízszintesen, mind függőlegesen egy helyben maradjon. Röpcsink egy helyben állva lezuhanna mint egy kő, így egy kisebb körben fog körözni egy adott koordináta körül.

NAV RTH - aktiválásakor a kopterünk / röpcsink / Lessie hazatér. A legtöbb CF / BF kiadásban ez jól el van szabva, ugyanis a gép magasságát nekünk kell szabályozni. WTF? Az iNAV-nál a nav_rth_alt_mode állításával a konzolból több magasságtartási stratégiát választhatunk. Az alapértelmezett a NAV_RTH_AT_LEAST_ALT. A kopterünk / röpcsink, ha magasan van, akkor az adott magasságot tartva tér haza, ha alacsonyan, akkor felveszi a minimális magasságot és úgy indul a kiindulási pontra. A haza/kiindulási pont ott lesz, ahol a koptert ARM-oltuk vagy ahol aktiváltuk a HOME RESET módot.

NAV WP - waypoint flying - útvonalrepülés. A kopterünket / röpcsinket bizony elküldhetjük egy autonóm kirándulásra, akár egy DJI Phantomot. Sajnos az iNAV útvonalszerkesztője még nem készült el, de addig is használhatjuk például az Androidos Ez-GUI-t.

SURFACE -  A földfelszínt követő repülési mód. Kísérleti státuszban van, ezért egyelőre ne használjuk!

GCS NAV - Átadja az irányítást a földi irányítóbázisnak, pl. az EZ-GUI-val felszerelt mobilunknak. Ekkor a bázisunk képességeitől függően új módok lesznek elérhetőek, például a Follow me, amikor is a koperünk kiskutyaként követ. Ezt egy racernél nagyon nem ajánlanám, csak akkor, ha nyelvvel meg tudunk állítani egy szecskavágót.

NAV LAUNCH - röpcsik kézből indítását megkönnyítő mód.

Ahogy látjátok, az 1. csatornával élesítem a koptert, a másodikkal kapcsolom a csipogót, a harmadikkal kapcsolom be a pozíció + magasságtartást valamint a gyere haza módokat. A negyedikkel váltok angle és acro + air mode között, mivel az esetek 99%-ában acroban reptetek.

Az iNAV-ról azt érdemes tudni, hogy addig nem engedélyezi a motorokat és a sevo-kat, míg be nem kattintjuk a Config fülön az Enable motors and servo output-ot.

configuration_enable_motors_and_servo.jpg

Amennyiben bárminemű navigációs módot is használni szeretnénk, az iNAV addig nem engedi beröffenteni a motorokat, míg a Setup fülön a Pre-arming checks minden egyes mezője zöldre nem vált. Erről bővebben a KGB project berepülésénél fogok írni. Egyelőre legyen annyi elég, ha végigmentél velem minden ponton és van elég műhold, akkor a masina nagy valószínűség szerint el fog indulni.

setup_pre_arming_check.jpg

Az Motors fül tök ugyanaz mint a Cleanflight / Betaflight alatt megszokhattuk, és pont ugyanúgy kalibráljuk az ESC-eket alatta. Az ESC kalibrációról majd később írok egy cikket. Ha már ESC-nél tartok, itt megemlíteném, hogy mivel ezer éves Flycolor Fairy ESC-jeim vannak, így a Configuration fülön az ESC refresh rate-et levettem 400Hz-re az alapértelmezett 1000-ről. Újabb ESC-eknél ez nem szükséges. Futó motoroknál érdemes megnézni a Sensors fület, nem őrül-e meg a magnetométer egy gázfröccsnél. Ha igen, át kell variálnunk a kopterunk belsejét.

motors.jpg

 Failsafe iNAV alatt

Igen, végre, itt van! Gépünk jelvesztéskor végre nem fúródik a földbe vagy hullik bele az első kanálisba, hanem szépen hazatér. A versenyzők most hőböröghetnek, hogyhát "drop"-ra kell rakni és részben igazuk van. Egy elhagyott gyárépületben versenyezve teljesen kreténség jelvesztéskor RTH-t parancsolni a gépnek, mivel közelségi szenzorok nélkül boldogan rohan neki az útban lévő falnak/aprítónak/embernek. Viszont az iNAV-ot nem is erre fejlesztették. Jómagam nagyon szeretek messzire elkolbászolni a KGB projecttel, és felettébb hálás vagyok, hogy egy-két őrült falubéli miatt, akik valószínűleg galambokat grilleznek az Aliexpresses wifi erősítőjükkel, nem kell pár száz méter után a földből kiásni szegény koptert.

failsafe.jpg

Vigyázat, csak akkor aktiváljuk az RTH-t a failsafe fülön, amikor többször sikeresen teszteltük a failsafe-t "drop" módban valamint külön a hazatérést, mert könnyen lehet, hogy a failsafeben aktiválódó RTH a Return To Hongkong-ot fogja jelenteni a gépünk számára.

Végül, de nem utolsó sorban érdemes bekapcsolni a fekete dobozt, azaz a Blackboxot, hogy tudjuk, mi a fene történt a géppel, amikor nem úgy viselkedett, ahogy akartuk.

Megcselekedtem, mit megkövetelt az iNAV, a PID tuning és Advanced tuning füleken lévő értékekről majd éles tesztben derül ki, hogy repülhető-e velük a KGB project. A következő részben jön tehát, aminek jönnie kell,  láthatjátok majd a KGB projectet repülni és hallhatjátok a gyönyörű felvidéki tájszólásomat! :D

Ha tetszett a bejegyzés dobj egy lájkot YouTubeon vagy Facebookon! Köszi!