Этот проект, названный X-MAS HACK, представляет собой программное обеспечение для управления беспилотными аппаратами. Включает файлы:
drone.py: содержит класс Drone, который реализует функциональность управления дронами.main.py: основной файл, в котором выполняется инициализация и запуск дронов.paylist: файл, содержащий информацию о распределении задач для дронов.
Класс Drone в файле drone.py предоставляет следующие функции:
__init__(): конструктор класса, инициализирует атрибуты дрона.PayList(): загружает информацию о распределении задач из файла "paylist".generate_id(): генерирует уникальный идентификатор для дрона.stat(): записывает статистику работы дрона в файл.read_paylist(): обрабатывает информацию из paylist и получает задачи, назначенные конкретному дрону.lidar(),delivery(),detection(),impact(): функции, представляющие выполнение различных задач дроном.start(): запускает процесс работы дрона, обрабатывая задачи из paylist и выполняя их с учетом доступной энергии.launch(destiny): функция запуска дрона с заданным назначением.
Распределение задач выполняется на основе информации из файла "paylist", который содержит список задач для каждого дрона. При распределении задач учитываются доступная энергия дрона и приоритетность каждой задачи.
Каждая задача представлена функцией, соответствующей определенному типу задачи (lidar, delivery, detection, impact). Каждая задача выполняется в течение 5 секунд, и после выполнения энергия дрона уменьшается на 12. Дрон также записывает статистику своей работы в соответствующий файл.
Файл main.py является основным файлом проекта. Он выполняет инициализацию и запуск дронов с использованием многопоточности.
drone_generate: класс, унаследованный отthreading.Thread, представляет собой поток, который создает и запускает экземпляр класса Drone.run(): метод классаdrone_generate, который запускает дрона с помощью функцииdrone.launch()
.
В основном блоке программы создается 10 экземпляров класса drone_generate, каждый из которых представляет отдельный поток для запуска дрона. После этого происходит ввод команды "break" для завершения работы дронов и записи статуса в файл "status.txt".
Для запуска проекта, выполните команду python main.py в командной строке. Это инициирует запуск дронов и автоматическое распределение задач. Для остановки работы дронов введите команду "break". Результаты работы каждого дрона будут записаны в соответствующие файлы статистики.
Примечание: Перед запуском проекта убедитесь, что файл "paylist" содержит корректные данные о распределении задач для дронов.