Robossembler - Открытая робототехника
522 subscribers
31 photos
7 videos
1 file
188 links
Ваш персональный фронтир в борьбе роботов за лучшее будущее для кожаных мешков. Open Source Robotics и всё такое. По вопросам сотрудничества пишите @brylev, наш сайт robossembler.org
Download Telegram
FreeCAD Webtools

Плагин FreeCAD Webtools служит для интеграции одноимённой CAD с внешними веб-сервисами. Сейчас из коробки он поддерживает интеграцию с репозиториями git, выгрузку моделей на сервера SketchFab и BIMServer.

Если будем делать выгрузку на Ignition Fuel сервера для публикации там моделей, пригодных для симуляции в Ignition Gazebo, то обязательно присоединимся к проекту, добавив новый функционал.

#CAD #FreeCAD #webtools
Foxtrot - перспективный STEP Viewer

написан чуть менее чем полностью на Rust. С использованием технологии WebAssembly легко интегрируется в браузерное веб-приложение. Пока в экспериментальной фазе.

Попробовал - STEP читает через раз.

https://github.com/Formlabs/foxtrot

#STEP #CAD #Rust
​​Auto-Assembly

https://arxiv.org/pdf/2301.02643.pdf

Команда робототехников из компании Arrival (известный разработчик и производитель электромобилей с R&D командой из Петербурга) разработала фреймворк для автоматической роботизированной сборки напрямую из CAD и практическую его реализацию на примере двух манипуляторов Universal Robotics.

Auto-Assembly включает в себя два этапа:

1. Генерация артефактов (Artifacts generation). Состоит из следующих этапов
- Анализ конструкции (design analysis). Из CAD экспортируется два дизайн-файла:
а) Детали целевой сборки и их соединения (joints). Крепёжные детали помечаются специальными ярлыками.
б) Та же сборка уже с позициями захватных устройств, приспособлений, кондукторов. В работе используется Fusion API (при этом говорится о CAD-agnostic; наверное, подразумевается, что все другие CAD'ы это API поддерживают). Из этой сборки экспортируется информация о позициях захватных устройств, кондукторов и отвёрток (с их типами) относительно деталей, которые они удерживают и помещается в Tooling Database.
- Генерация последовательности сборки (assembly sequence generation):
а) Генерация матрицы смежности
б) Генерация последовательности на базе матрицы
в) Вычисление геометрической осуществимости по модели сборки
В работе используется подход из работы 2012 года - Assembly planning with automated retrieval of assembly sequences from CAD model information
- Генерация спецификации процесса сборки (bill-of-process, BOP). Сначала описание роботизированной ячейки передаётся одновременно как в симулятор, так и в рантайм. Потом происходит сверка заданий на сборку и имеющимся в сцене инструментарием. Если нет подходящих инструментов, то задание не выполняется. Каждая последовательность сборки проходит проверку на согласованность с моделью роботизированной ячейкой, в результате чего формируется валидный bill-of-process, BOP
- Преобразование BOP в управляющий программный код - PL-script, который исполняется сначала в симуляторе, а потом и в runtime.

2. Развёртывание (Deploy). Реализует исполнение кода для сборки даталей в физической среде. Ключевым компонентом в этой части является высокоуровневый язык описания процессов (Process language, PL), где описаны функции для взаимодействия с различными сервисами в runtime:
- Motion Planner - осуществляет планирование траекторий движения
- Robot Controller - управление роботом на низком уровне (уровень звеньев и углов поворота)
- Jig Controller - возвращает позицию детали относительно позиции кондуктора или приспособления для захвата
- Assembly Service - предоставляет информацию о крепеже и итоговые позиции деталей относительно начала координат робоячейки
Transform Service - сервис, возвращающий позицию любого объекта в внутри робоячейки относительно любых других объектов в ней.
3D Simulator - загружает объекты в из описания робоячейки и визуализирует её состояние
Database and Message Bus - шина данных для публикации JSON сообщений и хранилище публикация и их хранилище.
Взаимодействие осуществляется в соответствии со входящей в фреймворк схемой данных Factory Control Model (FCM).

Нечто подобное мы делаем в проекте Robossembler Framework, опираясь на общедоступные проекты с открытым исходным кодом. В статье, к сожалению, не упоминаются конкретные инструменты, поэтому сложно сделать вывод о том насколько совпадают наши технические решения.

#assembly #framework #cad