12.50M
Категория: ПрограммированиеПрограммирование

Шоу дронов на Python. От идеи к программированию

1.

ИТОГОВЫЙ ТВОРЧЕСКИЙ ПРОЕКТ
ПО ПРОГРАММЕ
«Шоу дронов на Python: от идеи к
программированию»
«Шоу дронов: фигура «Прямоугольник»
Педагог: Овчаренко А.И.

2.

Авторы проекта:
Авакян Самвел Арсенович
Арутюнян Аревик Артуровна
Безбородова Анастасия Николаевна
Вафина Диана Альбертовна
Вендина Вероника Витальевна
Вильсон Валерия Олеговна
Вирабян Ева Айказовна
Волик Данил Васильевич
Воронова Мария Александровна
Голаева Наиля Джамбулатовна
Доногонян Гурген Артурович
Ефимчик Иван Александрович
Калина Дарья Станиславовна
Квачева Виктория Александровна
Клочко Милена Сергеевна
Костенко Милана Анатольевна
Красникова Анастасия Михайловна
Ларюшко Екатерина Максимовна
Лиходедова Виктория Владимировна
Лымарь Лиана Витальевна
Махова Ксения Викторовна
Мачкалян Рита Варужановна
Панкова Полина Семеновна
Перов Александр Александрович
Петросян Каролина Арнольдовна
Погосян Лиана Эмильевна
Попова Ирина Вячеславовна
Смирнова Алина Николаевна
Соловьёв Артём Александрович
Харланова Александра Александровна
Хачатрян Марина Ашотовна
Холопова Софья Павловна
Хорольская Ева Андреевна
Хотов Анзор Мухамедович
Чистякова Валерия Николаевна

3.

Цель:
Разработать программу полета 4-х
квадрокоптеров и протестировать ее на
симуляторе.
Задачи:
1. Сформировать команду;
2. Распределить задачи между участниками
команды;
3. Определить траекторию полёта;
4. Разработать план реализации проекта;
5. Реализовать все этапы по созданию шоу
дронов;
6. Представить свой проект на защите.

4.

1 этап
Распределение задач:
Планирование и анализ задачи:
Авакян Самвел Арсенович
Арутюнян Аревик Артуровна
Безбородова Анастасия Николаевна
Вафина Диана Альбертовна
Вендина Вероника Витальевна
Костенко Милана Анатольевна
Красникова Анастасия Михайловна

5.

1 этап
Распределение задач:
Генерация и запись траекторий в CSV
файлы:
Вильсон Валерия Олеговна
Вирабян Ева Айказовна
Волик Данил Васильевич
Воронова Мария Александровна
Голаева Наиля Джамбулатовна
Доногонян Гурген Артурович
Ефимчик Иван Александрович
Калина Дарья Станиславовна
Квачева Виктория Александровна
Клочко Милена Сергеевна

6.

1 этап
Распределение задач:
Создание анимации:
Ларюшко Екатерина Максимовна
Лиходедова Виктория Владимировна
Лымарь Лиана Витальевна
Махова Ксения Викторовна
Мачкалян Рита Варужановна
Панкова Полина Семеновна
Перов Александр Александрович
Петросян Каролина Арнольдовна
Погосян Лиана Эмильевна
Попова Ирина Вячеславовна

7.

1 этап
Распределение задач:
Тестирование программы в симуляторе:
Смирнова Алина Николаевна
Соловьёв Артём Александрович
Харланова Александра Александровна
Хачатрян Марина Ашотовна
Холопова Софья Павловна
Хорольская Ева Андреевна
Хотов Анзор Мухамедович
Чистякова Валерия Николаевна

8.

2 этап
Описание траектории полёта дронов:

9.

2 этап
Описание траектории полёта дронов:

10.

2 этап
Описание траектории полёта дронов:
Траектория состоит из:
1.Импорт необходимых модулей
2.Создание фигуры и осей
3.Добавление прямоугольника
и настроек графика

11.

2 этап
Описание траектории полёта дронов:
Дрон 1 (data0.csv): Движется по периметру внутреннего квадрата,
начиная с нижнего левого угла, затем поднимается вверх по правой
стороне, спускается по левой и возвращается в исходную точку.
Дрон 2 (data1.csv) : Начинает с нижнего правого угла, поднимается
вверх, затем движется налево, спускается вниз и возвращается в
исходную точку.
Дрон 3 (data2.csv) : Начинает с верхнего правого угла, спускается вниз,
затем движется налево, поднимается вверх и возвращается в исходную
точку.
Дрон 4 (data3.csv) : Начинает с верхнего левого угла, спускается вниз,
затем движется направо, поднимается вверх и возвращается в исходную
точку.
Эти траектории обеспечивают полный облет области 5x5, при этом
дроны не пересекаются, что минимизирует вероятность столкновения и
охватывает всю зону.

12.

3 этап
Создание траектории:
Для анализа траектории
движения дронов
использовался метод
визуализации данных с
помощью библиотеки
matplotlib.
Этот метод позволил
визуально оценить
траектории движения и
проверить корректность их
выполнения.

13.

3 этап
Создание траектории:
Сложная траектория каждого дрона была разбита на простейшие линейные сегменты. Эти
сегменты представляют собой либо горизонтальные, либо вертикальные линии.
Функция pioneer_target принимает объект дрона и траекторию, по которой этот дрон должен
пролететь. Данная функция будет выполняться параллельно с остальными. Идея программы
состоит в том, чтобы считывать траектории из файлов по порядку и запускать по ним
соответствующие дроны, таким образом достигая одновременного полета по считанным
траекториям.
Далее в программе организован цикл, в котором мы проходимся по спискам файлов и дронов. В
каждой итерации цикла создаем объект csv.reader, через который считываем точки из файла.
Пробегаясь по каждой строке, извлекаем данные x и y, добавляя их в отдельный список way.
После считывания всех точек, запускаем функцию полета по считанной траектории в потоке. Так
будет выполнено для каждого файла, в результате каждый коптер на поле полетит по своей
траектории.
Для упрощения сложной траектории в данном коде, каждая траектория была разбита на
простейшие функции - линейные сегменты. Эти сегменты могут быть как горизонтальными, так
и вертикальными линиями:
Горизонтальные линии: такие отрезки задаются уравнением
English     Русский Правила