1
Issues v LATEX
Odsazeni prvniho radku v kazdem odstavci. Graficka uprava a oramovani tabulky. I2C upravit nejak rozumeji na I 2 C doplnit kde je DOPLNIT vlozit obrazek nebo jiny objekt kde je OBRAZEK trosku dost lita jedna tabulka z papiru uvozovky oramovani tabulek a styl Reference: ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/listings/listings.pdf http://www.it.cas.cz/manual/latex/g.html - bibliografie Kˇr´ıˇzov´e odkazy – odkazy napˇr´ıˇc uvnitˇr textu http://vavricek.cs.vsb.cz/index.php/LaTeX/Drobeˇcky http://www.root.cz/clanky/jak-na-latex-plovouci-prostredi/ Datasheety: ATmega128, GPS, accelerometer, compass, souˇc´astky na desce, Bluetooth modul, WiFi modul, Odkazy: SD card protokol, PWM ˇr´ızen´ı, Podobn´a zaˇr´ızen´ı: arduino, ZigBee, Kecy: syst´em PWM (– kde???) ¿1A vypad´a jako ˇsipka
1
Obsah 1 Issues v LATEX
1
2 Motivace, vyuˇ zit´ı a v´ yhody
3
3 Uˇ zivatelsk´ a specifikace Yunifly 3.1 Instalace a implementace hardwaru . . . . . . . 3.1.1 Deska Basic . . . . . . . . . . . . . . . . 3.1.2 Deska Main . . . . . . . . . . . . . . . . 3.1.3 Baterie – nap´ ajen´ı . . . . . . . . . . . . 3.1.4 Motory, serva, regul´ atory . . . . . . . . 3.1.5 Analogov´e vstupy . . . . . . . . . . . . 3.1.6 Digit´ aln´ı vstupy/v´ ystupy . . . . . . . . 3.1.7 Komunikace . . . . . . . . . . . . . . . . 3.2 Funkce hardwaru . . . . . . . . . . . . . . . . . 3.2.1 Komunikace desky Basic a Main . . . . 3.2.2 MicroSD/SDHC karta . . . . . . . . . . 3.2.3 Serva a regul´ atory ˇr´ızen´e pomoc´ı PWM 3.2.4 RC pˇrij´ımaˇc . . . . . . . . . . . . . . . . 3.2.5 GPS . . . . . . . . . . . . . . . . . . . . 3.2.6 Akcelerometr . . . . . . . . . . . . . . . 3.2.7 Kompas . . . . . . . . . . . . . . . . . . 3.2.8 Bluetooth . . . . . . . . . . . . . . . . . 3.2.9 WiFi . . . . . . . . . . . . . . . . . . . . 3.2.10 Tabulka testovan´ ych extern´ıch zaˇr´ızen´ı . 3.3 N´aklady na poˇr´ızen´ı elektroniky Yunifly . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 7 7 7 7 7 8
4 Podrobn´ a specifikace Yunifly – Datasheet 4.1 Hmotnost a rozmˇery . . . . . . . . . . . . 4.2 Pinov´a konfigurace . . . . . . . . . . . . . 4.3 Sch´ema zapojen´ı elektroniky . . . . . . . . 4.4 Knihovna funkc´ı pro Yunifly . . . . . . . . 4.4.1 Ovl´ ad´ an´ı konektor˚ u . . . . . . . . 4.4.2 Komunikace s deskou Basic . . . . 4.4.3 Komunikace s extern´ımi moduly . ˇ ızen´ı stability letounu . . . . . . 4.4.4 R´ 4.5 Firmware pro desku Basic . . . . . . . . . 4.5.1 Pouˇzit´ı firmwaru . . . . . . . . . . 4.5.2 Nouzov´ y reˇzim . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
8 8 8 10 10 10 12 12 13 14 14 14
5 Swarm robotics a elektronika Yunifly 5.1 Z´akladn´ı algoritmus umˇel´e inteligence . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Diagramy architektury algoritmu umˇel´e inteligence . . . . . . . . . . . . . . . . . . . . 5.3 Pouˇzit´ı umˇel´e inteligence pro Yunifly . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14 14 15 15
6 Shrnut´ı
16
2
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
2
Motivace, vyuˇ zit´ı a v´ yhody
St´ale ˇcastˇeji se setk´ av´ ame s mnoh´ ymi typy robot˚ u od ruˇcnˇe ovl´adan´ ych stroj˚ u aˇz po autonomn´ı mobiln´ı roboty ˇci v´ yrobn´ı linky. Samostatnou kategorii pˇredstavuj´ı bezpilotn´ı letouny, ponorky nebo jin´e stroje s moˇznost´ı pohybu ve vˇsech rozmˇerech. Pokud vyv´ıj´ıme nebo jiˇz vlastn´ıme zaˇr´ızen´ı s podobn´ ym u ´ˇcelem, potˇrebujeme lehkou, v´ ykonnou a mechanicky odolnou elektroniku, kter´a bude n´ aˇs stroj ˇr´ıdit. Elektronika Yunifly je dvouprocesorov´ a programovateln´a ˇr´ıdic´ı elektronika, kter´a je prim´arnˇe urˇcen´ a pro ˇr´ızen´ı lehk´ ych, n´ızkon´ akladov´ ych letoun˚ u. Hmotnost i rozmˇery desky jsou minimalizov´any (podrobnˇe v kapitole DOPLNIT Datasheet – rozmˇery“). Poˇr´ızovac´ı cena Yunifly je srovnateln´a s cenou ” bˇeˇzn´eho RC pˇrij´ımaˇce. M˚ uˇzeme ji vyuˇz´ıt jako rozˇsiˇruj´ıc´ı autonomn´ı ˇr´ızen´ı standartn´ıch RC model˚ u nebo pro l´et´an´ı v reˇzimu uˇcitel/ˇz´ ak, nebot’ k ˇr´ıdic´ı desce m˚ uˇzeme pˇripojit aˇz ˇctyˇri na sobˇe nez´ avisl´e RC pˇrij´ımaˇce. Vzhledem k tomu, ˇze Yunifly je moˇzn´e libovolnˇe programovat dle vlastn´ıho uv´aˇzen´ı, m˚ uˇzeme celou elektroniku povaˇzovat tak´e za v´ yvojov´ y kit pro u ´ˇcely bezpilotn´ıho l´et´an´ı. Pokud Yunifly srovn´ ame s jiˇz existuj´ıc´ımi v´ yvojov´ ymi kity, jako napˇr´ıklad DOPLNIT Arduino, nebo jedno´ uˇcelov´ ymi model´ aˇrsk´ ymi moduly, shled´ame mnoho z´asadn´ıch v´ yhod. 1. Autorovi nen´ı zn´ am ˇz´ adn´ y finanˇcnˇe dostupn´ y v´ yvojov´ y modul nab´ızej´ıc´ı real-time ochranu proti selh´an´ı ˇci poˇskozen´ı, kter´e m˚ uˇze n´ aˇs letoun nevratnˇe zniˇcit. 2. Rozmˇery a hmotnost Yunifly je minimalizov´ana tak, aby mohla b´ yt pouˇzita i v mal´ ych RC modelech. 3. Pˇriloˇzen´ y software i knihovna jsou kompatibiln´ı se vˇsemi procesory ˇrady ATmega. 4. Desku je moˇzn´e libovolnˇe pˇreprogramovat vlastn´ım programem bez jak´ ychkoliv omezen´ı. D´ıky vestavˇen´emu bootloaderu je moˇzn´e oba ˇcipy programovat pˇres s´eriovou linku napˇr´ıklad bezdr´ atovˇe pomoc´ı technologie bluetooth. 5. Pokud pouˇz´ıv´ ame podporu nouzov´eho reˇzimu, m˚ uˇzeme jeden z procesor˚ u pˇreprogramovat dokonce za letu. 6. Yunifly je kompaktibiln´ı s libovoln´ ych softwarem urˇcen´ ym pro procesory Atmel. D´ıky tomu m˚ uˇzeme vyuˇz´ıvat jiˇz existuj´ıc´ı vlastn´ı knihovny. 7. D´ıky technologii bluetooth m˚ uˇze Yunifly komunikovat s mobiln´ım telefonem nebo b´ yt ˇr´ızena pˇres mobiln´ı internet. Souˇc´ast´ı hardwaru je i knihovna z´ aklan´ıch funkc´ı v jazyce C++, urˇcen´a pro obsluhu pˇripojen´ ych zaˇr´ızen´ı, a ˇr´ıdic´ı program pro z´ akladn´ı desku, kter´ y podporuje nouzov´ y reˇzim. Nouzov´ y reˇzim je automaticky spuˇstˇen v pˇr´ıpadˇe hardwarov´eho nebo softwarov´eho v´ ypadku ˇr´ıdic´ıho procesoru. Pokud je letoun ˇr´ızen ze zemˇe, nouzov´ y reˇzim je spuˇstˇen pr´avˇe v dobˇe ztr´aty sign´alu. Knihovna d´ ale obsahuje funkce pro udrˇzen´ı stability bˇehem letu, kter´e jsou pouˇzity pˇri autonomn´ım letu v nouzov´em reˇzimu. Stabilizaˇcn´ı funkce ˇr´ıd´ı letoun na z´akladˇe sdˇelen´e orientace v˚ uˇci smˇeru gravitace a poˇzadovan´eho smˇeru letu. V´ıce informac´ı o stabilizaci letounu je uvedeno v sekci DOPLNIT ”stabilizace”. K Yunifly je moˇzn´e pˇripojit ˇradu dalˇs´ıch zaˇr´ızen´ı, nˇekter´a z nich byla otestov´ana a do knihovny Yunifly byly pˇrid´ any funkce, kter´e tato zaˇr´ızen´ı obsluhuj´ı. Podrobn´ y popis tˇechto zaˇr´ızen´ı nalezneme v kapitole DOPLNIT Uˇzivatesl´ a specifikace Yunifly“. Tato kapitola se dˇel´ı na obecn´ y popis a moˇznosti ” pouˇzit´ı, kter´e jsou pops´ any v sekci DOPLNIT Instalace a implementace hardwaru“. Seznam testo” van´ ych pˇripojen´ ych zaˇr´ızen´ı vˇcetnˇe popisu je uveden v sekci DOPLNIT Funkce hardwaru“. ” Pˇredpokl´ad´ a se tak´e vyuˇzit´ı Yunifly vˇcetnˇe pˇriloˇzen´eho softwaru k praktick´emu testov´an´ı umˇel´e inteligence a robotick´eho uˇcen´ı popsan´eho v pr´aci DOPLNIT Inteligence robotick´e populace ve ” virtu´aln´ım svˇetˇe – Bedˇrich Said, 2011“. V´ıce infomac´ı je uvedeno v kapitole DOPLNIT AI testo” van´e programy“.
3
3
Uˇ zivatelsk´ a specifikace Yunifly
3.1
Instalace a implementace hardwaru
Elektronika Yunifly se skl´ ad´ a ze dvou ˇc´ast´ı, z desky Basic a desky Main. Obˇe desky jsou na sobˇe nez´avisl´e a lze je pouˇz´ıt jak samostatnˇe, tak v n´ıˇze DOPLNIT zn´azornˇen´em propojen´ı. Desky mezi sebou mohou komunikovat pomoc´ı rozhran´ı I2C nebo USART. (DOPLNIT I2C a USART zdroj) Pˇripojen´ı jednotliv´ ych zaˇr´ızen´ı k Yunifly nen´ı povinn´e. Nutn´e je pouze pˇripojen´ı nap´ajen´ı a deskou ovl´adan´ ych zaˇr´ızen´ı. Podrobn´ a specifikace vˇ sech zaˇ r´ızen´ı je uvedena v DOPLNIT Datasheetu.
3.1.1
Deska Basic
Deska Basic je ˇr´ızena jedn´ım AVR CPU ATmega128 (DOPLNIT odkaz na datasheet), kter´e disponuje 4KB EEPROM, 4KB SRAM a 128KB flash pamˇeti. Pokud pouˇz´ıv´ame desku Basic propojenou s deskou Main, m˚ uˇzeme m´ıt na Basic desce nahran´ y operaˇcn´ı syst´em, kter´ y pln´ı pˇr´ıkazy od Main desky. V pˇr´ıpadˇe, ˇze Main deska pˇrestane fungovat d´ıky hardwarov´emu nebo softwarov´emu selh´an´ı, je Basic deska pˇrepnuta do nouzov´eho reˇzimu a cel´ y syst´em ˇr´ıd´ı sama nez´avisle na Main desce. D´ıky tomu pˇredejdeme zbyteˇcn´e hav´ arii letounu nebo jin´eho zaˇr´ızen´ı. Deska Basic disponuje 8 PWM v´ ystupy, kde kaˇzd´ y v´ ystup m˚ uˇze b´ yt pˇripojen but’ pˇr´ımo k regul´atoru, nebo k decod´eru, kter´ y zajist´ı pˇripojen´ı v´ıce na sobˇe nez´avisl´ ych zaˇr´ızen´ı na jeden PWM v´ ystup. D´ale jsou vyvedeny dvˇe s´eriov´e linky a sloty pro pˇripojen´ı I2C, kter´e umoˇzn ˇuj´ı komunikaci s libovoln´ ym extern´ım zaˇr´ızen´ım. V neposledn´ı ˇradˇe jsou vyvedeny dva ICP vstupy, kter´e zpracov´ avaj´ı sign´al z RC pˇrij´ımaˇce. D´ıky tomu je moˇzn´e letoun ovl´adat dvˇema nez´avisl´ ymi RC vys´ılaˇci. Tato skuteˇcnost m˚ uˇze b´ yt vyuˇzita napˇr´ıklad pˇri l´et´an´ı v reˇzimu uˇcitel/ˇz´ak. Kaˇzd´ y z v´ yˇse zm´ınˇen´ ych slot˚ u lze tak´e pouˇz´ıt jako obecn´ y digit´ aln´ı vstup nebo v´ ystup. Jednotliv´e piny nebo sloty lze konfigurovat programovˇe za provozu desky.
3.1.2
Deska Main
Deska Main je ˇr´ızena obdobnˇe jako deska Basic jedn´ım AVR CPU ATmega128 (DOPLNIT odkaz na datasheet), Pˇr´ımo na desce se nach´ az´ı port pro vloˇzen´ı microSD nebo microSDHC karty. Na desce je vyvedena sada osmi nap´ ajec´ıch konektor˚ u, kter´e m˚ uˇzeme pouˇz´ıt jako vstup pro nap´ ajen´ı desky a jako v´ ystup pro nap´ ajen´ı dalˇs´ıch PWM zaˇr´ızen´ı jako jsou napˇr´ıklad serva. Dalˇs´ı nap´ajec´ı konektory, kter´e jsou vyvedeny k jednoliv´ ym komunikaˇcn´ım slot˚ um jsou stabilizov´any na 3,3V. Sada osmi nap´ajec´ıch konektor˚ u nen´ı nijak stabilizov´ ana. Pˇredpokl´ad´a se pˇripojen´ı 5V v´ ystupu od model´aˇrsk´eho regul´atoru. M˚ uˇzeme ale pˇripojit libovoln´e nap´ajen´ı do 3,3 – 12V. D´ale jsou vyvedeny dvˇe s´eriov´e linky a jedna I2C sbˇernice urˇcen´a pro komunikaci s libovoln´ ym zaˇr´ızen´ım. Dalˇs´ı ˇctyˇri piny m˚ uˇzeme pouˇz´ıt jako analogov´e vstupy, kter´e mˇeˇr´ı vstupn´ı napˇet´ı v rozsahu GND – AVCC (od nuly po pˇripojen´e napˇet´ı) s rozliˇsen´ım na 1024 stupˇ n˚ u. Vˇsechny v´ yˇse uveden´e piny lze pouˇz´ıt obdobnˇe jako u Basic desky jako digit´aln´ı vstupy/v´ ystupy.
3.1.3
Baterie – nap´ ajen´ı
Kaˇzd´a deska odeb´ır´ a za provozu 3,3V / 100mA. Nap´ajen´ı m˚ uˇzeme pˇripojit but’ pˇr´ımo, nebo pˇres vestavˇen´ y stabiliz´ ator TS1117CW33 (DOPLNIT odkaz na datasheet), kter´ y lze pˇripojit maxim´ alnˇe na 12V/1A. Obˇe desky jsou mezi sebou propojeny stabilizovan´ ym nap´ajen´ım, postaˇc´ı tedy pˇripojen´ı pouze jedn´e desky k nap´ ajen´ı.
4
Deska Basic/Main Maxim´ aln´ı nap´ ajen´ı 12V / 1A Stabilizovan´e nap´ ajen´ı 3,3V / 1A Nutn´e minim´ aln´ı nap´ ajen´ı 3,3V / 100mA Klidov´ y reˇzim 3,3V / 20mA (DOPLNIT doplnit korektn´ı u ´daje) 3.1.4
Motory, serva, regul´ atory
Vˇsechna zaˇr´ızen´ı ovl´ adan´ a pulsn´ı ˇs´ıˇrkovou modulac´ı (PWM) jsou pˇripojena k jednomu z osmi PWM konektor˚ u nebo k decod´eru. Zaˇr´ızen´ı je moˇzn´e ovl´adat ve dvou reˇzimech, jako serva nebo jako libovoln´e PWM zaˇr´ızen´ı s pln´ ym rozsahem hodnot.
3.1.5
Analogov´ e vstupy
Analogov´e piny mˇeˇr´ı na sv´em vstupu napˇet´ı v rozsahu od nuly do nap´ajec´ıho napˇet´ı. Lze takto mˇeˇrit napˇr´ıklad stupeˇ n vybit´ı bateri´ı a zavˇcas tak varovat pˇred jejich vybit´ım. D´ale tyto konektory m˚ uˇzeme vyuˇz´ıt pro ˇcten´ı analogov´ ych sensor˚ u a dalˇs´ıch zaˇr´ızen´ı.
3.1.6
Digit´ aln´ı vstupy/v´ ystupy
Kaˇzd´ y konektor na desce je moˇzn´e naprogramovat jako standartn´ı digit´aln´ı vstup nebo v´ ystup. V kaˇzd´em taktu procesoru tak m˚ uˇzeme pˇreˇc´ıst nebo zapsat na kaˇzd´em pinu jednu logickou nulu nebo jedniˇcku.
3.1.7
Komunikace
Desky podporuj´ı komunikaci pomoc´ı linek USART, SPI a sbˇernice I2C. Komunikaci lze konvertovat mnoˇzstv´ı dalˇs´ıch protokol˚ u vˇcetnˇe bezdr´ atov´e komunikace. Maxim´aln´ı podporovan´a rychlost komunikace je 512Kb/s. Sch´ema ukazuje zapojen´ı samostatnˇe bˇeˇz´ıc´ı desky Basic (pˇr´ıpadnˇe Main). Deska Basic zachov´ av´ a vˇsechny funkce desky Main, avˇsak nedisponuje slotem pro pˇripojen´ı microSD karty.
3.2
Funkce hardwaru
Z´akladn´ı elektronika Yunifly je navrˇzena tak, aby bylo moˇzn´e pˇripojit co nejvyˇsˇs´ı poˇcet r˚ uzn´ ych komponent, se kter´ ymi je Yunifly kompaktibiln´ı. N´ıˇze je uveden seznam testovan´ ych komponent, kter´e u ´spˇeˇsnˇe spolupracovali s elektronikou Yunifly. Softwarov´a implementace jednotliv´ ych komponent je pops´ana v kapitole (DOPLNIT Podrobn´ a specifikace softwaru?).
3.2.1
Komunikace desky Basic a Main
Komunikace mezi obˇema deskami prob´ıh´a po sbˇernici I2C. Tato sbˇernice je tak´e vyvedena na desce jako konektor. Je tedy moˇzn´e do komunikace zapojovat i dalˇs´ı zaˇr´ızen´ı podporuj´ıc´ı tuto sbˇernici. Pokud pouˇz´ıv´ ame desku Basic s operaˇcn´ım syst´emem Yunifly, zas´ıl´ame veˇsker´e poˇzadavky a pˇr´ıkazy z desky Main pˇres sbˇernici I2C desce Basic. Pˇri podpoˇre nouzov´eho reˇzimu programujeme pouze desku Main. Deska Basic obsahuje program Yunifly, kter´ y je schopen autonomˇe ˇr´ıdit cel´ y stroj, pˇr´ıpadnˇe poslouchat pˇr´ıkazy od desky Main.
5
Obr´ azek 1: Sch´ema samostan´e desky Main 3.2.2
MicroSD/SDHC karta
Slot pro vloˇzen´ı microSD karty se nach´az´ı na desce Main. Je pˇripojen k SPI portu, kter´ y umoˇzn ˇuje komunikaci nejen s SD kartou, ale s libovoln´ ym zaˇr´ızen´ım, kter´e podporuje tuto s´eriovou linku. Komunikace byla testov´ ana s kartou microSD 2GB a kartou microSDHC 4GB. Maxim´aln´ı rychlost ˇcten´ı i z´apisu je omezena rychlost´ı CPU na 512 kb/s.
3.2.3
Serva a regul´ atory ˇ r´ızen´ e pomoc´ı PWM
Deska obsahuje 8 PWM v´ ystup˚ u, kter´e umoˇzn ˇuj´ı ˇr´ızen´ı serv a regul´ator˚ u k motor˚ um ˇci jin´ ym zaˇr´ızen´ım. Regul´ atory m˚ uˇzeme ovl´ adat but’ v reˇzimu servo nebo v cel´em rozsahu hodnot. Nemus´ıme ruˇcnˇe pˇrepoˇc´ıt´avat hodnoty ekvivalentn´ı pro ˇr´ızen´ı serv. Pˇri testov´an´ı byla vyuˇzita model´aˇrsk´a serva Hitec 8.0g HS-55 Feather Standard Micro RC Servo“. (DOPLNIT odkaz na datasheet) ” 3.2.4
RC pˇ rij´ımaˇ c
Obˇe desky podporuj´ı pˇripojen´ı aˇz dvou RC pˇrij´ımaˇc˚ u. Yunifly postupnˇe ˇcte data, kter´a jsou pˇrij´ımaˇcem zas´ıl´ ana a m˚ uˇze je d´ ale libovolnˇe zpracov´avat. M˚ uˇze pˇr´ımo na z´akladˇe dat z pˇrij´ımaˇce ovl´adat dalˇs´ı zaˇr´ızen´ı nebo data z pˇrij´ımaˇce nˇejak upravovat. (DOPLNIT odkaz na datasheet) D´ıky tomu deska Yunifly nab´ız´ı l´et´ an´ı v reˇzimu uˇcitel/ˇz´ak, kde jsou pˇripojeny dva pˇrij´ımaˇce. Jeden pˇrij´ımaˇc je veden jako prioritn´ı. Pokud ˇz´ ak udˇel´a pˇri l´et´an´ı nˇejakou chybu nebo ˇr´ızen´ı pˇrestane zvl´ adat, uˇcitel m˚ uˇze jedn´ım pohybem pˇrevz´ıt celou kontrolu nad letounem, aniˇz by si s ˇz´akem vymˇen ˇovat ovl´adac´ı zaˇr´ızen´ı. Yunifly m˚ uˇze data z RC pˇrij´ımaˇce vyuˇz´ıvat za u ´plnˇe jin´ ym u ´ˇcelem. M˚ uˇzeme ovl´adat napˇr´ıklad aktu´aln´ı pohled extern´ı kamery pˇri autonomn´ım letu, coˇz by bez procesorem ˇr´ızen´e elektroniky bylo zcela nemysliteln´e.
3.2.5
GPS
Kompaktibilita Yunifly byla testov´ ana s GPS modulem GPS smart antenna module, LS20032“. ” GPS je k Yunifly pˇripojena pˇres universal asynchronous receiver/transmitter (USART). V knihovnˇe
6
Yunifly v jazyce C++ je implementov´ ana tˇr´ıda GPS, kter´a umoˇzn ˇuje komunikaci s v´ yˇse uveden´ ym GPS modulem. (DOPLNIT odkaz na datasheet)
3.2.6
Akcelerometr
Kompaktibilita Yunifly byla testov´ ana s trojos´ ym akcelerometrem CHR-6d Digital Inertial Me” asurement Unit“, kter´ y komunikuje po sbˇernici I2C. V knihovnˇe Yunifly je implementov´ana tˇr´ıda accelerometer“, kter´ a umoˇzn ˇuje ˇcten´ı aktu´aln´ıho zrychlen´ı a pˇrep´ın´an´ı citlivosti akcelerometru. (DO” PLNIT odkaz na datasheet)
3.2.7
Kompas
Pˇri testov´an´ı byl pouˇzit elektronick´ y kompas CMPS03 - Compass Module“ komunikuj´ıc´ı po ” sbˇernici I2C. Knihovna Yunifly umoˇzn ˇuje ˇcten´ı aktu´aln´ıho smˇeru pomoc´ı tˇr´ıdy compass“, kter´ a ” uˇzivateli vrac´ı u ´hel odklonu od severn´ıho smˇeru. (DOPLNIT odkaz na datasheet)
3.2.8
Bluetooth
S deskou Yunifly je moˇzn´e komunikovat pomoc´ı bluetooth modulu napˇr´ıklad s poˇc´ıtaˇcem, kter´ y umoˇzn ˇuje nov´e naprogramov´ an´ı elektroniky Yunifly nebo pˇreps´an´ı intern´ı pamˇeti. D´ıky tomu m˚ uˇzeme s Yunifly pracovat absolutnˇe bezdr´ atovˇe vˇcetnˇe programov´an´ı. Pokud pouˇz´ıv´ame obˇe desky s podporou nouzov´eho reˇzimu, m˚ uˇzeme desku Main pˇreprogramov´avat dokonce za letu. D´ale bluetooth modul umoˇzn ˇuje standartn´ı komunikaci, avˇsak nev´ yhodou jeho pouˇzit´ı je kr´ atk´ y dosah sign´alu. Pokud chceme naˇse zaˇr´ızen´ı ovl´adat napˇr´ıklad mobiln´ım telefonem, m˚ uˇzeme bluetooth modul pouˇz´ıt pro vz´ ajemnou komunikaci. Deska Yunifly m˚ uˇze b´ yt d´ıky tomu ˇr´ızena pˇres internet, ke kter´emu se pˇripoj´ı pr´ avˇe pˇres mobiln´ı telefon. Kompaktibilita Yunifly byla testov´ ana s bluetooth modulem SERIAL PORT ADAPTER OEM ” 310I – CB-OEMSPA310I-04“. (DOPLNIT odkaz na datasheet)
3.2.9
WiFi
WiFi modul je pouˇzit obdobnˇe jako bluetooth modul. Funkce a implementace je totoˇzn´a. Kompaktibilita byla testov´ ana s modulem WIFI 802.11 B/G/N 3.3V - SG901-1059-3C - RF and RFID“. ” (DOPLNIT odkaz na datasheet)
3.2.10
Tabulka testovan´ ych extern´ıch zaˇ r´ızen´ı
Typ zaˇ r´ızen´ı GPS Akcelerometr Kompas Bluetooth WiFi RC pˇrij´ımaˇc Servo MicroSD karta
N´ azev zaˇ r´ızen´ı GPS smart antenna module, LS20032 CHR-6d Digital Inertial Measurement Unit CMPS03 - Compass Module SERIAL PORT ADAPTER OEM 310I – CB-OEMSPA310I-04 WIFI 802.11 B/G/N 3.3V - SG901-1059-3C - RF and RFID Spektrum DSM2 AR6100 Hitec 8.0g HS-55 Feather Standard Micro RC Servo KINGSTON Micro Secure Digital (Micro SD) 2GB
7
Komunikaˇ cn´ı protokol USART I2C I2C USART USART ICP PWM SPI
D
3.3
N´ aklady na poˇ r´ızen´ı elektroniky Yunifly
Jedn´ım z c´ıl˚ u v´ yvoje Yunifly bylo udrˇzet co nejniˇzˇs´ı poˇrizovac´ı n´aklady a umoˇznit tak spolupr´ aci v´ıce robot˚ u. V´ yhodou n´ızk´ ych poˇrizovac´ıch n´aklad˚ u je tak´e vˇetˇs´ı dostupnost programovateln´e elektroniky pro model´ aˇre a jin´e kon´ıˇcky zab´ yvaj´ıc´ı se stavbou mal´ ych mobiln´ıch stroj˚ u. N´ıˇze uveden´ a tabulka shrnuje poˇrizovac´ı n´aklady jedn´e kopie elekroniky Yunifly. V t´eto pr´aci nejsou pops´any n´aklady na vyvinut´ı prototypu a dalˇs´ıch spolupracuj´ıc´ıch zaˇr´ızen´ı. Ceny jednotliv´ ych komponent jsou platn´e k 15.2.2011. DOPLNIT DATA Deska Basic/Main 12V / 1A 3,3V / 1A 3,3V / 100mA 3,3V / 20mA (DOPLNIT doplnit korektn´ı u ´daje) Deska Basic/Main 12V / 1A 3,3V / 1A 3,3V / 100mA 3,3V / 20mA (DOPLNIT doplnit korektn´ı u ´daje) Zdroj: GM electronic Czech Republic – http://www.gme.cz/
4
Podrobn´ a specifikace Yunifly – Datasheet OBRAZEK fotky Yunifly obe desky zvlast + dohromady + top view - merge to one
4.1
Hmotnost a rozmˇ ery
Elektronika Yunifly je sloˇzena ze dvou samostatn´ ych ˇc´ast´ı, kter´e m˚ uˇzeme pouˇz´ıt jako jeden dvouprocesorov´ y celek. V tabulce (DOPLNIT cislo) jsou uvedeny hmotnosti jednotliv´ ych ˇc´ast´ı elektroniky. Hmotnost elektroniky Yunifly N´ azev souˇc´asti Hmotnost [g] Deska Basic DOPLNIT hmotnost Deska Main DOPLNIT hmotnost Yunifly cel´a DOPLNIT hmotnost Obˇe desky jsou navrˇzeny tak, aby jejich vz´ajemn´e propojen´ı bylo co nejv´ıce kompaktn´ı. Desku Main m˚ uˇzeme nasadit na konektor desky Basic a z´ısk´ame tak dvˇe propojen´e desky stejn´ ych rozmˇer˚ u, kter´e se dohromady uzav´ıraj´ı do kv´ adru. Jsou tak odolnˇejˇs´ı v˚ uˇci vnˇejˇs´ımu mechanick´emu poˇskozen´ı. OBRAZEK spojovaciho konektoru OBRAZEK rozmery
4.2
Pinov´ a konfigurace
OBRAZEK Pinova konfigurace obou desek vcetne legendy Propojovaci konektor
8
Pin VCC
GND SDA, SCL CONTROL-XCK
CONTROL-PWM
RESET
Popis Nap´ ajen´ı 3.3V, kter´e je rozvedeno po cel´e desce od stabiliz´ atoru. Konektor je moˇzn´e vyuˇz´ıt pro nap´ajen´ı dalˇs´ıch zaˇr´ızen´ı do 500mA. Ground I2C linka, kter´a je vyuˇzita ke komunikaci mezi deskou Basic a deskou Main. Pin, kter´ ym je propojena deska Main s deskou Basic. Pokud nastane selh´an´ı desky Main, nabyde tento pin hodnoty LOW a deska Basic je pˇrepnuta do nouzov´eho reˇzimu. Pin, kter´ ym je propojena deska Main s deskou Basic. T´ımto pinem pˇred´av´ame desce Basic informaci o jednom ze dvou stav˚ u, jejichˇz v´ ybˇer nastav´ıme programovˇe. Reset procesoru dan´e desky.
Deska Basic Pin BATT VCC
GND PWM0..7 ACC-RXD, ACC-TXD
FREERX-RXD, FREERX-TXD
KOMPAS-SDA, KOMPAS-SCL OTHER-SDA, OTHER-SCL ICP1..2 START
Popis Nap´ajen´ı desky 5-12V a detekce stavu vybit´ı bateri´ı. Nap´ajen´ı 3.3V, kter´e je rozvedeno po cel´e desce od stabiliz´atoru. Konektor je moˇzn´e vyuˇz´ıt pro nap´ajen´ı dalˇs´ıch zaˇr´ızen´ı do 500mA. Ground Konektory pulsn´ı ˇs´ıˇrkov´e modulace (PWM), ke kter´ ym je moˇzn´e pˇripojit serva a jin´e regul´atory. Konektor s´eriov´e linky, prim´arnˇe urˇcen´ y k pˇripojen´ı akcelerometr˚ u. (Lze pˇripojit libovoln´e zaˇr´ızen´ı s podporou USART.) RXD-receiver, TXD-transmitter Konektor s´eriov´e linky. Lze pˇripojit libovoln´e USART zaˇr´ızen´ı, napˇr´ıklad bluetooth. RXD-receiver, TXDtransmitter Konektor I2C sbˇernice. Prim´arnˇe urˇcen´ y pro pˇripojen´ı kompasu. Druh´ y paraleln´ı konektro I2C sbˇernice. Dva nez´avisl´e konektory pro zpracov´an´ı multi PWM sign´alu od RC pˇrij´ımaˇce nebo jin´eho zaˇr´ızen´ı totoˇzn´eho protokolu. Testpad, ke kter´emu lze pˇripojit programovˇe detekovateln´e tlaˇc´ıtko.
Deska Main
9
Pin BATT VCC
GND GPS-RXD, GPS-TXD
ZEM-RXD, ZEM-TXD ADC0..3
SD OC0..3 ICP3 START2
Popis Nap´ ajen´ı desky 5-12V a detekce stavu vybit´ı bateri´ı. Nap´ ajen´ı 3.3V, kter´e je rozvedeno po cel´e desce od stabiliz´ atoru. Konektor je moˇzn´e vyuˇz´ıt pro nap´ajen´ı dalˇs´ıch zaˇr´ızen´ı do 500mA. Ground Konektor s´eriov´e linky, prim´arnˇe urˇcen´ y k pˇripojen´ı GPS. (Lze pˇripojit libovoln´e zaˇr´ızen´ı s podporou USART.) RXDreceiver, TXD-transmitter Konektor s´eriov´e linky. Lze pˇripojit libovoln´e zaˇr´ızen´ı s podporou USART. RXD-receiver, TXD-transmitter 10bit analogov´e vstupy. Namˇeˇren´e napˇet´ı je programu pˇred´ ano jako 10bit ˇc´ıslo v rozsahu od GND po hodnotu VCC. Slot microSD karty. Yunifly je kompaktibiln´ı s microSD/SDHC kartami. Testpady, kter´e lze pouˇz´ıt pro pˇripojen´ı dalˇs´ıch zaˇr´ızen´ı ovl´ adan´ ych pomoc´ı PWM. Testpad, kter´ y lze pouˇz´ıt jako pˇr´ıj´ımaˇc multiPWM sign´alu. Testpad, ke kter´emu lze pˇripojit programovˇe detekovateln´e tlaˇc´ıtko.
Kaˇzd´ y z v´ yˇse uveden´ ych pin˚ u lze pouˇz´ıt jako digit´aln´ı vstup nebo v´ ystup. Pouˇzit´ı kaˇzd´eho pinu je d´ano programem. Pokud chceme pouˇz´ıt jednotliv´e piny jako digit´aln´ı vstupy nebo v´ ystupy, pouˇzijeme oznaˇcen´ı PORT A..G (PA0..PA7..PF0..PF7..PG0..PG4). DOPLNIT Viz datasheet ATmega128 strana 5-6.
4.3
Sch´ ema zapojen´ı elektroniky
OBRAZEK schema Main OBRAZEK schema Basic OBRAZEK obe desky eagle
4.4
Knihovna funkc´ı pro Yunifly
Yunifly je moˇzn´e naprogramovat libovoln´ ym programem urˇcen´ ym pro procesory Atmel ˇrady ATmega. V t´eto sekci jsou pops´ any funkce, kter´e m˚ uˇzeme pouˇz´ıt k usnandnˇen´ı tvorby naˇseho programu pro elektroniku Yunifly. 4.4.1
Ovl´ ad´ an´ı konektor˚ u
Digit´ aln´ı porty Digit´ aln´ı porty jsou ovl´ad´any totoˇzn´ ym zp˚ usobem, jako je uvedeno s DOPLNIT datasheetu ATmega128. Kaˇzd´ y z pin˚ u m˚ uˇzeme pouˇz´ıt v reˇzimu ˇcten´ı a v reˇzimu z´apisu. V reˇzimu ˇcten´ı m˚ uˇzeme ˇc´ıst hodnotu vybran´eho pinu jako LOW (0V) nabo HIGH (3.3V) a v reˇzimu z´ apisu m˚ uˇzeme nastavit vybran´emu pinu hodnotu LOW nebo hodnotu HIGH. USART, I2C Vzhledem k tomu, ˇze obˇe desky vyuˇz´ıvaj´ı totoˇzn´ y procesor, je moˇzn´e pomoc´ı jedn´e knihovny ovl´adat porty na obou desk´ ach. Kaˇzd´a deska m´a vyvedeny dvˇe s´eriov´e linky USART (USART0 a USART1), d´ale jednu I2C sbˇernici (I2C), kter´a m˚ uˇze b´ yt paralelizov´ana a jednu SPI linku, kter´ a poskytuje komunikaci s microSD kartou. Knihovna nab´ız´ı komunikaci pomoc´ı tˇr´ıd, kter´e obsluhuj´ı jednotliv´e linky. N´ıˇze je uvedena uk´ azka pouˇzit´ı tˇr´ıdy USART0. Kaˇzd´a tˇr´ıda obsahuje tyto funkce:
10
Funkce char C = USART0 . r e a d ( ) ; bool A = USART0 . peek ( char & C ) ; USART0 . w r i t e ( c ) ; USART0 . w r i t e ( ” any s t r i n g ” ) ; USART0 . writeNumber ( int I ) ;
Popis Pˇreˇcte prvn´ı pˇr´ıchoz´ı znak ve frontˇe. Pokud je pˇr´ıchoz´ı fronta pr´azdn´a, ˇcek´a se na pˇrijet´ı nov´eho znaku. Pokud je fronta pr´azdn´a, A==false, jinak A==true a do promˇenn´e C je uloˇzen prvn´ı znak ve frontˇe. Znak v promˇenn´e C je odesl´an. Odesl´ano pole znak˚ u. Funkce je obdobn´a jako cyklick´e vol´ an´ı funkce USART0.write(c). Odesl´ano 32bit ˇc´ıslo, kter´e je pˇrevedeno na pole odpov´ıdaj´ıc´ıch znak˚ u v dekadick´em z´apisu.
Ovl´ ad´ an´ı PWM zaˇ r´ızen´ı PWM zaˇr´ızen´ı ovl´ad´ame nastaven´ım hodnoty, kter´a je pˇrev´adˇena na sign´al PWM. Nastaven´ a hodnota je zas´ıl´ ana aˇz do jej´ıho dalˇs´ıho pˇreps´an´ı programem. Sign´al PWM je generov´an hardwarovˇe, nen´ı tedy tˇreba dalˇs´ı softwarov´a obsluha. Pro obsluhu pouˇzijeme funkci setPWM( int val ue , int i d ) ; kde promˇenn´a id oznaˇcuje zaˇr´ızen´ı, pro kter´e nastavujeme aktu´aln´ı hodnotu v promˇenn´e value. ICP a pˇ r´ıjem sign´ alu z RC pˇ rij´ımaˇ ce Procesor disponuje dvˇema ICP porty (ICP0 a ICP1), kter´e jsou na sobˇe nez´ avisl´e. Knihovna Yunifly obsahuje totoˇzn´e struktury ICP0 a ICP1, kter´e obsluhuj´ı pˇr´ıjem dat pˇres ICP port. DOPLNIT jde to tak vubec? c l a s s ICP0 { public : void setNumberOfChannels ( int count ) ; int v a l u e = getChannelValue ( int i d ) ; }; MicroSD karta Pˇripojenou microSD kartu m˚ uˇzeme ˇc´ıst, pokud je naform´atov´ana jako FAT32. Knihovna Yunifly podporuje tyto funkce: DOPLNIT popis funkc´ı bool formatSD ( ) ; bool e r a s e B l o c k s ( int s t a r t , int end ) ; bool w r i t e B l o c k s ( int s t a r t , int end , char ∗ data ) ; char ∗ r e a d B l o c k s ( int s t a r t , int end ) ; class f i l e L i s t { public : char ∗ f i l e N a m e ; bool f o l d e r ; char ∗ type ; int s i z e ; }; fileList ∗ getFileList (); bool c r e a t e F i l e ( char ∗ f i l e N a m e ) ; bool d e l e t e F i l e ( char ∗ f i l e N a m e ) ; char ∗ r e a d F i l e ( char ∗ fileName , int s t a r t , int end ) ; bool w r i t e F i l e ( char ∗ fileName , int s t a r t , int end ) ; AD pˇ revodn´ıky Procesor ATmega128 m´a 8 vyveden´ ych AD pˇrevodn´ık˚ u. Elektronika Yunifly m´ a z kapacitn´ıch d˚ uvod˚ u vyvedeny pouze 4 piny. Je vyveden kaˇzd´ y sud´ y AD pˇrevodn´ık. Softwarovˇe ale m˚ uˇzeme ˇc´ıst vˇsech 8 pˇrecodn´ık˚ u pomoc´ı funkce 11
int g e t S e n s o r V a l u e ( int i d ) ; kde promˇenn´a id ud´ av´ a identifikaˇcn´ı ˇc´ıslo dan´eho AD pˇrevodn´ıku. Funkce vrac´ı pln´ y rozsah 10bit ˇc´ısla. Ovl´ ad´ an´ı LED na desce Kaˇzd´ a deska obsahuje dvˇe LED, kter´e m˚ uˇzeme programovˇe ovl´adat. K dispozici m´ame funkce pro rozsv´ıcen´ı a zhasnut´ı ˇcerven´e a zelen´e LED. D´ale potom funkce ke zjiˇstˇen´ı aktu´aln´ıho stavu obou LED. void void bool bool
setRedLED ( bool l i g h t ) ; setGreenLED ( bool l i g h t ) ; getRedLED ( ) ; getGreenLED ( ) ;
Stav bateri´ı Aktu´ aln´ı stav bateri´ı je na desce Baisc mˇeˇren na ADC7 (AD pˇrevodn´ık). Baterie je k ADC7 pˇripojena pˇres rezistorov´ y dˇeliˇc 15kΩ na 5kΩ. Stav bateri´ı m˚ uˇzeme ˇc´ıst jako 10bit ˇc´ıslo, kde 0 odpov´ıd´a 0V a 1023 odpov´ıd´ a 3.3 · 4 = 13.2V . 4.4.2
Komunikace s deskou Basic
Obˇe desky spolu komunikuj´ı pomoc´ı I2C linky a pin˚ u CONTROL-XCK a CONTROL-PWM. Knihocna Yunifly obsahuje funkce pro desku Main urˇcen´e ke komunikaci s firmwarem na desce Basic. Nouzov´ y reˇ zim Pokud nechceme, aby deska Basic pracovala v nouzov´em reˇzimu, mus´ı deska Main drˇzet pin CONTROL-XCK na hodnotˇe HIGH. Pokud deska Basic zaznamen´a zmˇenu na hodnotu LOW, je automaticky pˇrepnuta do nouzov´eho reˇzimu. Nastaven´ı PWM PWM zaˇr´ızen´ı obsluhuje deska Basic z d˚ uvodu moˇznosti ˇr´ızen´ı pˇri v´ ydadku desky Main. Pˇres I2C zaˇsle deska Main zpr´ avu, jak se m´a zmˇenit nastaven´ı PWM regul´ator˚ u. Pouˇzijeme funkci bool sendBasicPWM ( int val ue , int i d ) ; kde id je identifikator PWM regul´ atoru, kter´ y nastavujeme na 10bit hodnotu value. Funkce vrac´ı true, pokud bylo nastaven´ı u ´spˇeˇsn´e. Pˇ r´ıjem dat od RC pˇ rij´ımaˇ ce Funguje obdobnˇe, jako nastavov´an´ı hodnot PWM. Prvn´ı funkce nastav´ı poˇcet kan´ al˚ u, kter´e jsou naslouch´ any na ICP portu desky Basic. Druh´a funkce z´ısk´a aktu´ alnˇe pˇrijatou hodnotu na kan´ ale v promˇenn´e id. bool se ndB a s i c I C P P o r t s ( int count ) ; int getBasicICP ( int i d ) ; 4.4.3
Komunikace s extern´ımi moduly
Zde jsou pos´ any funkce, kter´e slouˇz´ı pro obsluhu konkr´etn´ıch zaˇr´ızen´ı uveden´ ych v sekci DOPLNIT tabulka s typem GPS, ACC atd. GPS Pro komunikaci s GPS je podporov´ana funkce pro z´ısk´an´ı souˇradnic severn´ı ˇs´ıˇrky a v´ ychodn´ı d´elky jako cel´e ˇc´ıslo v desetimiliontin´ ach stupnˇe (v pˇr´ıpadˇe jiˇzn´ı ˇs´ıˇrky a z´apadn´ı d´elky jsou hodnoty z´aporn´e), d´ale funkce pro z´ısk´ an´ı nadmoˇrsk´e v´ yˇsky v metrech, pˇresnosti mˇeˇren´ı v metrech a ˇcas v poˇctu uplynul´ ych sekund od 1.1.1970. Posledn´ı funkce zjist´ı, zda je GPS pˇripojena a pˇr´ıpravena na zasl´an´ı aktu´aln´ıch souˇradnic.
12
int GPSgetNorth ( ) ; int GPSgetEast ( ) ; int GPSgetAltitude ( ) ; int GPSgetAccurary ( ) ; int GPSgetTime ( ) ; bool GPSrunning ( ) ; Pˇri selh´an´ı GPS jsou vˇsechny n´ avratov´e hodnoty nulov´e. Akcelerometr Pouˇzit´ y trojos´ y akcelerometr komunikuje s deskou Main pomoc´ı sbˇernice I2C. Pomoc´ı tˇr´ı funkc´ı m˚ uˇzeme z´ıskat aktu´ aln´ı akceleraci. Vˇzdy je vr´acena hodnota akcelerace v ose X, Y nebo Z v rozliˇsen´ı 16bit ˇc´ısla do pˇret´ıˇzen´ı 60G. int ACCgetXValue ( ) ; int ACCgetYValue ( ) ; int ACCgetZValue ( ) ; Kompas Kompas elektronice Yunifly vrac´ı odchylku od severn´ıho smˇeru v ose X, Y a Z jako 8bit signed int ˇc´ıslo, kde kladn´ a hodnota znaˇc´ı odchylku v kladn´em smˇeru. Hodnota ±255 znaˇc´ı jiˇzn´ı smˇer. int COMPASgetX ( ) ; int COMPASgetY ( ) ; int COMPASgetZ ( ) ; WiFi, Bluetooth WiFi a bluetooth moduly jsou k elektronice Yunifly pˇripojeny pˇr´ımo k s´eriov´e lince. Nepotˇrebuj´ı dalˇs´ı obsluhu ze strany Yunifly. Automatcky se pˇripoj´ı k zaˇr´ızen´ı nebo k PC, kter´e o pˇripojen´ı poˇz´ad´ a a odeˇslˇe spr´ avn´ y p´ arovac´ı kl´ıˇc. Automaticky se zpracuje veˇsker´a komunikace zaslan´ a a pˇrijat´a na pˇr´ısluˇsnou linku USART. 4.4.4
ˇ ızen´ı stability letounu R´
´ celem ˇr´ızen´ı stability je udrˇzet letoun v nulov´em zrychlen´ı vzhledem k vybran´ Uˇ ym os´am akcelerometr˚ u. Stabilizaci pˇred´ av´ ame ˇctyˇri hodnoty, kter´e reprezentuj´ı aktu´aln´ı smˇer letu. 1. V´ ykon motoru, kter´ y nen´ı d´ ale regulov´an. 2. Naklonˇen´ı ve smˇeru osy Y. 3. Naklonˇen´ı ve smˇeru osy X. 4. Naklonˇen´ı ve smˇeru osy Z. OBRAZEK naklopen´ı ve smˇeru dan´ ych os a klapky na kˇr´ıdlech - ktere osy ktere klapky Na z´akladˇe hodnot z akcelerometr˚ u je urˇcena aktu´aln´ı poloha letounu v˚ uˇci smˇeru gravitaˇcn´ıho zrychlen´ı. Na z´ akladˇe tohoto smˇeru jsou vypoˇc´ıt´any chyby od poˇzadovan´e polohy letounu. N´asleduje PID regulace, kter´ a nastav´ı polohy pˇr´ısluˇsn´ ych smˇerov´ ych klapek. void s t a b i l i z a t i o n ( unsigned int f u e l , signed int rotX , signed int rotY , signed int rotZ , signed int a c c e l e r o m e t e r X , signed int a c c e l e r o m e t e r Y , signed int a c c e l e r o m e t e r Z , signed int & PWMfuel , signed int & PWMrotX, 13
signed int & PWMrotY, signed int & PWMrotZ, ); OBRAZEK schema VUE postupu vypoctu stabilizace
4.5
Firmware pro desku Basic
4.5.1
Pouˇ zit´ı firmwaru
Firmware pro desku Basic je urˇcen zejm´ena pro l´et´an´ı s podporou nouzov´eho reˇzimu. V opaˇcn´em pˇr´ıpadˇe zpracov´ av´ a pokyny a poˇzadavky desky Main, kter´e jsou podrobnˇe pos´any v sekci DOPLNIT komunikace s deskou Basic. 4.5.2
Nouzov´ y reˇ zim
Nouzov´ y reˇzim je spuˇstˇen pr´ avˇe v tˇechto pˇr´ıpadech: 1. Port CONTROL-XCK je nastaven na hodnotu LOW. 2. Deska Main je vypnuta. 3. Deska Basic obdrˇz´ı poˇzadavek od extern´ıho zaˇr´ızen´ı - nastavena ud´alost, kter´a uvede nouzov´ y reˇzim v aktivitu. V nouzov´em reˇzimu je obsluhov´ an pouze RC pˇrij´ımaˇc, kter´ y je pˇr´ımo propojen s PWM regul´atory. Pokud je RC pˇrij´ımaˇc nedostupn´ y, tak je prim´arnˇe vypnut motor a letoun je stabilizov´an do pˇrist´ avac´ı polohy. Uˇzivatel m˚ uˇze desce Basic pˇredat funkci, kter´a je cyklicky vol´ana pˇri spuˇstˇen´ı nouzov´eho reˇzimu. Funkce m´ a k dispozici ovl´ ad´ an´ı PWM regul´ator˚ u a dalˇs´ıch funkˇcn´ıch zaˇr´ızen´ı pˇripojen´ ych k desce Basic. DOPLNIT staci takto? - me sem nic dalsiho nenapada, vse uz je receno vyse
5
Swarm robotics a elektronika Yunifly
Jak jiˇz bylo zm´ınˇeno, elektroniku Yunifly lze libovolnˇe programovat. M´ame k dispozici dva procesory ATmega128 a pamˇet’ovou kartu microSD/SDHC, kter´a n´am slouˇz´ı jako u ´loˇziˇstˇe dat. Obˇe desky Yunifly splˇ nuj´ı poˇzadavky pro testov´ an´ı z´akladn´ıho algoritmu umˇel´e inteligence, kter´a je doposud vyv´ıjena na simul´ atoru Yunimin (DOPLNIT odkaz na pr´aci).
5.1
Z´ akladn´ı algoritmus umˇ el´ e inteligence
Algoritmus byl vyvinut tak, abychom pˇri uˇcen´ı nemuseli zn´at spr´avn´e ˇreˇsen´ı probl´emu. Algoritmu cyklicky pˇred´av´ ame vstupn´ı data a jeho aktu´aln´ı u ´spˇeˇsnost, pro jej´ıˇz v´ ysledek nepotˇrebujeme zn´ at ´ eˇsnost zjist´ıme na z´ ˇreˇsen´ı probl´emu. Uspˇ akladˇe odchylky od stavu, kter´eho chceme dos´ahnout. Inteligence jiˇz sama najde postup, pomoc´ı kter´eho dos´ahne ide´aln´ıho stavu. Je tak sama schopna zjistit, co je jej´ım u ´kolem. Probl´emy, kter´e ˇreˇs´ı zm´ınˇen´ a umˇel´ a inteligence, lze pˇredat k ˇreˇsen´ı vˇetˇs´ımu mnoˇzstv´ı stroj˚ u z´aroveˇ n. V´ ypoˇcet prob´ıh´ a obdobnˇe jako parallel computing“ nebo multitasking u v´ıceprocesorov´ ych poˇc´ıtaˇc˚ u. ” Kaˇzd´ y stroj dost´ av´ a vlastn´ı vstupn´ı a v´ ystupn´ı data, avˇsak s ostatn´ımi sd´ıl´ı nˇekter´e glob´aln´ı informace. Za pouˇzit´ı swarm intelligence lze pozorovat i kolektivn´ı chov´an´ı robot˚ u v nezn´am´em prostoru. Kaˇzd´ y robot pracuje s´ am na z´ akladˇe sv´e inteligence, ale jeho vstupn´ı data jsou ovlivˇ nov´ana polohou a ˇcinnost´ı ostatn´ıch robot˚ u. D´ıky tomu jsou roboti na sebe v´az´ani a m˚ uˇzeme sledovat vz´ajemn´e interakce v jejich chov´an´ı. Vˇsichni roboti mohou ˇreˇsit stejn´ yu ´kol, kter´ y z´avis´ı na spolupr´aci vˇsech. Na z´akladˇe jejich interakc´ı z´ıskaj´ı zkuˇsenosti, kter´e jim pomohou v kolektivn´ım jedn´an´ı.
14
5.2
Diagramy architektury algoritmu umˇ el´ e inteligence
Popis algoritm˚ u a vˇsech souˇc´ ast´ı umˇel´e inteligence je pops´an v pr´aci (DOPLNIT odkaz na Swarm Yunimin). N´ıˇze jsou uvedeny diagramy, kter´e ukazuj´ı z´akladn´ı architekturu zm´ınˇen´e umˇel´e inteligence. (OBRAZEK 2 schemata funkcnosti)
5.3
Pouˇ zit´ı umˇ el´ e inteligence pro Yunifly
Abychom byli schopni napsat libovoln´ y ovl´adac´ı software, mus´ıme disponovat souborem z´akladn´ıch funkc´ı a procedur, jejichˇz vhodn´ ym vol´ an´ım spln´ıme zadan´ yu ´kol. Pokud chceme, aby naˇsi pr´aci zastala zm´ınˇen´a umˇel´ a inteligence, mus´ıme j´ı pˇredat soubor z´akladn´ıch funkc´ı a procedur jako datab´ azi axiomatick´ ych zkuˇsenost´ı. Na z´akladˇe tˇechto zkuˇsenost´ı a funkce, kter´a vrac´ı aktu´aln´ı u ´spˇeˇsnost robota, bude umˇel´a inteligence hledat ˇreˇsen´ı dan´eho probl´emu. Pomoc´ı elektroniky Yunifly se bude testovat, zda je zm´ınˇen´ a inteligence schopna se samostatnˇe nauˇcit ˇr´ıdit letoun tak, jak je ˇz´ad´ano uˇzivatelem na z´akladˇe fitness funkce.
15
6
Shrnut´ı
´ eˇsnˇe se podaˇrilo navrhnout, vyrobit a odzkouˇset prototyp elektroniky Yunifly. Deska byla Uspˇ otestov´ana na RC modelu akrobatick´eho letounu. Jako souˇc´ast elektroniky byl naps´an firmware pro desku Basic, kter´ y podporuje spolupr´ aci obou desek s podporou nouzov´eho reˇzimu, kter´ y je spuˇstˇen pˇri hardwarov´em nebo softwarov´em selh´ an´ı ˇr´ıdic´ı elektroniky. Souˇc´ast´ı je d´ale knihovna v jazyce C++, kter´a obsahuje z´ akladn´ı funkce pro ˇr´ızen´ı elektroniky, konektor˚ u a podporovan´ ych externˇe pˇripojen´ ych zaˇr´ızen´ı. Dalˇs´ı v´ yvoj desky Yunifly pˇredpokl´ ad´am zejm´ena v ˇsirˇs´ım spektru softwarov´e podpory externˇe pˇripojen´ ych zaˇr´ızen´ı. Pokud bude deska Yunifly strojnˇe osazov´ana, bude moˇzn´e pouˇz´ıt menˇs´ı pouzdra nˇekter´ ych souˇc´astek, jako napˇr´ıklad procesoru. D´ıky tomu bude moˇzn´e celou elektroniku jeˇstˇe zmenˇsit a z´ıskat tak niˇzˇs´ı hmotnost a vyˇsˇs´ı pouˇzitelnost v jeˇstˇe menˇs´ıch stroj´ıch.
16