Презентация на тему: Основы программирования в среде Robolab 2.9

Основы программирования в среде Robolab 2.9
Темы занятия
Окна Robolab
Палитра функций: типы команд
Типы команд: «Жди» и «Делай»
Использование датчиков RCX и NXT
Новые команды ожидания для NXT
Новые команды управления моторами
Объекты данных и их значения
Модификаторы
Выражения в Robolab 2.9
Помощь
Управляющие структуры
Палитра примеров - Behaviors
Простейшие алгоритмы
Простейшие алгоритмы
Простейшие алгоритмы
Движение с одним датчиком
Калибровка датчика
Два датчика освещенности
Калибровка двух датчиков
Подсчет перекрестков
П-регулятор: один датчик
П-регулятор для двух датчиков
П-регулятор для двух датчиков
Подсчет перекрестков при включенном регуляторе
Благодарю за внимание!
1/27
Средняя оценка: 4.1/5 (всего оценок: 23)
Код скопирован в буфер обмена
Скачать (917 Кб)
1

Первый слайд презентации: Основы программирования в среде Robolab 2.9

Базовые алгоритмы управления роботами Lego Mindstorms

Изображение слайда
2

Слайд 2: Темы занятия

Знакомство со средой Robolab 2.9 Типы команд Трехколесный робот Базовые алгоритмические конструкции Путешествие по комнате Движение в круге Примеры программ Управление роботом: движение вдоль линии П-регуляторы Преодоление препятствий

Изображение слайда
3

Слайд 3: Окна Robolab

Основное окно программы Панель исследователя Палитра функций Палитра инструментов

Изображение слайда
4

Слайд 4: Палитра функций: типы команд

Команды действия Команды ожидания Управляющие структуры Модификаторы Команды в новых разделах для NXT встречаются всех типов

Изображение слайда
5

Слайд 5: Типы команд: «Жди» и «Делай»

Команды «Жди» Не выполняют никаких физических действий Останавливают следование программы до совершения определенного события Передают управление следующему блоку после наступления события Команды «Делай» Выполняются мгновенно Сразу передают управление следующей команде Их последствия ограничиваются только аналогичными командами и концом программы

Изображение слайда
6

Слайд 6: Использование датчиков RCX и NXT

Изображение слайда
7

Слайд 7: Новые команды ожидания для NXT

Изображение слайда
8

Слайд 8: Новые команды управления моторами

В версии 2.5.4 мощность моторов измеряется от 1 до 5, направление отдельно В версии 2.9.4 мощность моторов измеряется от -100 до 100 с учетом направления Команды делятся на «Включить» и «Задать» Включить в случайном направлении Включить моторы с мощностью от -5 до 5 Задать мощность -5..5 Задать направление назад Задать направление вперед Задать случайное направление Включить моторы с заданными установками Включить моторы с мощностью от -100 до 100 Включить моторы со строковым заданием мощности

Изображение слайда
9

Слайд 9: Объекты данных и их значения

В Robolab различается объект данных и его значение Объектом данных может быть: Порт Контейнер Таймер и др. Значение объекта – это содержащееся в нем число

Изображение слайда
10

Слайд 10: Модификаторы

Параметры выполнения команд, которые определяют: Порт подключенного устройства Мощность мотора Ожидаемое значение датчика Задаваемое значение контейнера и др. Если модификатор не указан, то используется по умолчанию

Изображение слайда
11

Слайд 11: Выражения в Robolab 2.9

В версии 2.9.4 появился полноценный математический аппарат Типы данных: int, float Переменные и именованные контейнеры Математические функции Скобочные выражения Каждый объект имеет свое текстовое представление: Красный контейнер – red, синий – blue Значение датчика на первом порту – S1 и т.д. Допускается задание мощности моторов строкой

Изображение слайда
12

Слайд 12: Помощь

Контекстная подсказка (при наведении курсора) Ctrl-H Текстовое описание с внутренней структурой – двойной щелчок по установленному блоку Графическое описание с примером – пункт Help в контекстном меню (не всегда активен) После просмотра примера Robolab предлагает сохранить его. Этого делать не нужно

Изображение слайда
13

Слайд 13: Управляющие структуры

Ветвления Циклы и безусловные переходы Подпрограммы Параллельные задачи Обработчики событий Задачи Подрограммы Ветвления, переходы, циклы, события

