Це серія, яка охоплює теорію та практику з усіх областей інформатики

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 Датчик RFID. 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 Розпізнавання та розмежування орієнтирів RFID. 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 А.1 Вправи та експерименти з NXT. 203 A.2 Загальні поради та підказки щодо LeJOS. 207 A.3 Рішення щодо вправ та поради щодо вирішення LeJOS. 209 А.4 Джерела постачання та контакти з компаніями. 214 A.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 filter = (1 p) s filterold + 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 покоління з помаранчевою клавішею 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.