Этот проект, названный 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" содержит корректные данные о распределении задач для дронов.