Tools for robotics assembly preparation via Assembly Sequence Planner, FreeCAD workbench for annotating frames, Blender plugin for preparing mesh
Find a file
2023-02-08 10:47:54 +03:00
cg subassembly models setup from SDFormat file 2023-02-08 10:47:54 +03:00
UI Added GraspPose.py as module and UI button; SDF export with another placements 2022-03-28 11:50:31 +03:00
.gitignore add blender settings script 2023-01-30 19:06:13 +00:00
ARFrames.py Cleaning up ARFrames 2019-03-03 13:21:06 +01:00
ARTools.py Added GraspPose.py as module and UI button; SDF export with another placements 2022-03-28 11:50:31 +03:00
B.brep Grasp Pose Export 2022-02-17 17:50:05 +00:00
cad_parts_adjacency_matrix.py Добавлен ASP-модуль 2023-01-15 12:37:01 +00:00
example.json Grasp Pose Export 2022-02-17 17:50:05 +00:00
GazeboExport.py Fix collada part scaling 2022-03-10 17:00:44 +03:00
GraspPose.py Added GraspPose.py as module and UI button; SDF export with another placements 2022-03-28 11:50:31 +03:00
Init.py First commit 2018-01-15 14:35:59 +01:00
InitGui.py Added GraspPose.py as module and UI button; SDF export with another placements 2022-03-28 11:50:31 +03:00
L.brep Grasp Pose Export 2022-02-17 17:50:05 +00:00
LICENSE Initial commit 2017-12-13 12:39:46 +01:00
P.brep Grasp Pose Export 2022-02-17 17:50:05 +00:00
R.brep Grasp Pose Export 2022-02-17 17:50:05 +00:00
README.md Добавлено описание функциональных модулей на русском 2023-01-24 13:53:35 +03:00
setup.py Интегрирован модуль импорта моделей из FreeCAD в Blender 2023-02-01 13:43:23 +00:00
simgrip.FCStd Grasp Pose Export 2022-02-17 17:50:05 +00:00

Фреймворк Робосборщик

Фреймворк Робосборщик (Robossembler Framework) предназначен для автоматизации разработки управляющих программ для роботов-манипуляторов, их отладки в виртуальных средах и оценки производительности.

Фреймворк состоит из следующих функциональных модулей

  1. Модуль автоматической генерации последовательности сборки (as_generator) генерирует граф сборки из статической модели изделия с учётом дополнительных опций и ограничений.
  2. Модуль построения технологических карт (pddl_configurator) использует модели производственного оборудования (робот-манипулятор,3D-принтер) для формирования спецификаций задач в PDDL-совместимом формате для передачи в систему планирования совместно с последовательностью сборки.
  3. Модуль экспорта моделей в виртуальные среды (env_exporter) (игровые движки, движки физики, системы рендеринга, симуляторы) формирует т.н. ассеты, то есть модели, адаптированные для использования в виртуальных средах (тесселированные или подверженные ретопологии).
  4. Модуль генерации наборов данных (dataset_generator) аггрегирует данные симуляции для их последующей обработки и машинного обучения с целью развития навыков робота.
  5. Модуль исполнения планов управляет движениями и задачами робота в режиме реального времени. Совместимый со стандартом ROS2. Исходный код см. в репозитории robossembler-ros2
  6. Модуль оценки производительности (benchmark) агрегирует информацию об эффективности методов получения навыков (вычислительная ресурсоёмкость, размер занимаемого дискового пространства) и эффективности самих навыков (скорость, точность).
  7. Модуль управления виртуальными средами управляет запуском подходящих отработки конкретных навыков виртуальных сред. Исходный код см. в репозитории robossembler-ros2

Генератор последовательности сборки (ASP)

Данный программный модуль(cad_parts_adjacency_matrix.py) предназначен для решения задачи планирования сборки. Он формирует граф сборки состоящий из И/ИЛИ и оценивает полученные там решения по набору из 4-ёх формальных правил для проверки сгенерированного графа, давая обратную связь для инженеров-конструкторов.

Формальный правила называются предикатами. Модуль ASP предусматривает следующие разновидности предикатов:

  • Предикат геометрической осуществимости. Верен для тех последовательностей сборки, которые удовлетворяют критерию геометрической осуществимости - когда все части графа сборки могут соприкосаться в определенной последовательности без каких либо столконовений.
  • Предикат механической осуществимость. Верна для последовательности сборки, когда инструменты сборки могут осуществлять указанную операцию без каких либо коллизий с изделием.
  • Предикат стабильной осуществимости. Верен для последовательности сборки, когда сборка на каждом из этапов приходит к стабильному состоянию.
  • Предикат степеней свободы. Формируется на основе уже сгенерированных графов/графа сборки. В каких степенях свободы возможно перемещать деталь.

Верстак ARBench

Разметка моделей деталей и сборок для роботизированного производства.

Установка

Поддерживается версия FreeCAD>0.16. Скопируйте содержимое репозитория в директорию .FreeCAD/Mod/.

Экспорт мета-данных дeталей (en)

  1. Click a small feature e.g. a circle
  2. Press the feature frame creator (cone with a magnifying glass on it icon)
  3. Chose type of feature to create
  4. Chose feature parameters if relevant and the offset of the frame from the feature.
  5. Repeat 4 for each feature you want on each part
  6. Click a part and press the export to json button (block->textfile icon)
  7. Save json
  8. 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).