Обучение программированию роботов является одним из самых актуальных направлений в современном образовании. В школьном курсе информатики и технологии добавлены темы по робототехнике, но оснащение большинства школ еще не соответствует требованиям современных программ обучения. Помимо нехватки соответствующего оборудования в школах, появилась необходимость проводить занятия с использованием дистанционных технологий. В этой статье рассматривается вопрос использования среды Trik Studio для обучения робототехнике в школе. Данный программный пакет обладает следующими преимуществами: бесплатная лицензия, наличие режима имитации, возможность визуального программирования, русскоязычный интерфейс, кроссплатформенность, поддержка программирования реальных и имитационных моделей роботов. Рассмотрим отдельные методические подходы к использованию среды Trik Studio.
Одной из наиболее сложных и важных задач является формирование системы величин. Некоторые величины имитационных моделей отличаются от реальных. Например, параметр мощность может принимать значения от -100 до 100. Положительные значения мощности задают вращение мотора по часовой стрелке, отрицательные - против часовой. При значении мощности равном 0 мотор вращаться не будет, чем "выше" значение мощности, тем быстрее вращается мотор. Параметр мощность задается только целыми значениями. Параметры: секунды, градусы, обороты могут принимать значения с десятичной дробью. Но следует помнить, что минимальный шаг вращения мотора равен одному градусу.
В таймере устанавливается время в миллисекундах. Обучающимся надо понимать, что в 1 секунде 1000 миллисекунд.
При использовании энкодерной модели движения, когда задается количество оборотов, которое должен выполнить мотор, в настройках блока указывается градусы, но параметр называется Количество оборотов. В одном обороте 360 градусов, если надо сделать три оборота, то количество градусов будет 3*360 = 1080. Чтобы не считать большие величины, можно так и записать - необходимое количество оборотов * 360
Единицы измерения ультразвукового датчика достаточно понятны, это сантиметры. У датчика света/цвета немного сложнее. Во-первых, режим работы датчика устанавливается в настройках, а не в программе. Во-вторых, в имитационной модели приграничных показаний нет: отраженный свет от белого 99, от черного - 0. При составлении задач, надо учитывать, что один и тот же датчик на протяжении выполнения всей программы будет работать в одном режиме. Т.е. если необходимо в программе использовать показания датчика цвета и света, то необходимо оснастить робота двумя датчиками - один для измерения освещенности, другой для определения цвета. Положительным является то, что синий цвет в имитационной модели не будет определяться зеленым, в отличие от реальных датчиков.
Следует обратить внимание на то, что в среде TRIK Studio нет возможности конструировать робота, поэтому круг задач, которые можно решать с помощью имитационной модели Lego Ev3 в TRIK Studio, ограничивается базовой конструкцией подвижной платформы. Кроме этого в коллекции полей к полигону для имитационной модели может не оказаться подходящего для задач, которые будут решаться на занятиях. Поэтому необходимо уметь создавать свои поля под задачи и настраивать 2D-окружение для робота.
На этапе знакомства со средой Trik Studio и созданием первых программ лучше решать простые задачи, чтобы хорошо понимать, что должен выполнить робот, чтобы в решениях не было очевидных других вариантов решения, кроме того, который мы, как наставники, хотим получить. Так же, на простых примерах обучающиеся научаться правильно понимать систему величин. Ниже предложен комплекс задач, которые разбиты на группы в зависимости от целей обучения и этапа изучения.
Представлен комплекс заданий с решениями на знакомство с основами работы и программирования в среде TRIK Studio. Задания разбиты на группы в зависимости от целей обучения и этапа изучения.
Первая группа задач подготовлена для знакомства с микроконтроллером ev3 и средой программирования TRIK Studio. Например, Задание 1. В режиме Отладка запустите программу и получите данные с каждого устройства. При выполнении данного задания обучающиеся учатся подключать датчики двумерной-модели и определяют их показания.
Во второй группе представлены задачи на движение робота по заданной траектории. Например, составить программу таким образом, чтобы робот перемещался вперед по прямой линии на один оборот колеса.
Третья группа задач направлена на управление поведением робота с помощью датчиков касания, цвета, расстояния. Например, подключите к EV3 датчики касания, расстояния. Составьте программу для робота, который движется вперед до обнаружения стены (с помощью датчика касания) и останавливается.
Для каждой задачи подготовлен полигон и предложено авторское решение.
Приводим примерные задания с указанием полей и обстановки. Файлы полей и обстановки в Приложении 1.
Задания для знакомства с микроконтроллером ev3 и средой программирования TRIK Studio
1. В режиме Отладка загрузите мир mir01.xml. Полигон должен выглядеть так, как представлено на рисунке <Рисунок 1>. Подключите электрические элементы конструктора к блоку, как на рисунке <Рисунок 2>. В режиме Редактор создайте программу по образцу: <Рисунок 3>
Рис. 1
Рис. 2
Рис. 3
2. В режиме Отладка запустите программу и получите данные с каждого устройства. Заполните таблицу:
Сенсор (датчик) |
Показания |
|
mir01 |
mir02 |
|
Гиродатчик |
|
|
Датчик цвета EV3(отраженный) |
|
|
Датчик цвета EV3/NXT(цвет) |
|
|
Датчик расстояния |
|
|
3. Сделайте те же измерения в мире mir02.xml <Рисунок 4>.
Рис. 4
4. В режиме Редактор создайте программу по образцу: <Рисунок 5>.
Рис. 5
В режиме Отладка. Заполните таблицу:
Переменные |
Показания при 3000мс |
Показания при 5000мс |
||
до запуска |
после запуска |
до запуска |
после запуска |
|
encoderB |
|
|
|
|
encoderC |
|
|
|
|
3. В режиме Редактор у блока Таймер измените параметр Задержка на 5000 мс. Заполните таблицу до конца.
4. Подключите в порт 4 Датчик расстояния. В режиме Отладка установите стену на полигоне, как показано на рисунке:
Рис. 6
В режиме Редактор создайте программу по образцу: <Рисунок 7>
Рис. 7
Запустите программу в режиме Отладка. Объясните что произошло? Почему робот остановился? Какое значение показывает Датчик расстояния?
5. Подготовьте полигон, как показано на рисунке.
Рис. 8
Составьте программу, чтобы робот остановился на черной полосе, используя Датчик цвета EV3/NXT(цвет).
Решение: <Рисунок 9>.
Рис. 9
Задачи на движение робота по заданной траектории
6. Составить программу таким образом, чтобы робот перемещался вперед по прямой линии на один оборот колеса (Один оборот - это 360 градусов). Запустить программу и проверить ее выполнение.
Решение: <Рисунок 10>
Рис. 10
7. Измените программу из задачи 6 таким образом, чтобы робот перед началом движения издавал звук, после перемещения на один оборот колеса выводил на экран EV3 текст, например, EV3.
Решение: <Рисунок 11>
Рис. 11
8. Измените программу задачи 6 таким образом, чтобы робот двигался назад по прямой линии на 420° (поворот оси колеса).
Решение: <Рисунок 12>
Рис. 12
9. Составить программу для робота, выполняющего поворот на 90°: а) поворот выполняется влево одним колесом; б) поворот выполняется влево двумя колесами.
Решение:
a) <Рисунок 13>
Рис. 13
b) <Рисунок 14>
Рис. 14
10. Составить программу для робота, который будет двигаться по квадрату. Отладить программу, используя тренировочное поле мира mir03.xml.
Решение: <Рисунок 15>
Рис. 15
11. Составить программу для робота, который описывает «восьмерку». Для обеспечения контроля за правильностью движения робота по заданной траектории используйте блок Опустить маркер.
Решение: <Рисунок 16>
Рис. 16
12. Измените предыдущую программу для робота таким образом, чтобы траектория его движения соответствовала «змейке».
Решение: <Рисунок 17>
Рис. 17
Управление поведением робота с помощью датчиков касания, цвета, расстояния
12. Подключите к EV3 датчики касания, расстояния. Составьте программу для робота, который движется вперед до обнаружения стены (с помощью датчика касания) и останавливается.
Решение: <Рисунок 18>
Рис. 18
13. Составьте программу для робота, который двигается вперед до обнаружения стены (с помощью датчика касания), после этого робот издает звук, поворачивается на некоторый угол и снова едет вперед.
Решение: <Рисунок 19>
Рис. 19
14. Составьте программу для робота-прилипалы, который держится на определенном расстоянии перед препятствием. Если это расстояние увеличивается, он подъезжает вперед, если уменьшается - отъезжает назад.
Решение: <Рисунок 20>
Рис. 20
15. Составить программу для робота, который обнаруживает красную линию, используя тренировочное поле pole01.svg.
Решение: <Рисунок 21>
Рис. 21
16. Составить программу для робота, который должен найти вторую черную линию, используя тренировочное поле pole01.svg.
Решение: <Рисунок 22>
Рис. 22
17. Составить программу для робота, который движется вдоль черной линии (поле из коллекции Trik Studio Follow_line.svg) с помощью датчика цвета.
Решение: <Рисунок 23>
Рис. 23
18. Составить программу для робота, который на светлой части поля едет быстрее, на темной медленнее.
Решение: <Рисунок 24>
Рис. 24
Список использованных источников
- Денега А.О. Программирование роботов в TRIK Studio. / Денега А.О. - Текст: электронный // Студенческий справочник «Справочник от Автор24». - 2021. - URL: https://spravochnick.ru/informatika/programmirovanie_robotov_v_srede_trik_studio/#programmirovanie-robotov-v-srede-trik-studio (дата обращения 07.06.2023)
- Мальков И.М. TRIK-Studio в примерах и задачах. Методическое пособие по основам программирования в среде TRIK-Studio. / Мальков И.М. - Текст: электронный. // Б1.Б.12.1. Информатика - 2020. - URL: https://yagu.s-vfu.ru/pluginfile.php/1076270/mod_resource/content/1/TRIK Studio_Методичка.pdf (дата обращения 23.04.2022)
- Мордвинов Д.А. Среда программирования роботов TRIK Studio / Мордвинов Д.А. - Санкт-Петербургский государственный университет Кафедра системного программирования
- Официальный сайт TRIK Studio - https://trikstor.com/