Skip to content

mikhailde/X-MAS_HACK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

X-MAS HACK

Этот проект, названный X-MAS HACK, представляет собой программное обеспечение для управления беспилотными аппаратами. Включает файлы:

  • drone.py: содержит класс Drone, который реализует функциональность управления дронами.
  • main.py: основной файл, в котором выполняется инициализация и запуск дронов.
  • paylist: файл, содержащий информацию о распределении задач для дронов.

Функциональность Drone

Класс 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

Файл main.py является основным файлом проекта. Он выполняет инициализацию и запуск дронов с использованием многопоточности.

  • drone_generate: класс, унаследованный от threading.Thread, представляет собой поток, который создает и запускает экземпляр класса Drone.
  • run(): метод класса drone_generate, который запускает дрона с помощью функции drone.launch()

.

В основном блоке программы создается 10 экземпляров класса drone_generate, каждый из которых представляет отдельный поток для запуска дрона. После этого происходит ввод команды "break" для завершения работы дронов и записи статуса в файл "status.txt".

Запуск проекта

Для запуска проекта, выполните команду python main.py в командной строке. Это инициирует запуск дронов и автоматическое распределение задач. Для остановки работы дронов введите команду "break". Результаты работы каждого дрона будут записаны в соответствующие файлы статистики.

Примечание: Перед запуском проекта убедитесь, что файл "paylist" содержит корректные данные о распределении задач для дронов.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages