Тема: "Программирование полёта квадротора Пиксель - Вжик на Python"
Исполнитель: Васин Павел Алексеевич, гр. 341-об,
Научный руководитель: Русинов Владислав Леонидович, СКБ, "Промышленная робототехника и автоматизация"
План
1. Краткое введение в Python
2. Пример программы в Python
3. Описание конструкции и технических характеристик Пиксель - Вжик
4. Программирование полёта Пиксель - Вжик с помощью Python
5. Разработка расширений для Python
1. Краткое введение в Python
Python -- это язык программирования, который широко используется в интернет-приложениях, разработке программного обеспечения, науке о данных и машинном обучении.
Язык Python имеет следующие преимущества:
Разработчики могут легко читать и понимать программы на Python, поскольку язык имеет базовый синтаксис, похожий на синтаксис английского;
Python помогает разработчикам быть более продуктивными, поскольку они могут писать программы на Python, используя меньше строк кода, чем в других языках;
Python имеет большую стандартную библиотеку, содержащую многократно используемые коды практически для любой задачи. В результате разработчикам не требуется писать код с нуля;
Разработчики могут легко сочетать Python с другими популярными языками программирования: Java, C и C++;
Кроме того, в Интернете доступно множество полезных ресурсов для изучения Python. Например, вы можете легко найти видеоролики, учебные пособия, документацию и руководства для разработчиков;
Python можно переносить на различные операционные системы: Windows, macOS, Linux и Unix.
2. Пример программы в Python
Пример программы, которая выводит результат простых математических действий, написанной на Python:
(https://dzen.ru/lz5XeGt8f/V25TA0831/e116d0_W/WuqwobNP3XV7QcL33pm_aEsoOUJFC3E7To80Eo5UozKb60dYckdrjzxWvQgFkky-uVfy1iSnAnJFnv5uLvv_QouOtJQH_r1xfiCSxQr9Gnz-HbmChX9UT_--Bef-FbL2S44h6GZGb0o584t4hZJ9TEv1wzFXEKRFh4lZuzp-r7P6iuJn47hPd1mwENdunNwZKOoagOfqsq7PHMAxjEVmgVk7lHlC9_0IqUC6HRLXWpwqlIFBlYFlRUUpunspPt8GKWsCxId5nHbrQnOmTfxd23nYiJIFq8GO7w8icjzVlxN7WOSa8xZtKTuDOa7S91o8qibQImbRNuWma5m5ua5cN0q7w8SEGm8GiSByFN79DWhJWJqRxeohjjzcwfCuRYdCa2jVm7JnLQgbgug-ECTa3SrXIHMW0ocXtGk6aNj9zcSK-TDmJQpe5LuTIDYOPz1qqQoIkwb5YH4tnEFiP1W1wXqolTuz9z8YC2DbHPIWaA06NNADh6J2R7TZ-vtar9w3mvvgtid7PUVIEmDXnCzeCfrbicGF2WBPD19yYl0kdcCZ28XKcEcfGsshSRyABtit6wRSQFeCpnYXe4vryS9c1zjKwDYkOz0FCYLj9q9NH1hpaoqgF7kBjU0_4FDulQdBaqi1usLl71tpw0gtAfQ6DauHo3BUQidElcmpiwuubUc7m3CUdOpvVtgBkfacrN3LeFhLIHfJYU2OzJBifHcE8kq5dguQJD8Yi4FKb6D2-80IFnFhtJEkNdU5qStpPmw3KolD1kcbfjU58_BXrg-8WHkYOVD0-0OMrs6QUeyGxQEJ-zTKYdQ96UlRKB-gRPnPinVjgYagRmZ2monJKQ_PJbr5cjd1Sa52aFLChmw-H1p6aMmh5Xkjr89-oJDMJpcSWPtkeaOWLApbAcjPUGeKjzsmoBOF4uQmZcjYGTtfXzXK2SDGZTk9JFpA4aY_bj1Ze9qJckfZAHzNHHPgPNa2YkrbBysgFv-rujGa7UIHmNy5NvOwJdI1VzWIqbjr7Y932LmgBTeaf9ToE5HWzK7MGpn7mvIXeVOujRyBoC7G9ROay7XKoNXfSAhTa80wp0r9mjVAg5YjJ5eG-uppqc5N9FsoILSF-_z3m0GQ1l2PzZqK6jqiJPrDr348kUP_hmeySpiEWvLUfzl5wXq9Q6eIrNhmQiIU8SRUV2laeOqcbSQ7aoIVVtsOdTuwIPetvzyKyvio8MUK0H483TDTvWVVUAkYBZiSpT4a2fB4vVKUORy5JEJzN8JEJaTaynpYjo9lSsmRZsfbnOSK0NPWv8_P6WjpyEA3qgAffixwQe8lJuK56SR4UyefmBkDuLySlxqdahWx4VQC5sWnqanraXw8FrkaojcE2Q-2iwDAR9_OPIrLy_hR9drR3I7eIgDuVWaBC0n1qIM1rEt50OrMkcXbbco1YcJ2Y9eFdzib2kruLtRK2IFUx1mv5FgxEUZeLc55WDg6UnULID6NPABzvyTW8WtpNppD9i-JSJPqrPBm-2ypBvOydfC3J5aoy3prnbwWW7lR1USKbCd68YNmrJxuqrgLiYM320BcD85RYZxlFPG7iTbY0kUeG3vR-A3B9Vkt-qbBs2Rw9yfUWSoJ2bx8NjqL4va3qq-VCjDitd8PfdtZi-lgh4kyjg8cwPO-VNajmftHqlB2_nqpw5h-kdb5Dikn8KNH0tZ3ZOt5-xlfXmWIqCI05Uq85nnSMtdsDs-pSburwiWIMYyf_-CA3CSlY_lrZZrwBs4Y-JOKPXJnq2zYNOGS9kLUFIWZqQkKTk33i-nT5TabPzao0CJ1_38fm8vrSPKV2CGeLt8CAi0EZJB72zWqU8Y8Gyiiqq2zlGouKieR0DazRCR2uLs6-N_vlDiasQT2OD2mm_ICh89MzbnJ2qpAtxjDHY4NMtAsVwWweoqVOwLXzzkrYvu_8CWLfwp2QQGGQDf156nbmEh9j4fq6uI2VchsZikg0FTdfY05KCh587bIYAzNThIiDlRlYFkrFoqjpMzre7MKfYI2Gm-ZJoEA5INHpEUba6n7PG3GuPvQtXWJ_hWKQONk3f29CrnoaaJHOuO-34_gQEw3prOauyfaAtUcKnmwqb3xxbvdiBXiQwYitZZ2-IhYGEzP5LgI4gW3aqwFebAAhb9_vXhp6fsiRXjBvi6coIOMdJUDyao3-OL2DSj5UZhMMcQKz8i2caJWYOTnlHlZabkvf9Y5WyLk59kdpToSIEYsvj1Yq5tIQsW5w23f_nFiniblIGtLBzlgNQ-Kq6BIPgD3OCzIxQNAdYBn5YdI-AgJD290W5mj94YqTHS70dP0Xd7_OsoY6yPVmhB83JzhcW6k54IpyTb7czeu-qlzyR1R1eg-6WeCclXTVEXHSWuoSMxvp8l70dVEi942m0DyVF_ebCla-UqB5FnDDt7NUmDe1xSgq5rkSoOXrGrosOoP87XK7NjE4GPEsuQl1Vua-dl-DxWJ-ZDWY#DSD)
3. Описание конструкции и технических характеристик Пиксель - Вжик
Квадротор Пиксель - Вжик - это программируемый дрон, разработанный для STEAM-образования ребенка от 5 до 14 лет. Благодаря мощной плате управления со встроенными датчиками, дрон умеет транслировать HD-видео, взлетать/садиться по нажатию одной кнопки, следовать по линии, а также совершать трюки One-key 360° и Bounce Mode. Интерфейс полетного контроллера поддерживает подключение внешних электронных модулей расширения и можно дополнительно реализовать, например, автоматическую доставку грузов (комплект Electromagnet Delivery), обнаружение препятствий и их обход (модуль расширения Obstacle Avoiding), иллюминацию и звуковое сопровождение.
В приложении LitebeeGo в простой и доступной форме можно запрограммировать любые функции дрона Пиксель - Вжик: в визуальной среде Scratch алгоритмы составляются методом перетаскивания логических блоков и, если последовательность команд правильная, то всё будет работать. Так, шаг за шагом, ребенок получит первичные навыки программирования, а затем сможет легко освоить более сложное текстовое программирование в Python.
Конструкция квадротора Пиксель - Вжик
(https://i.postimg.cc/50D67fgd/shema.png)
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
После загрузки можно поменять язык интерфейса на английский
(https://i.postimg.cc/NM8Nnkyk/1.png)
А также необходимо выбрать LiteBee Wing во вкладке model
(https://i.postimg.cc/tg3tRCXX/2.png)
Следующим шагом является установка драйвера для подключения пульта ДУ к ПК.
Ссылка для загрузки драйвера для 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.
(https://i.postimg.cc/RZxkrVdx/image.png)
Также вы можете нажать "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 градусов по часовой стрелке. Квадротор должен пройти по периметру и вернутся в изначальное положение.
(https://i.postimg.cc/J00zycFB/image.png)
Добрый день! Когда появится описание конструкции коптера Вжик?
Спасибо! Можете сделать картинку поменьше, не помещается на экране!
добрый день, сделал поменьше
Здравствуйте!
Спасибо за доклад!
Неплохо было бы привести ссылку на бесплатное скачивание самого Пиксель-Вжика :)
Если серьезно, то сколько он стоит?
https://pozitiv.shop/catalog/dlya_obrazovatelnykh_uchrezhdeniy/uchebnoe_oborudovanie/uchebnoe_oborudovanie_1/konstruktor_bpla_piksel_vzhik/?ysclid=lttfi15oqf298581906
Стоимость БПЛА составляет 46 990 руб
Спасибо