Е серија која опфаќа теорија и пракса од сите области на компјутерската наука

examen.press е серија што пренесува теорија и пракса од сите области на компјутерската наука за универзитетско образование.

која

Програмирање Карстен Бернс Даниел Шмит со роботски системи LEGO R MINDSTORMS R NXT, методологија на дизајн, алгоритми 123

Содржина 1 Вовед. 1 1.1 LEGO MINDSTORMS како систем за обработка на информации. 2 1.2 Придонес на наставата на книгата. 3 1.3 Структура на книгата. 4 2 роботика. 5 2.1 Роботи. 5 2.1.1 Историско потекло на роботите. 6 2.1.2 Апликации и класификација на роботски системи. 7 2.1.3 Роботика интердисциплинарна област на истражување. 10 2.1.4 Програмирање на роботи. 11 2.2 Придонес на компјутерската наука во роботиката. 12 3 Основи на компјутерски науки. 17 3.1 Развој на програма. 17 3.2 Моделирање и апстракција. 19 3.3 Елементи на програмирање. 21 3.3.1 Часови. 21 3.3.2 Структури на податоците. 22 3.3.3 Методи и функции. 25 3.3.4 Програми. 26 3.3.5 Логика и функции. 26 3.3.6 Условни извештаи и гранки. 28 3.3.7 Јамки и повторувања. 29 3.3.8 Набудувач. 31 3.4 Програмски јазици и компајлери. 32 3.4.1 Составувач. 32 3.4.2 Толкувач. 34 3.5 Структура и функција на оперативните системи. 35 3.5.1 Процеси. 36 3.5.2 Оперативни системи. 37 3.6 Компјутери и електроника. 37 ix

x Содржина 4 Системот LEGO MINDSTORMS. 41 4.1 Микроконтролер. 42 4.1.1 Интерфејс на сензорот/погонот. 43 4.1.2 Подготвени програми. 44 4.2 Актуатори. 45 4.2.1 Електричен мотор. 45 4.2.2 Запчаник. 48 4.3 Технологија на сензори. 49 4.3.1 Сензор за копче. 50 4.3.2 Ултразвучен сензор. 51 4.3.3 Сензор за светло. 53 4.3.4 Сензор за боја. 54 4.3.5 Сензор за бучава. 55 4.3.6 Акцелерометар. 56 4.3.7 Сензор за компас. 57 4.3.8 .иро-сензор. 58 4.3.9 РФИД сензор. 59 4.3.10 Други сензори. 60 4.3.11 Евалуација на сензорот. 61 5 Развој на програми LEGO NXT. 63 5.1 Графичко програмирање со NXT-G. 63 5.1.1 Програмското опкружување. 64 5.1.2 Составување и започнување. 65 5.1.3 Програма за уредување. 65 5.1.4 Секвенцијални и паралелни програми. 66 5.1.5 Податоци линии и променливи. 66 5.1.6 Помош за функцијата и документацијата. 68 5.2 Програмски елементи во NXT-G. 68 5.2.1 Општа палета. 69 5.2.2 Акција. 69 5.2.3 Сензор. 70 5.2.4 Постапка. 72 5.2.5 Податоци. 73 5.2.6 Голем опсег на функции. 74 5.2.7 Сопствени блокови. 75 5.3 Пример за примена на интелигентен робот. 76 5.3.1 Роботот учи да вози. 77 5.3.2 Избегнување на пречки. 81 5.3.3 Редоследот на линијата. 86 5.4 Програмски задачи со NXT-G. 90 5.4.1 Низа секвенци, избегнување на пречки и сите останати 90 5.4.2 Чувар робот. 91

