- К каждой написанной функции или методу должен прилагаться краткий комментарий по принципам работы и входным параметрам. (исключением являются магичиские методы)
- Во всех методах и функциях необходимо прописывать типизацию Python. (исключением являются магичиские методы)
- При использовании неоправданно запутанных конструкций(костылей) необходимо писать комментарий-пояснение.
- Преимущественное использование ООП(в разумных пределах)
- Тестовые и практические классы/функции, выполняющие одинаковый функционал, но с разной реализацией должны быть зеркальны (назваться и вызываться одинаково, а так же возвращать одинакове параметры).
- Перед реализацией своей функции/класса сначала необходимо удостовериться в отсутсвии данного функционала в уже реализованном софте.
Базовый инструментарий:
- Создание базовых классов регулярного использования.
CV:
- Настройка камеры
- Определение объекта на изображении
Перемещение камеры и объектов:
- Перемещение манипулятора
- Тестовое перемещение на ЧПУ системах для отработки алгоритмов
Алгоритмы:
- Траектория сканирования стапеля
- Определение точки захвата площадки модуля
База данных:
- Python API
Система управления автомобиля:
- Прошивка для контролера авто
- Python API
Подвес захватывающего механизма:
- Прошивка для подвеса захватывающего мехнизма
- Прошивка для захватывающего механизма
- Python API для подвеса (in thread)
- master - главная ветвь с основной прошивкой.
- testing - ветвь содержащая зеркальные классы/функции для тестирования
на сторонних системах.
Внимание!!! Ветка testing никогда не должена сливаться в master!
- /Classes - директория, которая содержит все классы программы(далее возможно разбиение на подкатегории к примеру '/Classes/Coordinates' и '/Classes/Moving_mechanism').
- /Examples - директория, содержащая рабочие скрипты-примеры.
- /Scripts - директория для законченных подпрограмм, которые необходимы единоразово (к примеру нахождение масок для CV).
- /Testing_data - директория, в которой храняться данные для тестирования основной программы.