/The_Intelligence

NTI PPT Final Repo

Primary LanguagePython

Данная программа предназначена для решения финальной задачи ОНТИ 2019/2020


Требования написания кода:
  1. К каждой написанной функции или методу должен прилагаться краткий комментарий по принципам работы и входным параметрам. (исключением являются магичиские методы)
  2. Во всех методах и функциях необходимо прописывать типизацию Python. (исключением являются магичиские методы)
  3. При использовании неоправданно запутанных конструкций(костылей) необходимо писать комментарий-пояснение.
Договоренности написания кода:
  1. Преимущественное использование ООП(в разумных пределах)
  2. Тестовые и практические классы/функции, выполняющие одинаковый функционал, но с разной реализацией должны быть зеркальны (назваться и вызываться одинаково, а так же возвращать одинакове параметры).
  3. Перед реализацией своей функции/класса сначала необходимо удостовериться в отсутсвии данного функционала в уже реализованном софте.

Основные задачи:

Базовый инструментарий:

  • Создание базовых классов регулярного использования.

CV:

  • Настройка камеры
  • Определение объекта на изображении

Перемещение камеры и объектов:

  • Перемещение манипулятора
  • Тестовое перемещение на ЧПУ системах для отработки алгоритмов

Алгоритмы:

  • Траектория сканирования стапеля
  • Определение точки захвата площадки модуля

База данных:

  • Python API

Система управления автомобиля:

  • Прошивка для контролера авто
  • Python API

Подзадачи:

Подвес захватывающего механизма:

  • Прошивка для подвеса захватывающего мехнизма
  • Прошивка для захватывающего механизма
  • Python API для подвеса (in thread)

Стандартный набор git веток:
  • master - главная ветвь с основной прошивкой.
  • testing - ветвь содержащая зеркальные классы/функции для тестирования на сторонних системах.

    Внимание!!! Ветка testing никогда не должена сливаться в master!


Стандартный набор директорий:
  • /Classes - директория, которая содержит все классы программы(далее возможно разбиение на подкатегории к примеру '/Classes/Coordinates' и '/Classes/Moving_mechanism').
  • /Examples - директория, содержащая рабочие скрипты-примеры.
  • /Scripts - директория для законченных подпрограмм, которые необходимы единоразово (к примеру нахождение масок для CV).
  • /Testing_data - директория, в которой храняться данные для тестирования основной программы.