Программирование "Omegabot" в среде Scratch
- Знакомство с цифровой средой Кулибина, инструменты разработчика
- Интерфейс программы Кулибин
- Алгоритм, инструкции линейных, разветвляющихся и циклических алгоритмов в среде Кулибин
- Аналоговый и цифровой сигнал. Модуль кнопки
Источник: Робототехника https://mooc.nspu.ru/course/view.php?id=155§ion=1
Методические указания: Светодиод, датчик касания
Задание 1. Движение вперед - назад
Полигон предназначен для выполнения следующего задания: используя блок «Проехать м со скоростью» и другие блоки из раздела «Движение», собрать из блоков или написать на Руthоп программу для робота на движение до стенки, по нажатию кнопки робот останавливатся, ждет 1 секунду, после чего надо совершить разворот на 180 градусов, поехать в сторону стартовой позиции, остановится по нажатию кнопки на 1 секунду и снова развернуться на 180 градусов, оказавшись в изначальном положении и направлении.
Полигон для задания
Решение
Задание 2. Зиг-Заг-один
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему проехать все повороты, добраться до кармана и вернуться назад.
Полигон для задания
Решение задания "Зиг_Заг-один" с использванием подпрограммы - функция
Задание 3. Зиг-Заг-два
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему проехать все повороты, добраться до кармана, развернуться на 180 градусов и остановиться. Использовать подпрограмму - функция "Движение вперед"
Полигон для задания
Методические указания: пъезодинамик
Датчики: Светодиод, пъезоизлучатель
Задание 1. Вызов
Собрать из блоков или написать на Руthоп программу для робота на движение с включенной мигалкой и сиреной до стенки, по нажатию кнопки робот останавливатся, ждет 2 секунду, после чего совершает разворот на 180 градусов и едет в сторону стартовой позиции с включенной мигалкой и сиреной, остановится по нажатию кнопки и снова надо развернуться на 180 градусов, оказавшись в изначальном положении и направлении.
Полигон для задания
Решение
Задание 2. Концерт
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему проехать все повороты, добраться до площади и включить музыку. Использовать подпрограмму - функция "Движение вперед" по датчику касания и небольшую часть блоков для создания блока "Музыка".
Полигон для задачи
Методические указания: Ультразвуковой дальномер на сервоприводе
Задание 1. Дальномер вперед - назад
Собрать из блоков или написать на Руthоп программу для робота на движение до стенки, для управления робота использовать дальномер, робот останавливатся, ждет 1 секунду, после чего надо совершить разворот на 180 градусов, поехать в сторону стартовой позиции, остановится на 1 секунду и снова развернуться на 180 градусов, оказавшись в изначальном положении и направлении.
Полигон для задания
Решение
Задание 2. Внутренний периметр
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему совершить внутренний осмотр прямоугольника (использовать дальномер).
Полигон для задания
Задание 3. За угол
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему совершить поворот за угол и остановиться в кармане (использовать дальномер и датчик касания).
Полигон для задания
Рашение
Задание 4. Внешний периметр
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему совершить внешний осмотр прямоугольника (использовать дальномер).
Полигон для задания
Задание 1. Стена
Определить наименьшее расстояние до стены и наименьшую глубину кармана.
Полигон для задания
Решение
Вывод в консоль
Наимньшее расстояние до стены равно 27, до самого неглубокого кармана - 77, Тогда ширина блока равна 77 - 27 = 50. Эти данные необходимы для программы прохождения роботом лабиринта.
Задание 2. Лабиринт: дальномер + датчик касания
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему проехать лабиринт по правилу правой руки с использованием дальномера и датчика касания. В консоль вывести количестио поворотов робота вправо и влево.
Полигон для задания
Решение
Последоватедьность команд определяет: время прохождения роботом одной клетки со скоростью 200, проверяется движение робота по коридору, определяется время отъезда робота от стенки так, чтобы после поворота на 90 градусов он ехал по центру коридора. Эти данные используются при написании программы.
Задание 4. Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему исследовать забор (спуститься по лестнице) и остановиться на последней площадке с использованием дальномера, датчика касания и цикла "Повторить N раз".
Полигон для задания
Задание 1. Лабиринт: дальномер
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему проехать лабиринт по правилу правой руки с использованием только дальномера.
Полигон для задания
Решение
Методические указания: Омегабот - датчик цвета
Задание 1. Движение с остановками
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему сделать остановку на каждой зеленой клетке на 3 секунды и сделать остановку на черной.
Полигон для задания
Программа для движения бота по полигону "Движение с остановками"
Задание 2. Движение по цветным клеткам
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему проехать последовательно по всем цветным клеткам и сделать остановку на черной.
Полигон для задания
Программа для движения бота по полигону "Движение с остановками"
Задание 3. Мозаика
Собрать программу для робота, которая поможет ему найти верный путь до ЧЁРНОЙ плитки, следуя правилам:
- Если плитка ЗЕЛЁНАЯ - повернуть направо на 90 градусов и ехать вперёд к следующей плитке
- Если плитка СИНЯЯ - повернуть налево на 90 градусов и ехать вперёд к следующей плитке
- На любой другой плитке ехать прямо
Полигон для задания
Методические указания: Датчик линии
Пример 1. Движение по линии
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему проехать по черной линии и сделать остановку на красной клетке (используется два датчика линии и датчик цвета).
Полигон для задания
Подключение датчиков
Датчик линии А0 подключается к правому колесу робота, датчие линии А1 - левому колесу, к А2 подключается датчик цвета.
Допустимые положения датчиков при движении робота по линии:
- левый датчик, также как и правый - над светлой поверхностью
- левый датчик над светлой поверхностью, правый датчик над темной
- левый датчик над темной поверхностью, правый датчик над светлой
- оба датчика находятся над темной поверхностью
Если в определенный момент времени программа на роботе обнаруживает одно и из этих положений, она должна будет среагировать соответствующим образом:
- Если оба датчика над белой поверхностью, то это нормальная ситуация, в которой линия находится между датчиками, поэтому робот должен ехать прямо.
- Если левый датчик еще над светлой поверхностью, а правый датчик уже над темной, значит, робот заехал своей правой частью на линию, а значить ему нужно поворачивать направо, чтобы линия опять оказалась между датчиками.
- Если левый датчик оказался над темной поверхностью, а правый еще над светлой, то для выравнивания роботу нужно поворачивать налево.
- Если оба датчика над темной поверхностью, то в общем случае, робот опять продолжает двигаться прямо.
Источник: Продвинутый алгоритм движения по линии » робот из lego nxt 2.0
Программ для движения робота по черной линии
Пропорциональный регулятор для следования по линии
Программа
Пример 2. Проезд перекрестков
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему проехать по черной линии, остановиться на 3 секунды на 3 и 6 перекрестках, вывести в консоль номер перекрестка, который проехал робот, и сделать остановку на красной клетке (используется два датчика линии и датчик цвета).
Полигон для задания
Программа
В программе "Движение по линии" добавлен блок "Переезд перекрестка и определение номера перекрестка (переменная k)". На перекрестке показания правого и левого датчика линии должны быть больше 500 и датчик цвета должен показывать черный цвет. Обязательно надо переехать перекресток и возобновить движение по линии.
Пример 1. Слалом по линии
Поле представляет собой белый полигон, на котором нарисована S-образная линия. На линии расставлено не менее 4 кеглей. Задача робота – за наиболее короткое время пройти трассу, обозначенную черной линией, от места старта до места финиша, обходя препятствия-кегли, расположенные на линии. При этом, первое препятствие-кеглю робот должен обойти с левой стороны и далее обходить кегли попеременно с правой и с левой сторон (используются: два датчика линии, датчик цвета и дальномер).
Полигон для примера
Пример 1. Движение по белой линии
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему проехать по белой линии и сделать остановку на красной клетке (используется два датчика линии и датчик цвета).
Полигон для задания
Программа
Пример 2. Движение по инверсной линии
Собрать из блоков или написать на Руthоп программу для робота, которая поможет ему проехать по инверсной линии и сделать остановку на красной клетке (используется два датчика линии и датчик цвета).
Полигон для задания