xii Содржина 7.4 Создавање мапа. 169 7.4.1 Основи на мапирање. 169 7.4.2 Структура на мрежна картичка. 171 7.4.3 Координирана трансформација. 173 7.4.4 Откривање на оптички карактеристики на животната средина. 177 7.4.5 Препознавање и диференцирање помеѓу обележјата на РФИД. 179 7.4.6 Тополошко пресликување. 180 7.4.7 Локализација заснована на информации за картата. 182 7.5 Навигација по мапи. 183 7.5.1 Барај алгоритми за растерски мапи. 183 7.5.2 Пронаоѓање на патишта во графиконите. 187 8 програмски задачи со LeJOS. 191 8.1 Стационарни системи. 191 8.1.1 Скенирање, цртање и копирање. 191 8.1.2 Работ на робот. 192 8.1.3 Подредувач на топки. 193 8.1.4 Мелница игра. 194 8.1.5 Рубикова коцка од Рубик. 196 8.1.6 Судоку. 196 8.2 Мобилни роботски системи. 197 8.2.1 Робот за чистење. 197 8.2.2 Чистење на роботи. 198 8.2.3 Геокаширање на робот. 199 8.2.4 Роботски конвој. 200 8.2.5 возило Брајтенберг. 201 8.2.6 Омнидирекциски робот. 201 8.2.7 Систем за подигање на нарачки. 202 Додаток. 203 A.1 Вежби и експерименти со NXT. 203 А.2 Општи совети и трикови за LeJOS. 207 A.3 Решенија за вежбање и совети за решенија за LeJOS. 209 A.4 Извори на снабдување и контакти со компанијата. 214 А.5 Дополнителни програмски јазици за dennxt. 215 Речник. 217 Литература. 227 Индекс на предмет. 231 година

16 2 Роботиката останува висока, бидејќи матурантите тешко можат да ги задоволат потребите на индустријата и во иднина ќе бидат потребни повеќе од помалку ИТ специјалисти. Во следното поглавје се даваат основните ИТ знаења, што е основа за секоја ИТ обука. Ова ги вклучува компонентите на компјутерот, како и програмските елементи и алатки.

4.3 Технологија на сензорот 61 4.3.11 Евалуација на сензорот Покрај приемот и претворањето на физичките во електронски величини, проценката и обработката на сензорот игра одлучувачка улога. Скоро сите сензори бараат прилагодување на вредностите на сензорот со цел да се филтрираат пречките, да се засилат вредностите или да се проценат само одредени области за прием. Класичните методи за филтрирање на мешањето работат на просечните вредности. Или последните n мерења на вредноста на сензорот s се просечни n s просечно = 1 n s i = s 1 + s 2 +. + sn (4,8) i = 1 n или новата вредност s е вклучена само во излезната вредност до одреден процент p [0,1]: s филтер = (1 p) s филтер + ps (4,9) Друга можност е Среден филтер, кој е еден од таканаречените филтри за рангирање. Филтрираната вредност се одредува од последните n мерења со сортирање според големината и избирање на средната вредност. Ако n е парен број, се пресметува средната вредност на двете вредности на средниот сензор: < 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 Пример за примена: интелигентен робот 89 gen со портокалов клуч Enter во многу светлосна позадина, каде што калибрацијата е завршена со повторно потврдување со копчето Enter. Калибрацијата може да се изврши со користење на оваа програма натоварена на NXT или со користење на блокови за калибрација од големиот опсег на функции во проширениот опсег. Резултирачката вредност на осветленоста на сензорот за светлина се намалува од суровата вредност на сензорот, која е помеѓу 0 и 1023, со употреба на формулата 5.4. Овие минимални и максимални вредности се одредуваат со калибрација. Можете да го направите ова по секоја промена во условите на осветлување на NXT и не треба да ги менувате граничните вредности, на пример кога правите споредби во програмата. 0 ако сурова вредност 0 d> 0 игра звук со висина f и времетраење df = 0 d> 0 пауза со времетраење df> 0 d = 0 поставете ја брзината на f BPM f> 0 d = 1 поставете ја јачината на звукот f проценти 16 http: //extras.springer.com/

104 5 Развој на програми LEGO NXT Програмска задача 40: Контрола на положбата Со текот на времето, може да се случи конструкцијата да се движи пониско или повисоко за време на контролата сè додека не ги достигне крајните точки на можното движење. Програмата сега треба да се прошири на таков начин што системот, кога е во избалансирана состојба, повторно ќе се изедначи на почетното ниво. За да го направите ова, сензорите за ротација на трите мотори мора да бидат поставени на 0 на почетокот. Ако системот е (релативно) во мирување, сите мотори треба да се движат нагоре или надолу синхроно со цел да ги вратат своите вредности на ротација (во степени) во просек на 0. Задача за програмирање 41: Поставување на висината Покрај двете вртења, висината претставува трет прилагодлив степен на слобода. Претходната задача може да се прошири така што стандардната висина може да се постави со помош на копчињата на NXT.