Изображение слайда
14

Слайд 14: Палитра примеров - Behaviors

Поворот Движение прямо Пошатывание

Изображение слайда
15

Слайд 15: Простейшие алгоритмы

Квадрат Повторяй 4 раза: Моторы B,C вперед Жди N/100 секунды Мотор C назад ( B вперед) Жди N/100 секунды Стоп моторы Движение в круге Повторяй бесконечно: Моторы B,C вперед Жди темнее на датчике освещенности Изменить направление моторов B,C Жди N/100 секунды Мотор C вперед ( B назад) Жди N/100 секунды

Изображение слайда
16

Слайд 16: Простейшие алгоритмы

Путешествие по комнате Повторяй бесконечно: Моторы B,C вперед Жди ближе 30 на датчике расстояния Изменить направление моторов B,C Жди N/100 секунды Мотор C вперед ( B назад) Жди N/100 секунды Датчик ультразвука должен смотреть вперед

Изображение слайда
17

Слайд 17: Простейшие алгоритмы

Выталкивание банок из круга Повторяй 6 раз: Поворот на месте Жди расстояние меньше X Моторы вперед Обнулить датчик оборотов Жди освещение меньше Y Моторы назад Жди обороты ноль без сброса датчика Датчик ультразвука должен смотреть вперед Датчик освещенности вниз

Изображение слайда
18

Слайд 18: Движение с одним датчиком

Движение по линии Устанавливаем робота слева от черной линии Повторяй бесконечно: Плавный поворот направо до черного Плавный поворот налево до белого В качестве границы используется среднее значение между черным и белым

Изображение слайда
19

Слайд 19: Калибровка датчика

Контейнер-переменная хранит считанное значение освещенности на белом Значение контейнера понижается на 8 пунктов для получения границы черного и белого Далее в алгоритме используется значение контейнера

Изображение слайда
20

Слайд 20: Два датчика освещенности

Константы значений серого для каждого датчика определяются вручную Уменьшение скорости при движении прямо возможно для повышения надежности

Изображение слайда
21

Слайд 21: Калибровка двух датчиков

Положить значения серого для двух датчиков в разные контейнеры Использовать полученные значения вместо констант

Изображение слайда
22

Слайд 22: Подсчет перекрестков

Задача: остановиться после определенного числа перекрестков При каждом наезде на перекресток на время приостанавливается считывание данных Контейнер увеличивается на 1 Цикл с предусловием повторяется, пока значение контейнера меньше заданной величины.

Изображение слайда
23

Слайд 23: П-регулятор: один датчик

Управление мощностью моторов в зависимости от степени отклонения от границы Коэффициент пропорциональности влияет на скорость «реакции»

Изображение слайда
24

Слайд 24: П-регулятор для двух датчиков

Учитывается отклонение двух датчиков от средней величины: S = S действительное – S желаемое На регулятор влияет разница отклонений: red = (S 1 – S 2 )*k При одинаковых отклонениях робот едет прямо ( red=0 ) s1, s2 – текущие показания датчиков red, blue, yellow – красный, синий и желтый контейнеры

Изображение слайда
25

Слайд 25: П-регулятор для двух датчиков

Учитывается отклонение двух датчиков от средней величины: S = S действительное – S желаемое На регулятор влияет разница отклонений: red = (S 1 – S 2 )*k При одинаковых отклонениях робот едет прямо ( red=0 ) s1, s2 – текущие показания датчиков на 1 и 2 портах red, blue, yellow – красный, синий и желтый контейнеры

Изображение слайда
26

Слайд 26: Подсчет перекрестков при включенном регуляторе

Задача: остановиться после определенного числа перекрестков Все цветные контейнеры заняты, поэтому используем нумерованный контейнер Номера 0, 1, 2 – это красный, синий, желтый. Используем номер 3. При наезде на перекресток на время прерывается работа П-регулятора, но при этом увеличивается счетчик перекрестков В остальных ситуациях работает П-регулятор

Изображение слайда
27

Последний слайд презентации: Основы программирования в среде Robolab 2.9: Благодарю за внимание!

Сергей Александрович Филиппов Физико-Математический лицей № 239 Россия, Санкт-Петербург safilippov@gmail.com

Изображение слайда