Добавлены модули создания проектов сборки и подготовки датасетов
This commit is contained in:
parent
40b9b116c1
commit
f57438b404
173 changed files with 6750 additions and 1857 deletions
56
README.md
56
README.md
|
@ -1,15 +1,21 @@
|
|||
# Веб-сервис для отладки Robossembler Framework
|
||||
# Веб-сервис Robossembler
|
||||
|
||||
Необходимость разработки сервиса хранения и просмотра пакетов обусловлена тем, что для корректной работы фреймворка «Робосборщик» необходима согласованная работа разнообразных программный модулей – результаты работы одних модулей должны передаваться через стандартизированные интерфейсы другим модулям. Как правило, результатами работы программных модулей являются исполняемые файлы программ, файлы 3D-моделей в форматах STL, FBX, Collada/DAE, OBJ, PLY и т.п., конфигурационные файлы в форматах yaml, json, ini, txt, веса нейронных сетей, описания роботов/сцен в форматах URDF, SDF, MJCF и т.д.. При этом необходимо соблюсти условие соответствия данных файлов/документов друг другу, иметь возможность формировать и отслеживать цепочки вычислений (конвейер, pipeline), которые их порождают.
|
||||
Сервис для сопровождении процесса/жизненного цикла разработки программ сборки изделий роботами и интеграции программных модулей [Фреймворка Робосборщик](https://gitlab.com/robossembler/framework).
|
||||
|
||||
Данный веб-сервис выполняет следующие функции:
|
||||
## Мотивация
|
||||
|
||||
- Создание процессов (process) – команд, запускающих определённые вычисления
|
||||
- Создание триггеров (trigger) – событий, запускающихся по завершении процесса
|
||||
- Создание конвейеров вычислений (pipeline) – цепочек из процессов
|
||||
- Создание проектов (project) – набора конвейеров для выполнения прикладных задач
|
||||
- Хранение и просмотр артефактов, порождаемых процессами, а также отслеживание их жизненного цикла
|
||||
- Запуск процессов/конвейеров и отслеживание их состояния
|
||||
Для корректной работы фреймворка необходима согласованная работа разнообразных программный модулей – результаты работы одних модулей должны передаваться через стандартизированные интерфейсы другим модулям. Результатами работы программных модулей являются исполняемые файлы программ, файлы 3D-моделей в форматах STL, FBX, Collada/DAE, OBJ, PLY и т.п., конфигурационные файлы в форматах yaml, json, ini, txt, веса нейронных сетей, описания роботов/сцен в форматах URDF, SDF, MJCF и т.д.
|
||||
|
||||
## Состав модулей сервиса
|
||||
|
||||
Каждая фаза жизненного цикла имеет своё представление в виде страницы в веб-сервисе:
|
||||
|
||||
1. Создание проекта сборки, загрузка CAD-проекта изделия - "Проекты", вкладки "Детали", "Сборки"
|
||||
2. Подготовка и генерация датасета для навыков машинного зрения - Вкладка "Датасеты"
|
||||
3. Конфигурация сцены - Scene Builder - Вкладка "Сцена"
|
||||
4. Создание дерева поведения из навыков - Вкладка "Поведение"
|
||||
5. Просмотр результатов симуляции - Вкладка "Симуляция"
|
||||
6. Оценка производительности навыков Вкладка "Анализ"
|
||||
|
||||
Веб-сервис написан на языке TypeScript для среды исполнения NodeJS. Для хранения артефактов используется база данных MongoDB. Исходный код проекта разработан в соответствии с концепцией «Чистой архитектуры», описанной Робертом Мартином в одноимённой книге. Данный подход позволяет систематизировать код, отделить бизнес-логику от остальной части приложения.
|
||||
|
||||
|
@ -19,11 +25,35 @@
|
|||
|
||||
- Node.js
|
||||
- MongoDB
|
||||
- BlenderProc (для генерации датасетов)
|
||||
|
||||
## Сборка UI
|
||||
## Клонирование проекта
|
||||
|
||||
- `cd ui && npm i && npm run build && npm run deploy`
|
||||
```bash
|
||||
git clone https://gitlab.com/robossembler/webservice
|
||||
```
|
||||
|
||||
# Запуск сервиса
|
||||
## Настройка переменных окружения
|
||||
|
||||
- `cd server && npm run dev`
|
||||
Для работы Генератора Датасетов нужно задать следующие переменные в окружении `bash`
|
||||
|
||||
```bash
|
||||
export PYTHON_BLENDER="путь_к_директории_с_файлами_из_rcg_pipeline"
|
||||
export PYTHON_BLENDER_PROC="путь_к_генератору_датасетов_renderBOPdataset.py"
|
||||
```
|
||||
|
||||
## Запуск сервера
|
||||
|
||||
Из директории `server` в корне репозитория
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## Сборка и запуск UI
|
||||
|
||||
Из директории `ui` в корне репозитория
|
||||
|
||||
```bash
|
||||
npm i && npm run build && npm run deploy
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue