Предисловие
Все те занятия, что буду псвящены мобильной робототехнике, будут условно разделены на
два блока: теоретический и практический. Нет, мы не будем сначала слушать теорию, а потом
реализовывать её на практике - практиковаться в симуляторе мы будем на протяжении всего
занятия. А вот задания, которые придётся выполнять, будут разделены на:
теоретические, где нужно прочитать учебный материал и разобраться в нём, выполнить
все задания, а главное – адекватно ответить на вопросы в тесте Kahoot;
практические, где нужно на основании изученной теории построить в онлайн-симуляторе
Open Roberta Lab соответствующие программы, и проверить, как ведёт себя робот,
выполняя их.
Такое разделение носит условный характер, для лучшего усвоения материала придётся
перепрыгивать с теории на практику и с практики на теорию, так что не бойся
экспериментировать!
Кратко знакомимся с новым и самым сложным, внимательно слушая то, что скажет
преподаватель, не стесняемся задавать вопросы;
Внимательно читаем файл с теорией и выполняем все задания в нём; Обычно в файле с
теорией рассматриваются вопросы алгоритмов, необходимых операторов для их
построения, и приводятся примеры программ. Кроме того даются задания на создание
программ с учётом ваших знаний из курсов Lego, которые обязательно нужно выполнить;
Переходим в онлайн-симулятор Open Roberta Lab и создаём в нём все те же программы,
проверяя как будет вести себя робот;
Показываем преподавателю свои результаты и обсуждаем их, получаем заработанные
честным трудом оценки;
Выполняем дополнительные практические задания в симуляторе, полученные от
преподавателя;
Получаем и обсуждаем домашнее задание;
Для того, чтобы писать программы и тестировать роботов совсем необязательно иметь
собранную конструкцию, можно обойтись симулятором - специальной программой,
имитирующей действия робота. В симуляторе робот обладает всеми теми же наборами датчиков
и моторов, способен двигаться также как в реальности. Конечно, в каждом симуляторе есть свои
ограничения, но тем интереснее в них работать, ведь ты не только решаешь поставленную перед
тобой задачу изучения роботов, но и изучаешь сам симулятор, как удобный (а иногда и не очень)
инструмент для настоящего робототехника.
1
Для успешного освоения части курса, относящегося к мобильной робототехнике тебе
понадобится симулятор:
ТВОЯ ПЕРВАЯ ЗАДАЧА: Открыть онлайн симулятор Open Roberta Lab, перейдя по ссылке
https://lab.open-roberta.org и произвести первоначальные настройки симулятора.
Далее следует выбрать любую систему, для которой НЕ указано “Beta”, а нарисованный
робот на нужной тебе системе не позволит ошибиться:
2
После этого откроется главное окно симулятора:
Проверь ещё раз, правильно ли ты выбрал систему для симуляции: в левом верхнем углу
должно быть указано “EV3”:
3
Поздравляем! Ты сделал все основные настройки и теперь можно начинать
изучать симулятор и программировать роботов. Как именно? Разберёмся в
следующей теме!
4
Тема #1: Алгоритмы и блок-схемы
Алгоритмы
Прежде чем приступать к составлению программ, нужно понять: какая именно перед
роботом стоит задача, и каким образом ему следует её решать. Причём сделать это нужно не «в
общем» формализованным образом, а виде последовательности конкретных, простых действий.
И тут у тебя могут возникнуть трудности, которые легко продемонстрировать на примере.
Представь, что тебе необходимо перейти дорогу. Ты сделаешь это, не задумываясь, не отделяя
одно движение от другого, интуитивно и успешно. Именно потому, что когда-то тебе рассказали и
показали, как необходимо преодолевать проезжую часть, и ты многократно это проделывал на
практике. Если же необходимо описать процесс перехода улицы по частям, то выглядеть это будет
примерно так:
1. дойти до края дороги;
2. узнать, движутся ли по ней машины слева от тебя в твою сторону;
3. если движутся – стоять на месте;
4. если машин слева нет, двигаться перпендикулярно проезжей части до середины дороги;
5. остановиться если дошел до середины дороги или продолжить движение, если не дошел;
6. дойдя до середины, посмотреть нет ли справа приближающихся к тебе машин;
7. если есть – стоять на месте;
8. если нет – двигаться к краю дороги.
Смотри, получилось целых восемь действий, которые ты выполняешь, не задумываясь, а
роботу каждое из этих действий нужно задать с помощью специальных команд. И это только
основные действия, но могут быть и какие-то дополнительные, например перед тобой внезапно
оказывается автомобиль, и нужно моментально остановиться. Твой мозг автоматически
анализирует множество происходящих вокруг событий, «рассчитывает» реакции для каждого
конкретного случая и помнит об основной цели – в нашем примере это переход дороги.
Блок-Схемы
Правильно объединяя эти и другие блоки между собой, можно наглядно, быстро и просто
продемонстрировать любой, даже с самым сложным текстовым описанием, алгоритм.
Качественную блок-схему будем, конечно же, чертить онлайн. Для этого перейди на сайт
https://app.creately.com/, и зарегистрируйся там, введя имя, адрес своей почты и придумав
пароль. После регистрации откроется браузер проектов, где нужно нажать «Add Document»:
6
А теперь выбери «FlowChart», и нажми «Maybe later» чтоб закрыть обучалку и скорее
перейти к составлению блок-схем:
После этих несложных манипуляций откроется окно редактора блок-схем, в котором слева
от рабочего поля доступны отдельные элементы. Они добавляются на рабочее поле простым
перетаскиванием:
Соединить между собой два элементов можно, используя инструмент «line», вызываемый
соответствующей пиктограммой в левом верхнем углу редактора:
7
Этой теории будет достаточно для того, чтоб составить свою первую блок-схему. Поспеши,
ведь преподаватель будет очень рад твоим успехам!
8
Тема #2: Простейшие алгоритмы движения
Выше мы разобрались с тем, что такое алгоритмы и для чего они нужны. Мы выяснили, что
алгоритм – это подробная последовательность действий. Алгоритм выполняется роботом для
решения нужной нам задачи. При этом наиболее наглядно представлять алгоритм не в виде
текста, а в виде блок-схем. Блок-схема позволяет увидеть не только отдельные части алгоритма,
но связи между ними.
Вооружившись этими знаниями, пора программировать роботов!
Теперь, когда конструкция робота стала понятной, пора переходить в симулятор и начинать
в нём работать.
ЗАДАЧА 2.2: Открой онлайн симулятор Open Roberta Lab, перейдя по ссылке https://lab.open-
roberta.org и произведи первоначальные настройки симулятора.
После того как основные настройки симулятора произведены (о том, как это делать –
написано выше!), можно приступить к настройкам самого робота, ведь его моторы должны быть
подключены к правильным портам!
Для того чтоб настроить параметры робота нужно перейти в его конфигурацию:
9
Тут ты можешь заметить не только то, что у робота в симуляторе имеется два мотора, но и
то, что он оснащён разнообразными датчиками. Изучать работу датчиков будем позднее, а пока
научимся создавать программы для движения робота по заданной траектории.
Где же будет ездить наш робот? По специальным трассам, где же ещё! Доступ к трассам и
запуску программ открывается нажатием кнопки «SIM» в правой части экрана:
После того как разберёшься с навигацией, нужно выбрать самую пустую трассу, на которой
будешь производить первые испытания:
10
Для того, чтоб заставить робота двигаться, тебе понадобятся блоки со вкладки «действие»:
В качестве небольшой помощи при решении этой простой задачи ниже приведен вид
программы движения вперёд и результат её симуляции. Также ты можешь заметить, что робот
прочерчивает пройденный путь, что позволяет отследить его траекторию движения – это удобно.
Скорее всего, тебе не составило особого труда составить программы к задаче 2.3 и
убедиться, что автономное управление роботом не составляет особого труда. Теперь можно
решить задачи посложнее – заставить робота двигаться по разным траекториям.
11
Решить задачу 2.5 можно, комбинируя блоки «ЕХАТЬ» и «ПОВОРОТ» в правильной
последовательности и правильно настраивая параметры в этих блоках.
Траектория движения робота будет менять свою форму, если ты будешь корректировать
три параметра «скорость», «расстояние» и «градус». Результат выполнения задачи 2.6 может
выглядеть следующим образом:
Чтоб решить эту задачу, нужно вспомнить всё то, что изучалось в теме «Тема #1:
Алгоритмы и блок-схемы».
ЗАДАЧА 2.7 (на оценку!): Научи робота двигаться так, чтобы его траектория представляла собой
слово «ШАГ».
12
Для решения этой задачи тебе понадобятся те же самые блоки и их правильные
комбинации. Не пытайся решить задачу сразу целиком, вместо этого разбей её на части: пускай
робот сначала рисует по одной букве. Так ты сможешь исправить все ошибки и неточности. После
этого достаточно будет последовательно объединить три программы в одну и получить
правильный результат!
13