Сервис для сопровождения процесса/жизненного цикла разработки программ сборки изделий роботами и интеграции программных модулей Фреймворка Робосборщик
Find a file
2024-08-23 09:24:18 +00:00
.vscode Добавлены модули создания проектов сборки и подготовки датасетов 2024-04-23 10:32:43 +00:00
docs Update example.md 2024-08-23 09:24:18 +00:00
server Добавлены модули создания проектов сборки и подготовки датасетов 2024-04-23 10:32:43 +00:00
ui Добавлены модули создания проектов сборки и подготовки датасетов 2024-04-23 10:32:43 +00:00
web_p Добавлены модули создания проектов сборки и подготовки датасетов 2024-04-23 10:32:43 +00:00
.DS_Store Добавлены модули создания проектов сборки и подготовки датасетов 2024-04-23 10:32:43 +00:00
.gitignore Добавлены модули создания проектов сборки и подготовки датасетов 2024-04-23 10:32:43 +00:00
.prettierrc Добавлены модули создания проектов сборки и подготовки датасетов 2024-04-23 10:32:43 +00:00
README.md Добавлены модули создания проектов сборки и подготовки датасетов 2024-04-23 10:32:43 +00:00

Веб-сервис Robossembler

Сервис для сопровождении процесса/жизненного цикла разработки программ сборки изделий роботами и интеграции программных модулей Фреймворка Робосборщик.

Мотивация

Для корректной работы фреймворка необходима согласованная работа разнообразных программный модулей результаты работы одних модулей должны передаваться через стандартизированные интерфейсы другим модулям. Результатами работы программных модулей являются исполняемые файлы программ, файлы 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. Исходный код проекта разработан в соответствии с концепцией «Чистой архитектуры», описанной Робертом Мартином в одноимённой книге. Данный подход позволяет систематизировать код, отделить бизнес-логику от остальной части приложения.

Установка

Требования

  • Node.js
  • MongoDB
  • BlenderProc (для генерации датасетов)

Клонирование проекта

git clone https://gitlab.com/robossembler/webservice

Настройка переменных окружения

Для работы Генератора Датасетов нужно задать следующие переменные в окружении bash

export PYTHON_BLENDER="путь_к_директории_сайлами_из_rcg_pipeline"
export PYTHON_BLENDER_PROC="путь_к_генераторуатасетов_renderBOPdataset.py"

Запуск сервера

Из директории server в корне репозитория

npm run dev

Сборка и запуск UI

Из директории ui в корне репозитория

npm i && npm run build && npm run deploy