Проект RUBIROBOT — управления роботами Lego Mindstorms EV3 с использованием языка программирования Free Pascal (Дмитрий Слинкин, OSEDUCONF-2020)

Материал из 0x1.tv

Докладчик
Дмитрий Слинкин.jpg
Дмитрий Слинкин

Проект RubiRobot раскрывает возможности языка программирования Free Pascal в создании программ для робототехнической платформы Lego Mindstorms EV3. Разработка программ возможна как на контроллере, так и на хостовой системе средствами кросс-компиляции.

Проект включает в себя объектно-ориентированную программную библиотеку поддержки внешних и внутренних устройств платформы, более 15 модулей и 30 демонстрационных примеров, документацию на русском языке, консольные и графические утилиты, образ операционной системы Debian Linux проекта ev3dev для загрузки на контроллере EV3. В качестве хостовой операционной системы проект использует ALT Linux седьмой, восьмой или девятой платформ. Основная область применения проекта — обучение робототехнике школьников среднего и старшего звена, обучение образовательной робототехнике студентов педагогических колледжей и вузов, подготовка к участию в робототехнических олимпиадах.

Видео

on youtube

Презентация

Проект RUBIROBOT — управления роботами Lego Mindstorms EV3 с использованием языка программирования Free Pascal (Дмитрий Слинкин, OSEDUCONF-2020).pdf Проект RUBIROBOT — управления роботами Lego Mindstorms EV3 с использованием языка программирования Free Pascal (Дмитрий Слинкин, OSEDUCONF-2020).pdf Проект RUBIROBOT — управления роботами Lego Mindstorms EV3 с использованием языка программирования Free Pascal (Дмитрий Слинкин, OSEDUCONF-2020).pdf Проект RUBIROBOT — управления роботами Lego Mindstorms EV3 с использованием языка программирования Free Pascal (Дмитрий Слинкин, OSEDUCONF-2020).pdf Проект RUBIROBOT — управления роботами Lego Mindstorms EV3 с использованием языка программирования Free Pascal (Дмитрий Слинкин, OSEDUCONF-2020).pdf Проект RUBIROBOT — управления роботами Lego Mindstorms EV3 с использованием языка программирования Free Pascal (Дмитрий Слинкин, OSEDUCONF-2020).pdf Проект RUBIROBOT — управления роботами Lego Mindstorms EV3 с использованием языка программирования Free Pascal (Дмитрий Слинкин, OSEDUCONF-2020).pdf Проект RUBIROBOT — управления роботами Lego Mindstorms EV3 с использованием языка программирования Free Pascal (Дмитрий Слинкин, OSEDUCONF-2020).pdf Проект RUBIROBOT — управления роботами Lego Mindstorms EV3 с использованием языка программирования Free Pascal (Дмитрий Слинкин, OSEDUCONF-2020).pdf Проект RUBIROBOT — управления роботами Lego Mindstorms EV3 с использованием языка программирования Free Pascal (Дмитрий Слинкин, OSEDUCONF-2020).pdf

Thesis

Робототехническая платформа Lego Mindstorms EV3[1] (в дальнейшем — EV3) прочно вошла в образовательный процесс школ, кружков детского творчества, педагогических колледжей и вузов. Высокая стоимость конструктора компенсируется надежностью аппаратных решений и развитой образовательной экосистемой, включающей в себя большой объем методических материалов, курсов для учителей и спонсирование робототехнических олимпиад. Продвижению платформы также способствует полностью открытая программная прошивка, в основе которой лежит операционная система Linux и столь-же открытая спецификация на платформу и периферийные устройства[2].

Штатная среда программирования LEGO MINDSTORMS Education EV3 позволяет достаточно эффективно начать изучение программирования с младшего школьного возраста, но при этом обладает рядом недостатков, один из которых — отсутствие в качестве платформы исполнения операционной системы Linux. Данный факт стал одной из причин создания множества альтернативных средств программирования EV3, среди которых следует выделить leJOS, представляющий собой минимальный дистрибутив Linux с запущенной виртуальной машиной Java, и ev3dev — полноценный дистрибутив Linux Debian, с возможностью использования любых языков программирования, доступных для ОС Linux.

