UI | ||
.gitignore | ||
ARFrames.py | ||
ARTools.py | ||
B.brep | ||
cad_parts_adjacency_matrix.py | ||
example.json | ||
GazeboExport.py | ||
GraspPose.py | ||
Init.py | ||
InitGui.py | ||
L.brep | ||
LICENSE | ||
P.brep | ||
R.brep | ||
README.md | ||
simgrip.FCStd |
Фреймворк Робосборщик
Фреймворк Робосборщик (Robossembler Framework) предназначен для автоматизации разработки управляющих программ для роботов-манипуляторов, их отладки в виртуальных средах и оценки производительности.
Фреймворк состоит из следующих функциональных модулей
- Модуль автоматической генерации последовательности сборки (
as_generator
) генерирует граф сборки из статической модели изделия с учётом дополнительных опций и ограничений. - Модуль построения технологических карт (
pddl_configurator
) использует модели производственного оборудования (робот-манипулятор,3D-принтер) для формирования спецификаций задач в PDDL-совместимом формате для передачи в систему планирования совместно с последовательностью сборки. - Модуль экспорта моделей в виртуальные среды (
env_exporter
) (игровые движки, движки физики, системы рендеринга, симуляторы) формирует т.н. ассеты, то есть модели, адаптированные для использования в виртуальных средах (тесселированные или подверженные ретопологии). - Модуль генерации наборов данных (
dataset_generator
) аггрегирует данные симуляции для их последующей обработки и машинного обучения с целью развития навыков робота. - Модуль исполнения планов управляет движениями и задачами робота в режиме реального времени. Совместимый со стандартом ROS2. Исходный код см. в репозитории robossembler-ros2
- Модуль оценки производительности (
benchmark
) агрегирует информацию об эффективности методов получения навыков (вычислительная ресурсоёмкость, размер занимаемого дискового пространства) и эффективности самих навыков (скорость, точность). - Модуль управления виртуальными средами управляет запуском подходящих отработки конкретных навыков виртуальных сред. Исходный код см. в репозитории robossembler-ros2
Генератор последовательности сборки (ASP)
Данный программный модуль(cad_parts_adjacency_matrix.py) предназначен для решения задачи планирования сборки. Он формирует граф сборки состоящий из И/ИЛИ и оценивает полученные там решения по набору из 4-ёх формальных правил для проверки сгенерированного графа, давая обратную связь для инженеров-конструкторов.
Формальный правила называются предикатами. Модуль ASP предусматривает следующие разновидности предикатов:
- Предикат геометрической осуществимости. Верен для тех последовательностей сборки, которые удовлетворяют критерию геометрической осуществимости - когда все части графа сборки могут соприкосаться в определенной последовательности без каких либо столконовений.
- Предикат механической осуществимость. Верна для последовательности сборки, когда инструменты сборки могут осуществлять указанную операцию без каких либо коллизий с изделием.
- Предикат стабильной осуществимости. Верен для последовательности сборки, когда сборка на каждом из этапов приходит к стабильному состоянию.
- Предикат степеней свободы. Формируется на основе уже сгенерированных графов/графа сборки. В каких степенях свободы возможно перемещать деталь.
Верстак ARBench
Разметка моделей деталей и сборок для роботизированного производства.
Установка
Поддерживается версия FreeCAD>0.16. Скопируйте содержимое репозитория в директорию .FreeCAD/Mod/
.
Экспорт мета-данных дeталей (en)
- Click a small feature e.g. a circle
- Press the feature frame creator (cone with a magnifying glass on it icon)
- Chose type of feature to create
- Chose feature parameters if relevant and the offset of the frame from the feature.
- Repeat 4 for each feature you want on each part
- Click a part and press the export to json button (block->textfile icon)
- Save json
- Use the json with whatever you want. E.g.
arbench_part_publisher
Генерация пакетов деталей для симулятора Gazebo
Для генерации SDF-пакета из документа FreeCAD выделите нужные детали и нажмите "Gazebo Export" в пользовательском интерфейсе верстака ARBench, после чего будет для каждого отдельного твёрдого тела (детали, Solid
; Compound
пока не поддерживаются) будет создана директория со следующей структурой
name_of_part
├── model.sdf
├── meshes
│ └── part.dae
└── model.config
По умолчанию эти пакеты будут размещены в директории с документом FreeCAD. Чтобы добавить их в Gazebo нужно копировать сгенерированные директории в папку моделей (обычно ~/.gazebo/models
).