Файл: 2О19 4удк 53. 06Ббк 39. 5Аэроквантум тулкит. Александр Фоменко. 2е изд., перераб и доп. М. Фонд новых форм развития образования, 2019 154 с. Базовая серия Методический инструментарий наставника.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 145
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
67
Аэроквантум: тулкит
Руководство для обучающегося
Цель: научиться выбирать пропеллеры, подходящие для пред- полагаемой задачи.
Как это сделать
Важно понимать, что существуют различные виды воздушных винтов, которые можно использовать с разным успехом при постройке своего квадрокоптера. Необходимо научиться вы- бирать пропеллеры.
Подробнее
Какие выбрать винты для квадрокоптера?
Как правильно выбрать винты для квадрокоптера – многие владельцы дронов сталкиваются с выбором едва ли не после некоторого количества полетов.
Случается это после нескольких неудавшихся посадок при допущении ошибок пилотом либо столкновении с преградой при внезапном порыве, после исчерпания резервного ком- плекта. Причем при столкновениях обычно повреждается не один, а сразу несколько винтов.
Другие меняют винты с несколько отличающимися от ори- гинальных параметрами для изменения характеристик дина- мики аппарата. Как известно, основными параметрами винта являются шаг и диаметр, от них зависит грузо- и скороподъем- ность.
Часто дилеммой становится выбор материала — пластик или карбон? Стоит помнить, что при равной геометрии карбоно- вые винты значительно жестче пластиковых, да и прочность их повыше. Поэтому коптер, особенно при видеосъемке, будет подвержен меньшей вибрации, идущей от колебаний лопастей.
68
Старт
Изобразите на чистом листе направление вращения пропел- леров на квадрокоптере.
Для чего они так расположены?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
1 2 3 4 5 6 7 8 9
Этапы работы по подбору оптимальных пропеллеров
Сравнение пропеллеров
• ННайдите в интернете сравнительные характеристики для используемых вами электромоторов и пропеллеров. Как они сочетаются?
• Проведите теоретический анализ и выберите лучший.
• Установите различные пропеллеры на квадрокоптер.
• Попытайтесь взлететь на каждом из комплектов и немного полетать.
• Оцените, как влияют диаметр и шаг пропеллера на скорость и управляемость квадрокоптера.
• Обсудите, какой из пропеллеров является оптимальным вы- бором для данного квадрокоптера.
Соревновательный элемент
Подберите такие пропеллеры, на которых квадрокоптер бу- дет висеть максимальное количество времени.
Обсуждение
Что вы узнали на занятии?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
69
Аэроквантум: тулкит
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
Какой из пропеллеров является оптимальным выбором для данного квадрокоптера в теории?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
Какой вам понравился больше всего на практике?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
70
Кейс 4. Автономный полёт
Описание проблемной ситуации или феномена
Строительной компании для строительства нового микро- района и прокладки дорог необходимо получить детальную и высокоточную карту местности на обширной территории.
Требуемая картографическая информация должна быть ак- туальной, детализированной и не иметь искажений. Способ картографирования должен быть недорогим и быстрым. Реше- ние — создать автономный дрон.
Категория кейса: вводный.
Место кейса в структуре модуля:
начало проектной деятельности, инженерная разработка устройства.
Количество учебных часов, на которые рассчитан кейс:
20 часов.
Занятие 1. Теоретические основы управления квадрокопте-
ром автономно
Цель: изучить и понять разнообразие способов автономного управления.
Что делаем: изучаем подходы к автономному управлению
БПЛА.
Компетенции:
Hard: знания в области автономных систем, языков програм- мирования, микроконтроллеров.
Soft: проектная работа, работа в команде.
Кол-во часов: 2,5 часа.
Занятие 2. Сборка устройства для управления квадрокопте-
ром автономно
Цель: собрать систему датчиков для квадрокоптера.
Что делаем: собираем на макетной плате прототип устройства для навигации внутри помещения.
Компетенции:
71
Аэроквантум: тулкит
Hard: сборка электронных компонентов, схемотехника.
Soft: проектная работа, работа в команде.
Кол-во часов: 2,5 часа.
Занятие 3. Первые тестовые полёты
Цель: выполнить взлёт и посадку автономно и безопасно.
Что делаем: тестовые полёты с использованием устройства и управлением с помощью Arduino.
Компетенции:
Hard: отладка программ, языки программирования.
Soft: настойчивость и упорство.
Кол-во часов: 2,5 часа.
Занятие 4. Отладка программы и оборудования
Цель: обеспечить предсказуемый и безопасный автономный полёт.
Что делаем: отладка кода и корректирование конструкции устройства.
Компетенции:
Hard: отладка программ, языки программирования.
Soft: настойчивость и упорство.
Кол-во часов: 5 часов.
Занятие 5. Полёт по усложнённой схеме. Отладка программы
и оборудования
Цель: выполнить тестовые автономные взлёт, пролёт до пре- пятствия и посадку. Обеспечить предсказуемый и безопасный автономный полёт.
Что делаем: написание кода и корректирование конструкции устройства.
Компетенции:
Hard: отладка программ, языки программирования.
Soft: настойчивость и упорство.
Кол-во часов: 7,5 часа.
Метод работы с кейсом: инженерная разработка устройства.
72
Минимально необходимый уровень входных компетенций:
Универсальные:
• внимательность;
• аккуратность;
• осмысленное следование инструкциям;
• соблюдение техники безопасности;
• работа с взаимосвязанными параметрами.
Предметные:
• навыки конструирования;
• знание строения коптера;
• навыки пайки;
• навыки электромонтажа;
• навыки механической сборки;
• знания о работе полетного контроллера.
Предполагаемые образовательные результаты обучающихся
Артефакты — автономно летающий БПЛА.
Формируемые навыки
Универсальные:
• работа в команде;
• внимательность;
• работа над ошибками;
• настойчивость в достижении результата.
Предметные:
• управление автономным БПЛА;
• программирование;
• компоновка и программный код автономного БПЛА.
Процедуры и формы выявления образовательного результа-
та:
• Демонстрация результатов работы с оцениванием по зара- нее заданным критериям.
• Безопасный и предсказуемый автономный полёт БПЛА.
• Вопросы для обсуждения с обучающимися для выявления теоретических знаний и умения их применить на практике.
73
Аэроквантум: тулкит
Необходимые расходные материалы и оборудование:
УМК «Клевер», библиотека для управления квадрокоптером, компьютер, полётная зона, безопасная для полётов автоном- ных БПЛА.
Руководство для педагогов
Обсудите с обучающимися кейс и задайте наводящие вопросы для поиска решения проблемы кейса:
1. С помощью каких средств картографирования можно бы- стро выполнить задание строительной компании?
2. Какой способ управления коптером подойдёт для этого за- дания и почему?
Обзор занятия
Работа для простоты разбита на несколько этапов.
Этап 1
Заставить коптер автономно подняться и сесть, используя конструктор на основе контроллера Arduino. Для решения этой задачи потребуются базовые навыки конструирования
БВС, схемотехника, пайка, конфигурирование полётного кон- троллера БВС, программирование на языке C/C++.
Для решения задачи участнику необходимо правильно под- ключить и настроить полётный контроллер, для чего требу- ется иметь представление о работе основных узлов БВС и их взаимодействии. Затем следует подключить Arduino к полёт- ному контроллеру посредством UART и написать программу, на некоторое время включающую и отключающую винты.
Помимо полетного контроллера к Arduino подключается приёмник пульта радиоуправления, чтобы при необходимости иметь возможность прервать полёт.
Этап 2
Используя сигналы ультразвуковых датчиков, запрограмми- ровать коптер на взлёт, удержание высоты 50 см в течение 30 секунд со стабилизацией положения с помощью ультразвуко- вых сонаров и посадку.
74
Для решения задачи потребуются: программирование на языке C/C++, цифровая обработка сигналов, основы теории автоматического управления. Требуется оснастить квадро- коптер сонарами, позволяющими определять расстояние до пола и стен/препятствий. Поскольку данные с сонаров замет- но зашумлены, участникам нужно фильтровать их (например, используя скользящий медианный фильтр).
Затем на основании полученных данных формируются управ- ляющие команды полётному контроллеру — для этого предла- гается использовать ПИД-регулятор. Таким образом участни- кам предоставляется возможность применить свои знания по математике и информатике.
Этап 3
Запрограммировать коптер на взлёт, преодоление препят- ствия и посадку.
Для решения этой задачи потребуются программирование, цифровая обработка сигналов, основы теории автоматическо- го управления. Требуется запрограммировать квадрокоптер на взлёт, перелёт препятствия и посадку. Для посадки в предна- значенной зоне предлагается использовать сонары.
Этап 4
Запрограммировать коптер на взлёт, преодоление препят- ствия и посадку.
Для решения этой задачи потребуются программирование, цифровая обработка сигналов, основы теории автоматическо- го управления. Это усложненная версия предыдущего зада- ния, включает в себя возврат в зону старта.
Цель: научить детей работать с программами, управляющими
летательными аппаратами.
В ходе работы над кейсом ученики должны понять, что их знаний достаточно, чтобы запрограммировать квадрокоптер на автономный полёт.
Ход работы над кейсом:
• Планирование.
75
Аэроквантум: тулкит
• Сборка и настройка квадрокоптера.
• Тестирование.
• Отладка кода.
• Модификация, если это необходимо.
• Подведение итогов.
Время: 15 часов.
Материалы:
• Учебный конструктор квадрокоптера.
• Вспомогательные видеоматериалы.
• Конструктор на основе контроллера Arduino.
Советы:
1. Начните с анализа материалов. Какие сложности нужно учесть при составлении программы полёта.
2. Следите за процессом написания и обсуждения кода.
3. После сборки разберите, как летали коптеры и почему.
4. Модернизируйте квадрокоптеры и их код на основании данных, полученных в ходе эксперимента.
Пример решения
Для управления квадрокоптером предлагается использовать готовую библиотеку для прошивки Cleanflight. Библиотека идёт в комплекте.
Код библиотеки:
#include «mspapi.h»
//---------------------------------------------------------------------
---------void setup()
{
// Инициализация msp::setup();
// Инициализация серийного порта
Serial.begin(115200);
}
//--------------------------------------------------------------------
76
void loop()
{
int yaw = 1500; // Диапазон значений yaw, pitch, roll, throttle - от 1000 до 2000
int pitch = 1500; // Чем больше значение, тем быстрее коптер будет лететь вперёд.
// При pitch < 1500 коптер будет лететь назад int roll = 1500; // При roll > 1500 коптер будет лететь вправо, при roll < 1500 - влево int throttle = 1000;
bool armed = 1;
// Команда полётному контроллеру msp::send_rc_command(yaw, pitch, roll, throttle, armed);
// Запрос данных о положении коптера с полётного контрол- лера под управлением Cleanflight msp::send_attitude_request();
// Запрос данных о положении виртуальных стиков с полётно- го контроллера msp::send_rc_request();
// Парсинг данных, полученных от полётного контроллера msp::read_replies();
// Данные о положении коптера (углах по трём осям) будут записаны в глобальные переменные
// attitude::pitch, attitude::roll и attitude::heading.
// Данные о положении стиков будут выводиться в серийный порт delay(50);
}
Пример кода для автономного полёта дрона:
1. #include «msppg.h»
2. #include
3. #include
4.
5. const int RC_INTERVAL = 500;
6.
7. int trigPin = 9;
8. int echoPin = 8;
9. int trigPinFront = 7;
10. int echoPinFront = 6;
77
Аэроквантум: тулкит
11. int D0 = 11;
12. int D1 = 12;
13.
14. int midRoll = 1360;
15. int midPitch = 1555 + 70;
16.
17. int d0 = 0;
18. int d1 = 0;
19. int i = 1550;
20. int duration = 0;
21. double cm = 0;
22. int s = 0;
23. double h = 70;
24. int delta = 0;
25.
26. int maxthr = 1650;
27. int minthr = 1500;
28. int midthr = 1600;
29. int step_up = 2;
30. int step_down = 1;
31. int counter = 0;
32.
33. double out = 0;
34. double Kp = 1.5, Ki = 3.7 , Kd = 1;
35.
36. PID myPID(&cm, &out, &h, Kp, Ki, Kd, DIRECT);
37.
38. void setup()
39. {
40. delay(5000);
41. // serial config
42. Serial.begin(115200);
43. pinMode(trigPin, OUTPUT);
44. pinMode(echoPin, INPUT);
45. pinMode(trigPinFront, OUTPUT);
46. pinMode(echoPinFront, INPUT);
47. pinMode(D0, INPUT);
48. pinMode(D1, INPUT);
49.