Je séria, ktorá pokrýva teóriu a prax zo všetkých oblastí informatiky
examen.press je séria, ktorá pre vysokoškolské vzdelávanie sprostredkúva teóriu a prax zo všetkých oblastí informatiky.

Karsten Berns Daniel Schmidt Programovanie s robotickými systémami LEGO R MINDSTORMS R NXT, metodika návrhu, algoritmy 123
Obsah 1 Úvod. 1 1.1 LEGO MINDSTORMS ako systém spracovania informácií. 2 1.2 Učebný príspevok knihy. 3 1.3 Štruktúra knihy. 4 2 robotika. 5 2.1 Roboty. 5 2.1.1 Historický pôvod robotov. 6 2.1.2 Aplikácie a klasifikácia robotických systémov. 7 2.1.3 Robotika je interdisciplinárna oblasť výskumu. 10 2.1.4 Programovanie robotov. 11 2.2 Príspevok informatiky k robotike. 12 3 Základy počítačovej vedy. 17 3.1 Vývoj programu. 17 3.2 Modelovanie a abstrakcia. 19 3.3 Prvky programovania. 21 3.3.1 Triedy. 21 3.3.2 Dátové štruktúry. 22 3.3.3 Metódy a funkcie. 25 3.3.4 Programy. 26 3.3.5 Logika a funkcie. 26 3.3.6 Podmienené vyhlásenia a vetvy. 28 3.3.7 Smyčky a opakovania. 29 3.3.8 Pozorovateľ. 31 3.4 Programovacie jazyky a prekladače. 32 3.4.1 Kompilátor. 32 3.4.2 Tlmočník. 34 3.5 Štruktúra a funkcia operačných systémov. 35 3.5.1 Procesy. 36 3.5.2 Operačné systémy. 37 3.6 Počítače a elektronika. 37 ix
x Obsah 4 Systém LEGO MINDSTORMS. 41 4.1 Mikrokontrolér. 42 4.1.1 Rozhranie snímač/akčný člen. 43 4.1.2 Hotové programy. 44 4.2 Pohony. 45 4.2.1 Elektromotor. 45 4.2.2 Výbava. 48 4.3 Technológia snímačov. 49 4.3.1 Tlačidlový snímač. 50 4.3.2 Ultrazvukový snímač. 51 4.3.3 Svetelný senzor. 53 4.3.4 Farebný snímač. 54 4.3.5 Snímač hluku. 55 4.3.6 Akcelerometer. 56 4.3.7 Senzor kompasu. 57 4.3.8 Gyroskopický senzor. 58 4.3.9 RFID snímač. 59 4.3.10 Ostatné snímače. 60 4.3.11 Vyhodnotenie snímača. 61 5 Vývoj programov LEGO NXT. 63 5.1 Grafické programovanie pomocou NXT-G. 63 5.1.1 Programovacie prostredie. 64 5.1.2 Kompilácia a spustenie. 65 5.1.3 Editačný program. 65 5.1.4 Sekvenčné a paralelné programy. 66 5.1.5 Dátové riadky a premenné. 66 5.1.6 Funkcia pomocníka a dokumentácia. 68 5.2 Programovacie prvky v NXT-G. 68 5.2.1 Všeobecná paleta. 69 5.2.2 Akcia. 69 5.2.3 Senzor. 70 5.2.4 Postup. 72 5.2.5 Údaje. 73 5.2.6 Veľký rozsah funkcií. 74 5.2.7 Vlastné bloky. 75 5.3 Príklad aplikácie inteligentného robota. 76 5.3.1 Robot sa učí riadiť. 77 5.3.2 Vyhýbanie sa prekážkam. 81 5.3.3 Postupnosti riadkov. 86 5.4 Programovanie úloh pomocou NXT-G. 5.4.1 Postupnosti čiar, vyhýbanie sa prekážkam a všetkému ostatnému 90 5.4.2 Ochranný robot. 91
xii Obsah 7.4 Vytváranie máp. 169 7.4.1 Základy mapovania. 169 7.4.2 Štruktúra mriežkovej karty. 171 7.4.3 Transformácia súradníc. 173 7.4.4 Detekcia optických prvkov prostredia. 177 7.4.5 Rozpoznávanie a rozlišovanie medzi RFID orientačnými bodmi. 179 7.4.6 Topologické mapovanie. 180 7.4.7 Lokalizácia na základe mapových informácií. 182 7.5 Navigácia v mapách. 183 7.5.1 Vyhľadávacie algoritmy rastrových máp. 183 7.5.2 Nájdenie cesty v grafoch. 187 8 programovacích úloh s LeJOS. 191 8.1 Stacionárne systémy. 191 8.1.1 Skenovanie, kreslenie a kopírovanie. 191 8.1.2 Robotické rameno. 192 8.1.3 Triedič guľôčok. 193 8.1.4 Mlynská hra. 194 8.1.5 Rubikova Rubikova kocka. 196 8.1.6 Sudoku. 196 8.2 Mobilné robotické systémy. 197 8.2.1 Čistiaci robot. 197 8.2.2 Čistiace roboty. 198 8.2.3 Robotický geocaching. 199 8.2.4 Konvoj robotov. 200 8.2.5 Braitenbergovo vozidlo. 201 8.2.6 Všesmerový robot. 201 8.2.7 Systém vychystávania. 202 A Príloha. 203 A.1 Cvičenia a experimenty s NXT. 203 A.2 Všeobecné tipy a triky k systému LeJOS. 207 A.3 Cvičebné riešenia a tipy na riešenie pre LeJOS. 209 A.4 Zdroje dodávok a kontakty na spoločnosť. 214 A.5 Ďalšie programovacie jazyky pre dennxt. 215 Slovník. 217 Literatúra. 227 Predmetový index. 231
16 2 Robotika zostáva na vysokej úrovni, pretože absolventi ťažko uspokojia potreby priemyslu a v budúcnosti bude potrebných viac ako menej IT špecialistov. V nasledujúcej kapitole sú odovzdané základné znalosti IT, ktoré sú základom pre každé školenie v oblasti IT. Patria sem počítačové komponenty, ako aj programovacie prvky a nástroje.
4.3 Technológia senzorov 61 4.3.11 Vyhodnocovanie snímačov Okrem prijímania a premeny fyzických na elektronické veličiny zohráva rozhodujúcu úlohu vyhodnotenie a spracovanie snímača. Takmer všetky snímače musia byť prispôsobené hodnotám snímačov, aby sa odfiltrovali interferencie, zosilnili hodnoty alebo vyhodnotili iba určité oblasti príjmu. Klasické metódy filtrovania rušenia fungujú na priemerných hodnotách. Buď je posledných n meraní hodnoty senzora s spriemerovaných n s spriemerované = 1 n s i = s 1 + s 2 +. + sn (4,8) i = 1 n alebo nová hodnota s je zahrnutá do výstupnej hodnoty iba do určitého percenta p [0,1]: s filter = (1 p) s filterold + ps (4,9) Ďalšou možnosťou je Mediánový filter, ktorý je jedným z takzvaných hodnotiacich filtrov. Filtrovaná hodnota sa určuje z posledných n meraní ich triedením podľa veľkosti a výberom strednej hodnoty. Ak je n párne číslo, vypočíta sa priemer dvoch stredných hodnôt snímača: < s j n ungerade, j =(n + 1)/2 s median = s j +s j+1 2 n gerade, j = n/2 (4.10) mit Sortierung s 1. s j. s n Alle drei Verfahren sorgen dafür, dass die Werte geglättet werden, das bedeutet, einzelne Ausreißer wirken sich kaum auf den Ausgangswert aus. Dafür reagiert der Filter träge bei Wertänderungen, je nach Anzahl n der gemittelten Daten bzw. nach der Größe des Anteils p (siehe Abb. 4.16). Man muss bei der Wahl von n also immer einen Kompromiss aus guter Glättung (großes n) und schneller Reaktion (kleines n) eingehen. In der Elektrotechnik werden häufig Filter verwendet, die in Schaltungen realisiert sind. Beispiele dafür sind sogenannte Tief- oder Hochpassfilter, die bestimmte Frequenzen unterdrücken können. Bei einem Tiefpassfilter können niederfrequente Signale fast ungeschwächt passieren, wohingegen hochfrequente Signale herausgefiltert werden. Eine der häufigsten Anwendungen für Filter ist die Rauschunterdrückung. So sollen beispielsweise bei Audiosignalen (Schallwellen) bestimmte Frequenzen (Störungen) herausgefiltert werden (Dolby B/C bei Kassettenrecordern, Radio). Aber auch im Auto kommen bei Einparkhilfen oder Navigationssystemen Filter zum Einsatz, die dafür sorgen, dass die gemessenen Entfernungswerte oder die GPS-Position nicht springen.
5.3 Príklad aplikácie: inteligentný robot 89 gen s oranžovým klávesom Enter na veľmi svetlom pozadí, kde je kalibrácia ukončená opätovným potvrdením klávesom Enter. Kalibráciu je možné vykonať buď pomocou tohto programu načítaného do NXT, alebo pomocou kalibračných blokov z veľkého rozsahu funkcií v rozšírenom rozsahu. Výsledná hodnota jasu svetelného snímača sa upraví zo surovej hodnoty snímača, ktorá je medzi 0 a 1023, pomocou vzorca 5.4. Tieto minimálne a maximálne hodnoty sa určujú pomocou kalibrácie. Môžete to urobiť po každej zmene svetelných podmienok na NXT a nemusíte meniť hraničné hodnoty, napríklad pri porovnávaní v programe. 0 ak je surová hodnota 0 d> 0 prehrať zvuk s výškou fa trvaním df = 0 d> 0 pauza s trvaním df> 0 d = 0 nastaviť rýchlosť na f BPM f> 0 d = 1 nastaviť hlasitosť na f percent 16 http: //extras.springer.com/
104 5 Vývoj programov LEGO NXT Programovacia úloha 40: Ovládanie polohy V priebehu času sa môže stať, že sa konštrukcia počas ovládania posunie nižšie alebo vyššie, kým nedosiahne konečné body možného pohybu. Program sa teraz má rozšíriť takým spôsobom, aby sa systém po vyrovnaní opäť vyrovnal na počiatočnej úrovni. Za týmto účelom musia byť snímače otáčania troch motorov na začiatku nastavené na 0. Ak je systém (relatívne) v pokoji, mali by sa všetky motory pohybovať synchrónne nahor alebo nadol, aby sa ich hodnoty rotácie (v stupňoch) v priemere vrátili na 0. Úloha programovania 41: Nastavenie výšky Okrem dvoch otočení predstavuje výška tretí nastaviteľný stupeň voľnosti. Predchádzajúcu úlohu je možné nakoniec predĺžiť, aby sa dala štandardná výška nastaviť pomocou tlačidiel na NXT.