Тема: "Программирование полёта квадротора Пиксель - Вжик на Python"
Исполнитель: Васин Павел Алексеевич, гр. 341-об,
Научный руководитель: Русинов Владислав Леонидович, СКБ, "Промышленная робототехника и автоматизация"
План1. Краткое введение в Python
2. Пример программы в Python
3. Описание конструкции и технических характеристик Пиксель - Вжик
4. Программирование полёта Пиксель - Вжик с помощью Python
5. Разработка расширений для Python
1. Краткое введение в PythonPython -- это язык программирования, который широко используется в интернет-приложениях, разработке программного обеспечения, науке о данных и машинном обучении.
Язык Python имеет следующие преимущества:
Разработчики могут легко читать и понимать программы на Python, поскольку язык имеет базовый синтаксис, похожий на синтаксис английского;
Python помогает разработчикам быть более продуктивными, поскольку они могут писать программы на Python, используя меньше строк кода, чем в других языках;
Python имеет большую стандартную библиотеку, содержащую многократно используемые коды практически для любой задачи. В результате разработчикам не требуется писать код с нуля;
Разработчики могут легко сочетать Python с другими популярными языками программирования: Java, C и C++;
Кроме того, в Интернете доступно множество полезных ресурсов для изучения Python. Например, вы можете легко найти видеоролики, учебные пособия, документацию и руководства для разработчиков;
Python можно переносить на различные операционные системы: Windows, macOS, Linux и Unix.
2. Пример программы в PythonПример программы, которая выводит результат простых математических действий, написанной на Python:
3. Описание конструкции и технических характеристик Пиксель - ВжикКвадротор Пиксель - Вжик - это программируемый дрон, разработанный для STEAM-образования ребенка от 5 до 14 лет. Благодаря мощной плате управления со встроенными датчиками, дрон умеет транслировать HD-видео, взлетать/садиться по нажатию одной кнопки, следовать по линии, а также совершать трюки One-key 360° и Bounce Mode. Интерфейс полетного контроллера поддерживает подключение внешних электронных модулей расширения и можно дополнительно реализовать, например, автоматическую доставку грузов (комплект Electromagnet Delivery), обнаружение препятствий и их обход (модуль расширения Obstacle Avoiding), иллюминацию и звуковое сопровождение.
В приложении LitebeeGo в простой и доступной форме можно запрограммировать любые функции дрона Пиксель - Вжик: в визуальной среде Scratch алгоритмы составляются методом перетаскивания логических блоков и, если последовательность команд правильная, то всё будет работать. Так, шаг за шагом, ребенок получит первичные навыки программирования, а затем сможет легко освоить более сложное текстовое программирование в Python.
Конструкция квадротора Пиксель - Вжик
1 - Светодиодный модуль
2 - Аккумулятор
3 - Воздушный винт
4 - Электродвигатель
5 - Ножка
6 - Камера для автономного полёта
7 - Фронтальная видеокамера
8 - Блок расширения
9 - Порт подключения модуля расширения
10 - Порт подключения электродвигателя
11 - Луч
Технические характеристики:
• - размах рамы - 209ммх184ммх56мм;
• - продолжительность полёта - 10 минут;
• - дальность радиосвязи - 100 метров;
• - дальность видеосвязи - 100 метров;
• - вес - 126 грамм;
• - скоростной диапазон: - 0 - 10 км/ч;
• - допустимая скорость ветра - 5 м/сек;
• - температурный диапазон: - 20 +40С;
• - максимальная высота полёта - 100 метров;
• - высота эффективного применения - 3 м.
Функциональные характеристики:
• - автономный полет по заданной миссии;
• - автономный полет по линии (стандарт робототехнических соревнований);
• - управление с помощью радиоаппаратуры, телефона, компьютера;
• - программирование - блочное (Scratch), Python;
• - тип конструктора - блочный (совместим с системой «Лего»);
• - FPV - пилотирование;
• - сборка - модульная.
4. Программирование полёта Пиксель - Вжик с помощью PythonДля того, чтобы запрограммировать полет квадротора, необходима программа LiteBee Go. Эта программа удобна тем, что она включает в себя одновременно среды программирования Scratch и Python
Ссылка для загрузки новейшей версии LiteBee Go:
https://resource.litebee.com//softwareDownload/file/1600854514923/LiteBeeGo-V1.1.4.exeПосле загрузки можно поменять язык интерфейса на английский
А также необходимо выбрать LiteBee Wing во вкладке model
Следующим шагом является установка драйвера для подключения пульта ДУ к ПК.
Ссылка для загрузки драйвера для WIN 8 - 10
https://resource.litebee.com//softwareDownload/file/1605082220159/Driver%20for%20Win%208%20or%2010.zipСсылка для загрузки драйвера для WIN 7
https://resource.litebee.com//softwareDownload/file/1605082210688/Driver%20for%20Win%207.zipСсылка для загрузки драйвера для MAC
https://resource.litebee.com//softwareDownload/file/1603780527604/Mac_OSX_VCP_Driver.zipИнструкция по использованию Python
1.
Интерфейс Python показан на рисунке ниже. После открытия программного обеспечения нажмите "code mode", чтобы войти в интерфейс программирования на Python. После написания программы и подключения устройства нажмите "Run", и квадротор сможет выполнить программу на Python.
Также вы можете нажать "Save" для сохранения и "Open" для открытия файла.
2.
При программировании на Python вам необходимо использовать модуль import time для определения времени выполнения задачи.
Пример:
import time # Вызов модуля "time", вводится в первую строку
flight_calibration() # Калибровка
time.sleep(5) # Задержка на 5 секунд
flight_takeoff() # Взлет на высоту 100 см
time.sleep(10) # Задержка на 10 секунд
flight_autoland() # Выполнить посадку
3.
Операторы
flight_calibration() # Калибровка
flight_takeOff() # Взлет на высоту 100 см
flight_runAltitude(110) # Устанавливает высоту 110 см
flight_runDir(1, 2) # Устанавливает направление полёта
Параметр 1: 1-вперед 2-назад 3-влево 4-вправо 7-остановиться
Параметр 2: Скорость, 1-медленная (30см/с) 2-нормальная (50 см/с) 3-быстрая (80 см/с)
flight_runMotor(1, 50) # Установить вращение моторов
Параметр 1: номер мотора
Параметр 2: скорость вращения
flight_runRotate(1, 90) # Поворот квадротора
Параметр 1: 1-по часовой стрелке 2-против часовой стрелки
Параметр 2: Угол поворота
Примечание: после оператора необходимо использовать time.sleep(8.5), так как время поворота квадротора на 90 градусов составляет 8.5 с
flight_autoland() # Выполнить посадку
Программа "Коробка", написанная на Python
import time
flight_calibration() # Калибровка
time.sleep(5)
flight_takeOff() # Взлет на высоту 100 см
time.sleep(2)
flight_runDir(7, 2) # Устанавливает направление полёта(На месте)
time.sleep(2)
for i in range(1, 4): # Цикл, выполняется 3 раза
flight_runDir(1, 2) # Устанавливает направление полёта(Вперед)
time.sleep(2)
flight_runDir(7, 2)
time.sleep(2)
flight_runRotate(1, 90) # Поворот квадротора(на 90 градусов по часовой стрелке)
time.sleep(8.5)
flight_runDir(7, 2)
time.sleep(2)
flight_runDir(1, 2)
time.sleep(2)
flight_runDir(7, 2)
time.sleep(2)
flight_autoLand() # Выполнить посадку
Данная программа позволяет выполнить полёт по коробке - в каждом углу квадротор совершает поворот на 90 градусов по часовой стрелке. Квадротор должен пройти по периметру и вернутся в изначальное положение.