Именно ev3dev лег в основу свободного авторского проекта RubiRobot. Это единственный на сегодняшний день проект, использующий язык Free Pascal для программирования EV3. С учетом широкого распространения различных диалектов языка Pascal при обучении программированию в российских школах, проект RubiRobot позволяет эффективно актуализировать знания, полученные на уроках информатики.

Проект состоит из нескольких компонентов:

1. RubiRobotLib. Это программная библиотека, включающая в себя более 15 модулей для поддержки встроенных возможностей и периферийных устройств EV3, более 30 демонстрационных примеров различного уровня сложности. Обеспечивает объектно-ориентированный доступ ко всем штатным датчикам и моторам робототехнической платформы, звукогенератору, дисплею, кнопкам, батарее, цветоиндикации и т. д. Поддерживает возможность параллельного исполнения кода. Составной частью библиотеки является русскоязычная документация и консольный менеджер, обеспечивающий коммуникацию между хостовым компьютером и EV3 по протоколу SSH.

2. ev3dev-RubiRobot. Это модифицированный образ операционной системы Debian Linux проекта ev3dev, с установленным компилятором Free Pascal. Образ обеспечивает поддержку русской локали и графических шрифтов, очищен от посторонних сервисов, оптимизирован по скорости загрузки, содержит библиотеку RubiRobotLib для обеспечения разработки непосредственно на контроллере EV3.

3. RubiRobotCross. Это инсталлятор, предназначенный для выполнения на седьмой, восьмой и девятой платформах операционной системы ALT Linux, в том числе — на дистрибутивах ALT Linux, входящих в реестр российского программного обеспечения. Устанавливает и конфигурирует библиотеку RubiRobotLib, RubiRobotManager (графический менеджер доступа к EV3), кроссбиблиотеки ev3dev. Установленный набор ПО позволяет разрабатывать программы на хостовом компьютере с использованием кросскомпилятора FreePascal, загружать и запускать их на EV3, что на порядок ускоряет цикл разработки по сравнению с программированием непосредственно на контроллере. Кросскомпилятор FreePascal автоматически создается из исходного кода компилятора Free Pascal во время работы инсталлятора.

Проект RubiRobot развивается более 2-х лет и активно применяется для подготовки школьников и студентов к участию в робототехнических соревнованиях различного уровня . Различные аспекты использования проекта раскрываются в его электронной документации и в авторских печатных изданиях [3]. В настоящее время готовится релиз версии 0.2.6 проекта, одной из важных особенностей которого является поддержка фото и видео-съемки с использованием веб-камеры, подключаемой к USB-порту EV3, с сохранением полученных материалов в файлах и «живой» видеотрансляцией на дисплее контроллера.


Проект RUBIROBOT — управления роботами Lego Mindstorms EV3 с использованием языка программирования Free Pascal (Дмитрий Слинкин, OSEDUCONF-2020)!.jpg

Примечания и ссылки

  1. Знакомство с EV3: https://www.lego.com/ru-ru/mindstorms/about-ev3
  2. MINDSTORMS EV3 Developer Kits – Support — LEGO Education https://education.lego.com/en-us/support/mindstorms-ev3/developer-kits
    • Подготовка турниров по робототехнике: практико-методический аспект: монография / Д.А. Слинкин, В.Е. Евдокимова, В.М. Гордиевских, Д.М. Бельков, И.Н. Слинкина, М.Е. Козловских; Шадр. Гос. пед. Ун-т. — Шадринск: ШГПУ, 2019. — 120 с.
    • Слинкин Д.А. Использование языка программирования Free Pascal и программной библиотеки RubiRobotLib для управления роботами на платформе LEGO MINDSTORMS EV3 // Информатика в школе. — 2018. — №7(140). с. 8–12.
    • Слинкин Д.А. От Среды разработки LEGO MINDSTORMS Eeducation EV3 к программной библиотеке RUBIROBOTLIB // Образовательная робототехника: перспективы роста: материалы Всерос. конф., 15 марта 2019 г. / Шадр. гос. пед. ун-т; отв. ред. В.Е. Евдокимова. — Шадринск: ШГПУ, 2019. — 156 с. с.126–132
    • Слинкина В., Слинкин Д.А. Образовательная робототехника: основы взаимодействия между наставником и командой // Информатика в школе. 2019. № 4 (147). С. 8-16.

Plays:40   Comments:1