При работе с реальными роботами программное обеспечение, которое создает контролирующие сигналы, должно функционировать на высокой скорости и делать сложные вычисления. Поэтому чаще всего для программирования роботов используется язык C++. Но при работе с более простыми роботами Python становится хорошим вариантом: он обеспечивает довольно высокую скорость выполнения программы при относительной простоте написания кода.
Python — универсальный язык пригодный для создания самых разных программ, от текстовых диалогов, до серьезных веб серверов и 3d игр. При этом Python — простой и удобный язык. По сравнению с другими языками читать и составлять программы на Python совсем не сложно. В Python есть библиотеки готовых процедур, которые можно использовать в своих программах. Это позволяет создавать сложные программы быстро. Python мощный язык и подходит для создания серьезных программ. В функционал языка Python входит следующее:
работа с xml/html файлами;
работа с http запросами;
GUI (графический интерфейс);
создание веб-сценариев;
работа с ftp;
работа с изображениями, аудио и видео файлами;
робототехника;
программирование математических и научных вычислений.
В данном случае нас интересует применение Python в управлении мобильными роботами. Среда EV3 построена на базе процессора ARM9, и разработчики специально оставили архитектуру открытой. Это решение позволило устанавливать альтернативные прошивки, одной из которых стал образ для работы с MicroPython. Он позволяет использовать Python для программирования EV3, что делает работу с набором еще ближе к задачам из реальной жизни.
Чтобы подготовить и установить все необходимые инструменты для начала программирования в среде MicroPython, следующее оборудование:
компьютер под управлением ОС Windows 10 или MacOS;
доступ в Интернет и права доступа администратора Они необходимы только в процессе установки. Для записи и воспроизведения программ специальных прав доступа не требуется;
карта памяти microSD Вам потребуется карта ёмкостью от 4 до 32 Гбайт. Карты памяти microSD этого типа также известны как microSDHC. Рекомендуется использовать карты с Application Performance Class A1;
слот для карт памяти microSD в вашем ПК или устройство чтения карт памяти microSD Если ваш компьютер не оснащён слотом (micro) SD, вы можете использовать внешнее USBустройство чтения карт microSD;
кабель mini-USB, аналогичный тому, который входит в комплект поставки Базового набора LME EV3 Стандартная конфигурация данного оборудования изображена на рисунке 1.
Рис. 1. Оборудование для установки прошивки MicroPython
Подготовка компьютера. Для создания программ на языке MicroPython вы будете использовать редактор кода Visual Studio Code.
Выполняем следующие шаги в данной последовательности, чтобы загрузить, установить и настроить данное приложение.
загрузитередактор Visual Studio Code4
следуйте инструкциям на экране, чтобы установить приложение4
запустите Visual Studio Code4;
откройте вкладку расширений (extensions tab);
установите расширение ev3 micropython, как показано на рисунке 2.
Рис. 2. Установка прошивки MicroPython
Для запуска программ MicroPython на микрокомпьютере EV3 необходимо устанавливать специальные инструменты на карту microSD. Если карта microSD содержит файлы, которые вы хотите сохранить, сначала создайте резервную копию её содержимого. В процессе установки всё содержимое карты microSD, в том числе предыдущие программы MicroPython, будет удалено.
Для установки инструментов MicroPython на карту памяти microSD выполните следующие действия:
загрузите образ EV3 MicroPython на карту microSD и сохраните его в удобном месте. Размер файла — приблизительно 360 Мбайт. Распаковывать файл не требуется;
скачайте и установите на карту microSD приложение для создания образов дисков, например Etcher;
вставьте карту microSD в соответствующий слот компьютера или устройство чтения карт.
запустите инструмент для создания образов дисков и следуйте инструкциям на экране, чтобы установить только что загруженный файл с изображением EV3 MicroPython.
После того как вы установили образ Ev3 MicroPython на карту, ее можно вставить в слот блока Ev3.
Рис. 3. Установка карты micro SD в слот микрокомпьютера ЕV3
Включите микрокомпьютер EV3, нажав тёмно-серую кнопку в центре. Процесс загрузки может занять несколько минут. Во время загрузки подсветка микрокомпьютера EV3 будет мигать оранжевым цветом, а на экране будет отображаться текстовое сообщение. Микрокомпьютер EV3 будет готов к работе, когда подсветка его клавиш станет зелёной. Чтобы отключить микрокомпьютер EV3, откройте раскрывающееся меню с помощью кнопки «Назад», нажав на центральную кнопку микрокомпьютера, затем выберите пункт Power Off, как показано на рисунке 4.
Рис. 4. Выключение микрокомпьютера ЕV3
Вы можете вернуться к встроенному ПО по умолчанию, восстановив предустановленные программы LEGO® в любое время. Для этого выполните следующие действия.
выключите микрокомпьютер EV3, следуя инструкциям выше.
подождите, пока экран и подсветка микрокомпьютера отключатся.
извлеките карту microSD.
включите микрокомпьютер EV3.
Теперь, когда компьютер и микрокомпьютер EV3 готовы, можно приступать к созданию программ. Для упрощения процесса создания и управления программами давайте рассмотрим, каким образом организованы проекты и программы MicroPython для роботов EV3. Программы хранятся в папках проекта, как показано на рисунке 2.1. Папка проекта — директория вашего компьютера, в которой содержится основная программа (main.py), а также дополнительные скрипты и файлы. Эта папка проекта, а также всё её содержимое, будет скопирована на микрокомпьютер EV3, на котором будет запущена основная программа. На следующем рисунке показано, как создать такой проект и как перенести его в микрокомпьютер EV3 (рис. 5).
Рис. 5. Создание нового проекта
Папка проекта содержит программу main.py и дополнительные ресурсы, такие как файлы звуков или модули MicroPython.
Чтобы перенести свою программу на модуль EV3, сначала нужно подключить его к компьютеру с помощью кабеля mini-USB и настроить подключение в редакторе Visual Studio Code.
Для этого выполните следующие действия:
включите микрокомпьютер ev3;
подключите микрокомпьютер ev3 к своему компьютеру с помощью кабеля mini-usb;
настройте usb-подключение, как показано на рисунке 6.
Рис. 6. Настройка USB-подключения микрокомпьютера EV3 к компьютеру
Чтобы запустить программу, нажмите клавишу F5. Вы также можете запустить программу вручную. Для этого перейдите на вкладку отладки и нажмите зеленую стрелку запуска. При необходимости после запуска программы вы можете остановить ее с помощью всплывающей панели инструментов. Вы также можете в любой момент остановить программу, нажав кнопку «Назад» на блоке EV3. Если во время выполнения программы какая-либо информация печатается с помощью команды печати, она будет отображаться в окне вывода.
Разберем пример небольшого программного кода. Для начала подключимся к нашему роботу LegoEv3.
Рис. 7. Подключение к мобильному роботу
Сначала инициализируем библиотеку модулей EV3 (листинг 1).
Листинг 1
#!/usr/bin/env pybricks-micropython
from pybricks import ev3brick as brick
from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor, GyroSensor) from pybricks.parameters import Port, Stop, Direction, Color, ImageFile
from pybricks.tools import wait
Листинг 2
#!/usr/bin/env pybricks-micropython
from pybricks import ev3brick as brick
from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor,
InfraredSensor, UltrasonicSensor, GyroSensor)
from pybricks.parameters import (Port, Stop, Direction, Button, Color,
SoundFile, ImageFile, Align)
from pybricks.tools import print, wait, StopWatch
from pybricks.robotics import DriveBase
# Основнаяпрограммапишетсяздесь
# Сигнал включения
brick.sound.beep()
# Очистка дисплея
brick.display.clear()
# Печатаем «Hello» в координате (60,50)
brick.display.text("Hello", (60, 50))
# Печатаем «World»
brick.display.text("World")
# Выводим текущее значение зарядки аккумулятора
brick.display.text("Voltage is: {}".format(brick.battery.voltage()))
# Ждем пока не будет нажата любая кнопка
while not brick.buttons():
wait(10)
После запуска программного кода на дисплее робота будет отображаться: «Hello Word Voltage is 704».
Поддержка MicroPython делает платформу EV3 подходящей для обучения. Наборы EV3 показывают, что программирование – сложное, но интересное занятие, готовят к серьезным инженерным задачам и помогают сделать первый шаг к освоению технических специальностей.
Список литературы
Все о робототехнике [Электронный ресурс]. Режим доступа: http://www.robotodrom.ru/proects/robodrom(дата обращения 16.01.2020).
Основы Python [Электронный ресурс]. Режим доступа: https://pythonworld.ru/osnovy/skachat-python.html (дата обращения 20.01.2020).
Применение и основы Python [Электронный ресурс]. Режим доступа: https://stepik.org/course/512/promo (дата обращения 20.01.2020).