Проект по разработке/оживлению человекоподного робота Мишаня -> Описание робота
Проект настроен на проверку кода по линтеру через GitHub actions. В результате проверки можно увидеть на этой странице в ветках. Можно брать проверки оттуда, а можно установить инструменты себе локально и проверять при каждой коммите (инструмент pre-commit) линтерами.
Для локальной работы линтеров нужно установить инструменты:
- pre-commit (python пакет)
- cpplint (python пакет)
- clang-format (бинарная утилита)
Устанавливаем clang-format
-
Windows
Используйте установочный файл с официального сайта LLVM
-
Linux
sudo apt install clang-format
Poetry - это удобный инструмент для организации виртуального окружения.
-
Устанавливаем make
-
Windows:
Устанавливаем chocolatey и устанавливаем
make
с помощью команды:choco install make
-
Linux:
sudo apt-get install build-essential
-
-
Устанавливаем
python 3.8
-
Windows
Устанавливаем через официальный установщик
-
Linux
sudo apt install python3.8-dev
-
-
Устанавливаем poetry
-
Windows
Используйте официальные инструкции или команду
powershell
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
-
Linux
make poetry-install
-
-
Устанавливаем требуемые пакеты и инструменты с помощью команды
make env-init
- Основная разработка ведется через ветку
develop
- Flow работы над задачей
- Для нее обязательно должна быть создана задача в issues, например
#8 Разработка кода для модуля локтя руки
- Во вкладке Projects переводите ее в
In progress
колонку - Создаете ветку с названием
8_hand_module_code_creation
- Работаете в этой ветке (комитить желательно делать по завершении какой-то части задачи и всегда в конце дня)
- После завершения работы создаете Pull Request, в котором описываете, что сделано и назначаете ревьюверов (всех остальных в проекте)
- Как только ревью пройдено и получено подтверждение - ветку сливает администратор (Леша)
- Для нее обязательно должна быть создана задача в issues, например
- Канбан доска для проекта - вкладка Projects
- Файлы больше 100 KB храним в Git LFS
- Для каждой разработанной подсистемы требуется написать маленький тест, который будет запускать простую программу, использующую разработанные функции и демонстрировать работоспособность
- Не стесняемся задавать вопросы по любой теме насчет проекта - лучше, чтобы все понимали, в каком состоянии что сейчас находится, чем что-то скрывать
- Чат не для хранения - его может заваливать переписками и общением!
- Документы, полезные ссылки или другая полезная инфа - обязательно в
.md
файлы в репозитории хранить! - Если файлом надо поделиться - кладем в репо и отсюда кидаем ссылку в чат (так гарантируется, что ничего не потеряется)
- Stage 1 - Восстановление базового функционала
- Стараемся добиться того, чтобы все части робота работали и все могло управляться через единый МК
- Stage 2 - Добавляется интеграция с ROS и организуется математическая модель кинематики с имплементацией в роботе
- Stage 3 - Разработка SDK для робота (прослойка для верхнеуровневого управления)
- Stage 4 - Разработка сценариев для автономного движения и выполнения задач (демо продукта, сбор информации с людей, и т.д.)
- Хранилище больших файлов (за доступом обращайтесь к @KaiL4eK)