Skip to content

lsd-maddrive/mishanya-bot-project

Repository files navigation

mishanya-bot-project

Проект по разработке/оживлению человекоподного робота Мишаня -> Описание робота

Подготовка окружения

Проект настроен на проверку кода по линтеру через GitHub actions. В результате проверки можно увидеть на этой странице в ветках. Можно брать проверки оттуда, а можно установить инструменты себе локально и проверять при каждой коммите (инструмент pre-commit) линтерами.

Для локальной работы линтеров нужно установить инструменты:

  • pre-commit (python пакет)
  • cpplint (python пакет)
  • clang-format (бинарная утилита)

Установка форматера глобально

Устанавливаем clang-format

Установка инструментов линта через локальное окружение (poetry)

Poetry - это удобный инструмент для организации виртуального окружения.

  1. Устанавливаем make

    • Windows:

      Устанавливаем chocolatey и устанавливаем make с помощью команды:

      choco install make 
    • Linux:

      sudo apt-get install build-essential
  2. Устанавливаем python 3.8

  3. Устанавливаем poetry

    • Windows

      Используйте официальные инструкции или команду powershell

      (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
    • Linux

      make poetry-install
  4. Устанавливаем требуемые пакеты и инструменты с помощью команды

    make env-init

Пара моментов по разработке

  • Основная разработка ведется через ветку develop
  • Flow работы над задачей
    • Для нее обязательно должна быть создана задача в issues, например #8 Разработка кода для модуля локтя руки
    • Во вкладке Projects переводите ее в In progress колонку
    • Создаете ветку с названием 8_hand_module_code_creation
    • Работаете в этой ветке (комитить желательно делать по завершении какой-то части задачи и всегда в конце дня)
    • После завершения работы создаете Pull Request, в котором описываете, что сделано и назначаете ревьюверов (всех остальных в проекте)
    • Как только ревью пройдено и получено подтверждение - ветку сливает администратор (Леша)
  • Канбан доска для проекта - вкладка Projects
  • Файлы больше 100 KB храним в Git LFS
  • Для каждой разработанной подсистемы требуется написать маленький тест, который будет запускать простую программу, использующую разработанные функции и демонстрировать работоспособность

Заметки по работе в-целом

  • Не стесняемся задавать вопросы по любой теме насчет проекта - лучше, чтобы все понимали, в каком состоянии что сейчас находится, чем что-то скрывать
  • Чат не для хранения - его может заваливать переписками и общением!
  • Документы, полезные ссылки или другая полезная инфа - обязательно в .md файлы в репозитории хранить!
  • Если файлом надо поделиться - кладем в репо и отсюда кидаем ссылку в чат (так гарантируется, что ничего не потеряется)

Глобальные цели

  • Stage 1 - Восстановление базового функционала
    • Стараемся добиться того, чтобы все части робота работали и все могло управляться через единый МК
  • Stage 2 - Добавляется интеграция с ROS и организуется математическая модель кинематики с имплементацией в роботе
  • Stage 3 - Разработка SDK для робота (прослойка для верхнеуровневого управления)
  • Stage 4 - Разработка сценариев для автономного движения и выполнения задач (демо продукта, сбор информации с людей, и т.д.)

Ресурсы

About

Project of human-like bot named Mishanya

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages