Added ASP overview, techinstruction moved to roboarm repo, refactor, renaming

This commit is contained in:
Igor Brylyov 2021-10-26 18:09:11 +03:00
parent 3c2adbbafd
commit bc84815950
20 changed files with 219 additions and 443 deletions

View file

@ -1,6 +1,6 @@
---
id: autostorage
title: Автоматическое хранение и транспортировка объектов
title: Хранение и транспортировка
---
Храниться объекты АПС должны так, чтобы на них не попадала не летела, скажем, пыль и стружка. Транспортироваться все объекты должны удобным стандартным образом, чтобы не решать каждый раз эту задачу. Этому служит инфраструктура (транспортно-складская). Вот пример варианта минималистичной инфраструктуры:

View file

@ -1,6 +1,6 @@
---
id: information_support
title: Информационное обеспечение автоматического производства
title: Информационное обеспечение
---
В полностью автоматических производственных системах важную роль играют информационные процессы, связанные с разработкой и конструированием изделий, технологической подготовкой и планированием их производства, непосредственным управлением исполнительными устройствами, сбором информации от сенсоров, реагированием на возникающие нештатные и аварийные ситуации, взаимодействием с пользователями и внешней средой.

View file

@ -1,9 +1,9 @@
---
id: planner
title: Планировщик
title: Планирование
---
Планировщик управляет всеми операциями в своем кластере АПС. У него есть глобальный идентификатор, который присваивается ему при производстве. А каждый объект созданный или импортированный извне под управлением данного планировщика получает свой локальный идентификатор. Таким образом, каждый объект получает полностью уникальный идентификатор, состоящий из двух частей.
Планировщик (planner) управляет всеми операциями в своем кластере АПС. У него есть глобальный идентификатор, который присваивается ему при производстве. А каждый объект созданный или импортированный извне под управлением данного планировщика получает свой локальный идентификатор. Таким образом, каждый объект получает полностью уникальный идентификатор, состоящий из двух частей.
При производстве планировщика происходит еще некоторый криптографический процесс, в результате которого материнский и дочерний планировщики получают набор пар идентичных криптографических ключей без необходимости обмена ими по каким бы то ни было каналам передачи данных. Это позволяет им в будущем использовать аутентификацию с закрытым ключом для связи между собой.

View file

@ -1,419 +0,0 @@
---
id: techinstruction
title: 'Технологическая инструкция по сборке'
---
## Компоненты системы
### Робот манипулятор
Сейчас существуют два варианта исполнения манипулятора:
- [Манипулятор для изготовления с помощью литья в прессформе](https://gitlab.com/robosphere/roboarm). 6DoF. Звено манипулятора состоит из двух оригинальных [сервоприводов](https://gitlab.com/robosphere/servo); производятся методом заливки корпуса, его застыванием, перестановкой оснастки на позицию будущего звена и дальнейшей закладкой приводов и кабелей. Главный конструктор [StasjokSS](https://gitlab.com/StasjokSS).
- [Манипулятор для изготовления с помощью 3D-печати](https://gitlab.com/robosphere/roboarm-diy-version). 6DoF. Главный конструктор [AlexxTop](https://gitlab.com/AlexxTop).
### Рабочий стол
Ключевой элемент АРМ и его основная управляющая единица. Содержит в себе вычислительный узел. Имеет форму пчелиной соты и 6 пилонов по граням.
- [Рабочий стол для манипуляторов и транспортных модулей](https://gitlab.com/robosphere/cnc/roboarm-workspace).
### Приспособления манипулятора
Все приспособления монтируются к манипулятору через [стыковочный интерфейс](https://gitlab.com/robosphere/arm-tools/connection-tool). Модуль стыковки имеет выводы для управления инструментом по CAN/RS485 шине и выводы питания инструмента на торце. В середине торца, по оси мотора имеется подвижный (втягиваемый) штырь для фиксации инструментов на Роботе-манипуляторе и специальный рельеф для центровки инструмента при фиксации.
Для хранения двух и более приспособлений, а также их смены, используется [Библиотека приспособлений](https://gitlab.com/robosphere/arm-tools/tools-library), к которой в дальнейшем будут присоединяться узлы подачи материала.
Полный перечень репозиториев с приспособлениями манипулятора
- [Механический захват](https://gitlab.com/robosphere/arm-tools/grip-tool)
- [3D-печать](https://gitlab.com/robosphere/arm-tools/3d-print-tool)
- [Подача компаунда](https://gitlab.com/robosphere/arm-tools/extrude-melt-tool)
- [Пайка](https://gitlab.com/robosphere/arm-tools/soldering-tool) с [картриджем](https://gitlab.com/robosphere/arm-tools/solder-cartridge)
- [Сварка](https://gitlab.com/robosphere/arm-tools/welding-tool)
- [Фрезерная и пост-обработка](https://gitlab.com/robosphere/arm-tools/post-processing-tool)
- [Сканирование и съёмка](https://gitlab.com/robosphere/arm-tools/scan-tool)
### Автоматизированное рабочее место (АРМ)
Рабочий стол и манипуляторы с приспособлениями формируют Автоматизированное рабочее место (АРМ), которое может быть объединено с другими рабочими местами, формируя сложные производственные комплексы.
### Кабели
Объёмные или плоскостные структуры из одножильной проволоки. Проволока выбирается сварочной легированной и омеднённой сталью, поставляется рулонами. Также это может быть сложная 3D деталь — слабопроводящий пластик напечатанный с растворимой поддержкой и нерастворимым каркасом. Потом гальванически обращенный медью, никелем, оловом до нужной толщины. Лишний пластик можно отжечь, но на малых токах медь и так осаждается в неплохой проводник. В целом, технология гальванпластики очень хорошо совместима с 3д печатью. Так осаждают и железо (я сам немножко пробовал), оно получается твердым, царапает обычное железо. Это, конечно, не из-за углерода, которого там нет, а из-за водорода. Обычно это считается недостатком и процесс ведут либо на малом токе, либо потом отжигают продукт примерно при 400С. Тогда водород уходит и железо получается столь мягким,что в I мировую войну им заменяли дефицитную медь для поясков снарядов.
Корпус - отвердевший компаунд, связавший собой исполнительные механизмы, приводы, основания. Несёт на себе защитные и конструктивные функции. Может иметь внешнюю оболочку напечатанной из полимеров, или не иметь её и быть просто пористым прочным телом, для повышения прочности пористое тело пропитывается сверхтекучими полимерами. Корпус и кабели входят в состав звена.
### Компаунд
Смесь реактивов, отвердевающих(отвердевших) до состояния пористого, лёгкого, твёрдого и прочного материала. Предположительно жидкое стекло + кальций и вспенивающий реагент, + волоконные наполнитель + полимерный упрочнитель (до 50% общей массы)
### Основание
Основание робота - основание, на котором монтируются звенья Робота-манипулятора.
В состав входят:
* корпус - рамка, в которую заливается компаунд (изготавливается с помощью 3D-печати)
* разъёмы
* замок (металлическая скоба с отверстиями под штифты)
* плата разводящая (на разъёмах)
* плата управления
* арматура
* кабели
* фиксирующий компаунд.
### Пилон
Пилон - комплекс, состоящий из 2х разъёмов(вход/выход) и металлического замка в одном корпусе, применяется для пристыковывания к пилонам других основных элементов АРМ (Рабочий стол, Робот-манипулятор, Адаптер станков) и надёжной их взаимной фиксации в связке пилон-пилон, не снимаемый, обязательный.
### Привод
Серво моторредуктор с динамометром. Корпус из двух вращаемых половин. Корпус имеет насечки для охлажения и более качественного сцепления с компаундом, так же имеет штыревые выходы CAN шины для пристыковывания к другим приводам и выводы электропитания. Выводы впоследствии могут быть припаяны к кабелям.
### Тележка
Грузовой сверхманевренный робот с 4мя пилонами (перед и зад) и 2мя сверху для фиксации (и смены) Робот-манипулятор, имеет мелкий кузов, 2 АКБ высокой ёмкости, доступных для снятия и замены, модульное СМ шасси, и набором сменных инструментов(захватов). Масса тележки может находиться в пределах от 20 до 40 кг.
### Электрощуп
Стальной стержень, имеющий электрическую связь с автоматизированным рабочим местом и дополнительный нагреватель на конце. Оснастка должна иметь зону для очистки от наплавленного пластика.
## Рассматриваемые технологии
1. Проволока: крайне проста в обращении, имеет достаточную жёсткость и неплохую проводимость, высокую скорость производства изделий з неё. Технология проста в реализации. Потребность в оборудовании: проволокогибочный станок, или сварочный модуль + кулачковый захват и собственно расходную проволоку.
2. Гальванопластика: позволяет утилизировать металлолом и вышедшие из строя части фабрики, превращая их в осмысленные детали, либо заготовки заданной формы. Имеет низкую скорость производства для получения оптимального сопротивления, требует больший спектр оборудования (пластик проводящий+непроводящий, электролизную ванну с расходными материалами, промывочный модуль/ванну)
## Сборка робота
### Подготовка основания робота
#### 1. 3D печать оснастки литья основания
Применяется: Рабочий стол, Робот-манипулятор + модуль печатающий
Обоснование: Для печати достаточно 1 Робот-манипулятор, но далее придётся вставлять замок для крепления основания рабочего стола к АРМ, и разъёмы, при этом не двигая оснастку, потому процесс печати будет кратковременно прерван
Процесс: Работа по управляющей программе
#### 2. Вставка замков и разъёмов в оснастку
Применяется: Рабочий стол, Робот-манипулятор + модуль печатающий(п.1), Робот-манипулятор + захват механический
Процесс: Робот-манипулятор №1 становится на паузу, пока Робот-манипулятор №2 устанавливает в недопечатанную оснастку конструктивные элементы пилона: 2 разъёма и алюминиевую скобу замка.
Когда все элементы вставлены Робот-манипулятор №1 продолжает свою работу.
#### 3. Допечатывание оснастки со вставками
Применяется: Рабочий стол, Робот-манипулятор + модуль печатающий
Обоснование: Фиксация и дополнительное усиление вставленных элементов, дополнительное заполнение зазоров
Процесс: Частично напечатанная оснастка с вставленными элементами пилона допечатывается, а элементы пилона фиксируется экструдируемым полимером для дополнительной фиксации и приобретения жёсткости.
В этом процессе всё так же участвует только 1 робот(Робот-манипулятор1) с 1й печатающей головкой(модуль печатающий), печать происходит на Рабочий стол (Рабочем столе)
#### 4. Формование проволочной арматуры
- **ВАРИАНТ1**
Применяется: Робот-манипулятор + захват механический, Робот-манипулятор +сварочный модуль, Расходный материал: Вначале приложенная медная сварочная проволока, в дальнейшем алюминиевая, произведённая на месте.
Обоснование: Робот с сварочный модуль подаёт проволоку нужной длины, робот партнёр гнёт проволоку согласно инструкции.
Процесс: Робот-манипулятор1 со сварочным модулем выкатывает проволоку, которую рядом стоящий Робот-манипулятор2 синхронно сгибает в нужнх местах для формования объёмных и плоскостных проволочных фигур
- **ВАРИАНТ2** (проволокогибочный станок)
Применяется: Адаптер станков + Робот-манипулятор + кулачковый захват, +модуль печатающий, проволокогибочный станок, производство вынесено в зону станков.
Обоснование: максимальная скорость производства, минимальные побочные затраты энергии и ресурсов.
Процесс: Проволока заготавливается проволокогибочным станком, обслуживающий Робот-манипулятор1 заполняет структуру и фиксирует проволоку с помощью пластика печатающего модуля
- **ВАРИАНТ3** (гальванопластика)
Применяется: (не известно)
Обоснование: (не известно)
Процесс: (не известно)
#### 5. Вставка в корпус арматуры и кабелей
Применяется: Робот-манипулятор + захват механический, Робот-манипулятор + модуль печатающий
Расходный материал: сформованная ранее стальная омеднённая проволока
Обоснование: Кабели нужны для питания и связи. Арматура нужна для фиксации всех элементов внутри корпуса, для повышения прочности внутренней конструкции, выступающие петлями части арматуры служат строповочными петлями, которые могут применяться другими роботами для перемещения основания робота, и так же могут использоваться как выносные контакты питания.
Процесс:
а) Робот-манипулятор2 располагает в корпусе "Основания робота" сформованную объёмную проволочную структуру, а Робот-манипулятор1 с МК точечно плавит расположенную структуру в местах касания с пластиковым корпусом для надёжной фиксации в пространстве.
б) Затем Робот-манипулятор2 после формования плоскостной проволочной структуры позиционирует получившийся кабель, Робот-манипулятор1 точечно приваривает кабель к контактам разъёмов и плат.
П1 и П2 чередуются для получения необходимой конфигурации конструктивных элементов и кабельных связей.
#### 6. Вставка в корпус электронных плат управления
Применяется: Робот-манипулятор + захват механический, выгруженные тележкой платы.
Обоснование: Просто взять с одного места и поставить в нужную позицию (одеть на кабели через отверстия). Ложе под плату напечатано и нерушимо.
Процесс: Взять со стопки, выгруженной тележкой, за скобы (должны быть на плате), перенести к оснастке и вертикально опустить на кабели с мелким круговым покачиванием. Спустя 2-3 секунды, когда все кабели зайдут в свои отверстия отпустить плату. плата должна упасть на спец напечатанные упоры. Если не упала полностью- додавить по кругу.
#### 7. Пайка элементов плат к кабелям и арматуре
Применяется: Робот-манипулятор + сварочный модуль, Робот-манипулятор + Щ, Расходный материал: проволока
Обоснование:
1 Робот-манипулятор - прогрев кабелей для проплавки припоя и электротестирование
2 Робот-манипулятор с металлическим щупом должен проверить качество электрического соединения
Процесс: На проволоку кабелей подать напряжение, контролировать температуру, не превышая 500\*С. Коснуться поочерёдно всех контактов. С выдержкой по времени. Электрическим щупом Робот-манипулятор2 проверяется качество пайки контактов на сопротивление и общую проводимость.
Электрическим щупом как паяльником(ибо тонкий) нужно прогревать определённые точки арматуры, в которых арматура касается напечатанной оснастки для вплавки в пластиковую основу.
Далее происходит высокотемпературная пайка арматуры к плате.
Распайка должна автоматически исключать возможность лишних замыканий арматуры на дорожках плат.
Не заменит ли лазерная сварка и это? Не пойдет ли тепло по хорошо проводящей медной проволоке и не поплавит 3д печатные детали, искажая геометрию?
#### 8. Одевание на плату привода
Применяется: 2 Робот-манипулятор + 2 захват механический + 1 Щ
Обоснование: Достаточно одного робота с механическим захватом, но второй робот рекомендовано может применяться для помощи в продавливании одеваемого на кабели привода
Процесс: Взять механическим захватом Робот-манипулятор1 привод, повернуть в нужное положение относительно основания и поднести в центр основания, чётко над штырями кабелей.
Начать опускание привода Робот-манипулятор1. Одевать на штыри с лёгким покачиванием (0,5мм диаметр круга покачивания по оси привода) При возникновении сопротивления, если привод не дошёл до нужной глубины - придавить Робот-манипулятор2 (чтоб привод не сорвался с мехзахвата)
Если привод оделся, или если он не оделся на кабели - провести электротестирование щупом Робот-манипулятор2.
Главный результат - надёжный электроконтакт.
#### 9. Заливка компаундом оснастки с приводом
Применяется: Робот-манипулятор + захват механический, Робот-манипулятор + модуль подачи компаунда, Расходный материал: компаунд
Процесс: Робот-манипулятор1 с приводом остаётся в своём положении, удерживая привод в нужной позиции. Робот-манипулятор2 сменяет электрощуп на модуль подачи компаунда и делает заливку компаундом в нескольких местах вокруг привода.
### Подготовка первого звена робота
#### 10. Создание литьевой формы
Применяются: 1 Робот-манипулятор + 1 модуль печатающий, расходный материал: АБС, обычная 3Dпечать, компаундооталкивающий состав.
Процесс: 3D печать 2х частей формы по управляющей программе. Количество деталей формы может быть увеличено до 3х основных формообразующих + 2 направляющих + 2 замка, чтоб роботам можно было проще(и качественнее) паять кабельные трассы. Затем робот при помощи МЗ и кисточки покрывает формообразующие поверхности вязким и клейким на первых порах составом(аналог - герметик)
#### 11. Подготовка оснастки литья корпуса звена
Применяется: Тележка+ 2 захват механический, Доставка приводов осущ. Со склада, куда есть доступ пока только тележке.
Процесс: По возможности взять готовую форму. Если нет, то П.0
Для сборки приготовить нижнюю часть формы.
#### 12. Подготовка комплектующих
Применяется: Тележка+ 2 захват механический,
Доставка:
- 7ми приводов
- 2х плат для Основания
- катушки Расходников
- реагенты для компаунда
...со склада
Процесс:
- Обслужить инструменты и оснастку,
- Загрузить в инструменты/оснастку расходники
- Испытать/проверить инструмент
- Вернуть инструмент на позицию.
- Выгрузить, подле ассистирующего Робот-манипулятор, комплектующие для основания (Разъёмы, Рамку, Платы)
- Отъехать на расстояния чтоб не мешать Робот-манипулятор.
Сборочная спецификация Робот-манипулятор может меняться в зависимости от потребностей Системы и это должно быть предусмотрено!
#### 13. Укладывание приводов в оснастку
Применяется: 1 Робот-манипулятор + 1 захват механический
Процесс: Робот-манипулятор применяя захват механический, берёт из складской корзины приводы и по очереди укладывает в литьевую форму.
#### 14. Формование проволочных кабелей (тождественно п.4)
Применяется: 1 Робот-манипулятор + 1 ЗК, 1 Робот-манипулятор + 1 сварочный модуль, расходный материал: проволока металлическая
Обоснование: Робот со сварочным модулем подаёт проволоку нужной длины, робот партнёр гнёт проволоку согласно инструкции.
В идеале нужен провологибочный стан, но проволока достаточно мягка и легка, чтоб с этой задачей справился робот — может это быть даже просто мягкий припой или тонкая медяшка как арматура, покрытая толстым припоем.
Процесс: Робот-манипулятор2 после формования плоскостной проволочной структуры позиционирует получившийся кабель, Робот-манипулятор1 приваривает кабель к контактам привода1, затем Робот-манипулятор2 проталкивает другой конец кабеля в разъём для фиксации в Приводе2.
#### 15. Пайка кабелей к разъёмам приводов (пайка устраняет шумы контактов и гарантирует механическую прочность)
Применяется: 1 Робот-манипулятор + 1 ЗК, 1 Робот-манипулятор + 1 сварочный модуль, расходный материал: проволока металлическая
Обоснование: 1 Робот-манипулятор - прогрев кабелей для проплавки припоя и электротестирование
2 Робот-манипулятор с металлическим щупом должен проверить качество электрического соединения
Процесс:
а) Робот-манипулятор1 удерживает проволоку в нужной позиции,
б) Робот-манипулятор2 проводит пайку кабеля к проводам разъёма.
в) Робот-манипулятор1 проталкивает непаяный край кабелей в разъём до фиксации.
#### 16. Закрывание литейной формы
Применяется: 2 Робот-манипулятор + 2 захват механический
Процесс:Робот-манипулятор1 и Робот-манипулятор2 синхронно поднимают вторую полуформу (крышку формы) и устанавливают на форму с вставленными комплектующими.
#### 17. Заливка компаундом оснастки с приводами
Применяется: Робот-манипулятор + модуль подачи компаунда
Обоснование: Один робот удерживает привод в нужном положении, другой заливает компаунд в оснастку.
Процесс: Робот-манипулятор1 прижимает верхнюю полуформу посередине, удерживая её в нужной позиции, в достаточно придавленном состоянии. Робот-манипулятор2 прижимает сопло смесителя к заливочной горловине и делает впрыск компаундом, роботы интенсивно меняют места приложения усилий и Робот-манипулятор2 делает впрыск во второй горловине. Робот-манипулятор1 продолжает удержание, пока действуют распирающие форму силы.
ВНИМАНИЕ: Состав компаунда может варьироваться, имеет несколько вариантов исполнений и должен выбираться исходя из стартовых условий и требований к производимому роботу. Так же необходимо помнить о состоянии защитного покрытия формы.
### Цикличная сборка звеньев манипулятора
#### 18. Подготовка оснастки литья корпуса звена
Применяется: Тележка + 2 захват механический
Обоснование: Доставка приводов осуществляется со склада, куда есть доступ пока только тележке.
Процесс: Взять готовую форму.
Количество деталей формы может - 3х основных формообразующих + 2 направляющих + 2 замка, чтоб роботам можно было проще(и качественнее) паять кабельные трассы. Для сборки приготовить нижнюю часть формы, форма покрыта постоянным компаундооталкивающим составом.
#### 19. Стыковка приводов основания и 1го звена
Применяется: Тележка(2 Робот-манипулятор) + 2 захват механический
Обоснование: Для операции необходимо 2 робота, они есть у тележки, она же в кузове несёт приводы. ПОКА(!) нет надобности тратить время 2х стационарных роботов.
Процесс: каждый из 2х Робот-манипулятор берёт привод и располагает в нужной комбинации, едва соприкасая их контактами разъёмов, приводы лежат на ровной площадке(пол, Рабочий стол, оснастка), затем работы прижимают приводы так, чтоб контакты зашли друг в друга
#### 20. Укладывание приводов в оснастку
Применяется: 2 Робот-манипулятор + 2 захват механический
Обоснование: для укладывания 2х приводов достаточно 2 Робот-манипулятор с захват механический.
Процесс: Просто уложить приводы в обозначенные позиции в оснастке.
#### 21. Формование проволочных кабелей
- ВАРИАНТ 1
Применяется: 1 Робот-манипулятор + 1 ЗК, 1 Робот-манипулятор + 1 сварочный модуль, Расходный материал: проволока металлическая
Обоснование: Робот со Сварочным модулем подаёт проволоку нужной длины, робот партнёр гнёт проволоку согласно инструкции.
Процесс: Робот-манипулятор2 после формования плоскостной проволочной структуры позиционирует получившийся кабель, Робот-манипулятор1 приваривает кабель к контактам привода1, затем Робот-манипулятор2 проталкивает другой конец кабеля в разъём для фиксации в Приводе2.
ВАРИАН 2 и ВАРИАНТ3 см. п.4
#### 22. Пайка кабелей к разъёмам приводов
Применяется: Робот-манипулятор + захват механический, Робот-манипулятор+ 1 сварочный модуль, Расходные материалы: Проволока паяльная
Обоснование: 1 Робот-манипулятор - прогрев кабелей для проплавки припоя и электротестирование
2 Робот-манипулятор с металлическим щупом должен проверить качество электрического соединения
Процесс: На проволоку кабелей подать напряжение, контролировать температуру, не превышая 500\*С. Коснуться поочерёдно всех контактов. С выдержкой по времени. Электрическим щупом Робот-манипулятор2 проверяется качество пайки контактов на сопротивление и общую проводимость.
#### 23. Заливка компаундом оснастки с приводами
Применяется: Робот-манипулятор + модуль подачи компаунда
Обоснование: Один робот удерживает привод в нужном положении, другой заливает компаунд в оснастку.
Процесс: Робот-манипулятор1 прижимает верхнюю полуформу посередине до самозапирания замками. Робот-манипулятор2 прижимает сопло смесителя к заливочной горловине и делает впрыск компаундом, затем Робот-манипулятор2 делает впрыск во второй горловине.
#### 24. Раскрытие Формы
Применяется : 2 Робот-манипулятор + 2 захват механический
Обоснование: простейшие механические действия, синхронные, для 2х Робот-манипулятор.
Процесс: Роботы синхронно захватами нажимают на замки, Форма под действием печатанных пружин раскрывается, Затем роботы захватывают верхнюю полуформу за строповочные петли поднимают полуформу и кладут сразу за формой.
#### 25. Смена заливаемого звена
Применяется : 2 Робот-манипулятор + 2 захват механический
Обоснование: аккуратные механические действия, синхронные, для 2х Робот-манипулятор.
Процесс: Роботы синхронно берут с двух краёв частично готовый Робот-манипулятор, приподнимают над полуформой на 2/3 диаметра привода и сдвигают на 2 звена относительно Формы. Затем укладывают частично готового Робот-манипулятор на край формы с зазором под штыри разъёма.
#### 26. Укладка приводов последующего звена
Применяется: Робот-манипулятор + захват механический
Обоснование: простейшие механические действия, синхронные, для 2х Робот-манипулятор.
Процесс: Робот-манипулятор укладывает приводы в форму.
#### 27. Завершение цикла литья корпусов
Применяется: Тележка + захват механический
Обоснование: Нужно привезти очередной комплект деталей для будущего Робот-манипулятор и освободить форму для производства следующего Робот-манипулятор.
Процесс: Повтор пунктов: 21-26 до достижения необходимого количества степеней свободы. Последняя степень свободы - модуль стыковки. При достижении заданного количества степеней свободы остановить цикл на П.24. Затем Робот-манипулятор тележки выгружает комплект деталей для следующего Робот-манипулятор, далее Робот-манипулятор тележки бережно извлекают и поднимают заготовку Робот-манипулятор с отлитыми и затвердевшими корпусами.
#### 28. Корпуса извлечённого из формы робота пропитывают полимерным составом
Применяется: Робот-манипулятор + модуль подачи компаунда, Расходные материалы: полимерное связующее.
Обоснование: Хрупкий и пористый корпус нужно пропитать упрочняющим полимерным составом.
Процесс: Заготовка Робот-манипулятор находится в подвешенном расстоянии, зафиксированном Робот-манипулятор тележки. Робот-манипулятор с модуль подачи компаунда, касаясь соплом с полимерным составом, прижимает сопло к отверждённым корпусам по очереди, и начинает подачу полимера со скоростью впитывания его в пористый корпус до набора необходимого соотношения масс.
### Анимирование робота манипулятора
#### 29. Складирование Робота-манипулятора
Применяется: Тележка + 2 захват механический
Обоснование: Робота нужно перемещать в пространстве
Процесс: Тележка, удерживающая сформованного робота, удерживая его захватами в горизонтальном положении, отвозит на склад, или центр анимации. (зависит от загруженности центра анимации и времени после пропитки корпусов Робота-манипулятора для полной полимеризации составов.
#### 30. Установка Робота-манипулятор
Применяется: Рабочий стол, Тележка+ 2 захват механический, Робот-манипулятор+ захват механический
Обоснование: Тележка привозит робота, затем, удерживая вертикально на 2 захват механический, стыкует Робот-манипулятор к Рабочий стол, Робот-манипулятор с захват механический используя специальные шпильки фиксирует новоприбывшего Робот-манипулятора к Рабочему столу.
Процесс: Тележка привозит Робот-манипулятор(Сформованный робот со склада, после полного цикла полимеризации и усадки), затем поворачивает его вертикально и, удерживая двумя Механическими захватами, подвозит вплотную к пилону рабочего стола. Затем, тележка с нижним механическим захватом с усилием стыкует пилоны рабочего стола и Робот-манипулятор. После этого Робот-манипулятор с захват механический берёт из кузова тележки шпильку и опускает вертикально, добавляя усилия, и вращая по часовой стрелке, продавливает её через скобы пилонов рабочего стола и Робот-манипулятор
#### 31. Прошивка Робота-манипулятор
Применяется: Рабочий стол, Робот-манипулятор+ Щ,
Процесс: Используя щуп, Робот-манипулятор, касаясь всех выступающих штырей разъёмов каждого соединения Робот-манипулятор1 прощупывает качество сигнала и проводит визуальную и тактильную деффектовку, передавая показания Рабочего стола. Затем Рабочий стол проводит прошивку приводов согласно вычисленной Рабочим столом кинематической модели нового Робота-манипулятора.
#### 32. Тестирование Робота-манипулятора
Применяется Рабочий стол, Робот-манипулятор(новый)+ Щ
Процесс: Новоустановленный Робот-манипулятор одевает Щ, и, попадая в отверстия разъёмов пилонов Рабочий стол отмечает ошибки, поправляя и уточняя исчисленную ранее кинематическую модель себя.
После тестирования робот готов к эксплуатации.
Задачи: разработка картриджа - мелкая катушка(определённое количество) на модуль печатающий;
Проблема лазерной сварки система волоконная, крайне сложная(невозможная для роботов) в ремонте и требует бережного обращения. Возможно применять в ЧПУ закрытого или проходного типа, но не на Робот-манипулятор. Полупроводниковой системе не хватит мощности.
Делать корпус для платы в жизни очень правильно, но плату нужно паять (и так разъёмов многовато, а они вредны для сигнала)
Принято решение реабилитировать сварочный модуль, но добавить сварочный модуль паяльную функцию

View file

@ -0,0 +1,198 @@
---
id: ASP-overview
title: 'Планирование последовательности сборки'
---
## Введение
Сборка - узкое место в жизненном цикле многих продуктов. Предполагаемое время сборки занимает 20-50 % от общего времени производства, в то время как стоимость сборки составляет около 20-30 % от общей стоимости (Xu et al., 2012). Планирование последовательности сборки имеет решающее значение для обеспечения успеха продукта, особенно для сложных продуктов, таких как автомобили, корабли и аэрокосмическая продукция (Hou et al., 2018).
В данной статье рассмотрены актуальные исследования по автоматическому планированию последовательности сборки (Assembly Sequence Planning, ASP).
## Основные методы
На базе статьи __A review on assembly sequence generation and its automation__ - Bahubalendruni, Biswal (India) 2016
Множества и подмножества сборочных последовательностей:
* __Liaison-based__ - множества, построенные на графах(матрицах смежности для них) отношений(соединений) деталей. В вершинах графа - детали, в рёбрах - наличие соединения и иногда дополнительная информация о соединении (тип соединения и т.д.)
![](img/liaison-graph.jpg)
* __Feasible__ - геометрически доступные множества. Основаны на т.н. `feasible predicate` - условии, при котором выбранная сборка доступна в геометрическом или механическом смысле. Геометрически доступной считается подсборка, все детали которой могут быть соединены без коллизий. К каждой из подсборок liaison-множества применяется некая функция, которая отвечает в формате Да/Нет на вопрос о возможности той или иной сборки. Таким образом из liasion-матрицы формируется interference-матрица, которая отражает наличие или отсутствие коллизий между отдельными деталями.
* __Stable__ - множества устойчивых (не разваливающихся) подсборок. Могут разделяться на нестабильные, частично стабильные, полностью стабильные.
* __Optimal__ - оптимальные по отношению к целевой функции (стоимость, энергоёмкость, смены инструмента, операции). Часто инженеру нужно выбрать между несколькими допустимыми и стабильными последовательностями сборки, поэтому применяется алгоритм оптимизации. Сущестует множество типов алгоритмов оптимизации (ACO: Ant Colony Optimization, GA: Genetic Algorithm, PSO: Particle Swarm Optimization, MA: Memetic Algorithm, IA: Immune Algorithm, NN: Neural Networks, GSA: Genetic Simulated Annealing, FF: Firefly Algorithm, FW: Fireworks, MILP: Mixed Integer Linear Programming, MIP: Mixed Integer Programming), которые применяются в сочетании с различными входными данными (геометрические отношения, ограничения приоритета, информация о приспособлениях и подсборках) и целевыми функциями. Полная таблица исследований приведена в таблице 3 из работы (_Bahubalendruni, Biswal '2016_). Там же приводится статистика самых популярных:
* входных данных - `Liaison` и `Geometrical feasibility` матрицы
* алгоритмов оптимизации - Генетические алгоритмы в 40% исследований
* целевых функций - минимизация стоимости и количества изменений направлений сборки.
Отношения вложенности между указанными выше сборочными последовательностями
![](img/assembly-sequence-sets.jpg)
Современные CAD-системы позволяют получать следующие данные:
* liaison data - связи между деталями
* assembly cutsets - наборы разрезов
* questions to generate precedence relations - вопросы для создания отношений приоритета
* interference free matrix/interference data - данные о помехах
* assembly mating conditions - условия сопряжения сборки
* feasible assembly sequence(s) - геометрически допустимые сборочные последовательности
* optimal/near optimal feasible assembly sequence - оптимальные и близкие к оптимальным последовательности
Большинство методов планирования последовательностей сборки (Assembly Sequence Planning, ASP) основаны на графах. На иллюстрации ниже показаны: пример сборки (a), `blocking-граф` (b), `AND/OR-граф` (c), `liaison-граф` (d), `connector-based`. Граф Liaison часто применяется как входной в ASP-систем.
![](img/assembly_graph_types.jpg)
## Обзор актуальных исследований
### 3D Model-Based Assembly Sequence Optimization using Insertionable Properties of Parts - 2020
Kento Tariki, Takuya Kiyokawa, Gustavo Alfonso Garcia Ricardez, Jun Takamatsu, Tsukasa Ogasawara (Japan)
http://dx.doi.org/10.1109/SII46433.2020.9026210
__Исходные данные__: 3D-модель в формате STEP
__Алгоритм__: генетический алгоритм с двумя типами функций оценки (Fitness Functions). Также применяется Insertion Matrix (матрица вставки, IM), где подразделяются детали по признаку папа/мама. Insertion Matrix вычисляется из CAD-модели с помощью функций библиотеки `PythonOCC`:
* Функция `BRepAdaptor_Surface` извлекает информацию о поверхности детали и показывает её тип (плоскость, цилиндр, конус)
* Деталь классифицируется по признаку мама/папа
* В координате центра отверстия детали типа "мама" создаётся маленький куб и если какая-либо деталь имеет с ней общую точку (это вычисляется с помощью функции `BRepAlgoAPI_Common`), то она помещается в IM
* Функция `brepgprop_VolumeProperties` используется, чтобы определить, что общий объём больше нуля. И если она возвращает True, то деталь помещается в IM.
На рисунке ниже показан пример создания IM. Красная деталь типа "мама", зелёный куб находится в координате центра отверстия детали типа "мама", жёлтая деталь типа "папа".
![](img/insertion_matrix_gen.jpg)
__Полевые испытания__: использовались робот COBOTTA и ROS/MoveIt. Для примера использовалась в том числе модель из `World Robot Summit Assembly Challenge 2018`.
### Assembly Sequence Planning for Motion Planning - 2016
Weiwei Wan, Kensuke Harada, Kazuyuki Nagata
https://arxiv.org/pdf/1609.03108.pdf
__Исходные данные__: mesh-модель манипулятора, mesh-модели деталей, относительные позиции между деталями в сборке, целевая позиция сборки
__Алгоритм__: формируются все возможные подсборки и для каждой вычисляются:
* стабильность (stability)
* хватабельность (graspability) - число доступных способов захвата данным приспособлением
* собираемость (assemblability).
![](img/wan_ASP_algorithm.jpg)
Алгоритм позволяет найти некоторые оптимальные порядки и направления сборки, которые
1. Стабильны после окончания каждого этапа сборки
2. Имеют множество доступных захватов и гибки к кинематическим ограничениям роботов
3. Устойчивы к ошибкам сборки.
__Результат__:
* Порядок сборки (Assembly order): Какие детали собирать первыми
* Направление сборки (Assembly direction): Как накладывать или вставлять детали
* Доступные способы захвата (Accessible grasps): Как захватывать объекты в ходе сборки
__Полевые испытания__: собрали промышленный переключатель (switch).
### Optimal assembly sequence based on design for assembly (DFA) rules - 2020
Ine Melckenbeeckb, Sofie Burggraevea, Bart Van Donincka, Jeroen Vancraena, Albert Rosicha (EU)
__Исходные данные__: STEP-модель
__Алгоритм__: совместно применяются `AND/OR` и `liaison` графы в сочетании с практиками `Design for Assembly` (DFA).
Для измерения DFA используется метод оценки локального (_local motion_) и глобального (_global or extended motion_) движения. Локальное движение рассматривает зону физического контакта детали; глобальное движение оценивает также пересечения с деталями, не находящимися в зоне контакта, поэтому более трудоёмкое для вычислений. В алгоритме предложен метод двух-этапной оценки возможностей сборки - сначала оценивается локальное движение, а затем для направлений, в которых гарантируется локальное движение, оценивается глобальное движение.
1. Оценка локальных движений (`S-local` DFA score, %) производится с помощью `функций геометрического ядра CAD`, исходя из геометрических свойств деталей.
2. Оценка глобальных движений (`S-global` DFA score, %) производится с помощью рендеринга в `игровом движке Unity 3D`. Алгоритм получает на входе перечень возможных направлений, выявленных в ходе оценки локального движения.
Из локальной и глобальной возможности сборки выводится оценка для использования при генерации последовательности сборки.
Результатом проверки локального движения является `пространство допустимых направлений`. Объем этого пространства представляет собой количество возможных направлений сборки и, следовательно, является показателем простоты сборки. Чтобы использовать это значение в качестве оценки, нормализованный объем подается в непрерывную функцию оценки так, что невозможные сборки приравниваются к 0%, а неограниченная ничем сборка - 100%. С другой стороны, глобальная возможность сборки равна либо 0, либо 1, в которой 1 является сборкой, а 0 - нет.
Общее значение оценки `C-alg` вычисляется как `1/(S-local * S-global)`.
Порядок определения последовательности сборки:
1. STEP-файл
2. Программно генерируется `liaison`-граф, как пространство вершин разных деталей, расстояние между которыми ниже определённого значения (tolerance value)
3. Частичный AND/OR граф
4. Оценка DFA (возможен возврат к п.3). Для уменьшения количество обращений к DFA, разработаны три специальных ad-hoc правила:
* Локальная оценка возможности сборки на определённом шаге не меняется, если добавляемая к подсборке деталь или другая подсборка не соприкасаются с ней. К примеру, мы собрали две подсборки вместе, определив для них local score. Далее, если мы добавим к одной из подсборок деталь, которая не имеет соприкосновений с другой подсборкой, то на данном local score это не отразится;
* Невыполнимый этап сборки никогда не станет выполнимым путем добавления деталей в любой из узлов сборки
* (инверсия предыдущего правила) Выполнимый этап сборки никогда не станет невыполнимым при удалении деталей из любого узла сборки.
5. Последовательность сборки
Пункты 3-4 формируют т.н. алгоритм поиска оптимальной последовательности.
__Полевые испытания__: не проводились
### A System Architecture for Constraint-Based Robotic Assembly with CAD Information - 2018
Mathias Hauan Arbo, Yudha Pane†, Erwin Aertbeliën† and Wilm Decré (EU)
http://dx.doi.org/10.1109/COASE.2018.8560450
__Исходные данные__: CAD-модель с пользовательскими метаданными, в работе не было задачи автоматизации генерации последовательности сборки
__Архитектура__:
![](img/constrained_based_sequence_planner_architecture.jpg)
* `Application Layer` - для `FreeCAD` создана `Task Library`, где имплементированы классы `Положить`, `Вставить`, `Вкрутить`, которые сопоставляются рёбрам `liaison-графа`
* `Process Layer` - `Tasks` (задачи) сопоставляются с `Skills` (навыками). Навыки делятся на `Composed` и `Atomic`. В итоге каждой детали сопоставляются тип задачи из Application Layer, навык (например, `grasp_and_insert`), набор атомарных навыков (move_cartesian gripper, guarded_cartesian, cylinder_insert) и инструмент (gripper). В контексте работы Task - это задача, а Skill - это возможность производства.
* `Control Layer` - реализован на базе [eTaSL](https://etasl.pages.gitlab.kuleuven.be/intro.html) - язык спецификации задач для реактивного управления роботами + [Orocos](https://docs.orocos.org/) - [ROS-совместимый](https://github.com/orocos/rtt_ros2_integration) набор инструментов для управления роботами.
__Полевые испытания__: Собран компрессор с помощью 7-DOF KUKA LBR iiwa 14, pneumatic SCHUNK RH940 parallel gripper.
### Flexible Assembly through Integrated Assembly Sequence Planning and Grasp Planning - 2015
Ulrike Thomas, Theodoros Stouraitis, Maximo A. Roa (Germany)
__Исходные данные__: CAD-модель + база данных захватов для каждой детали в сборке
__Алгоритм__:
![](img/integrated_ASP_and_Grasp_Planning.jpg)
Сначала создаются карты для тестирования геометрической осуществимости (maps for the geometric feasibility tests) или `disassembly maps` по методу `Stereographical Projections of C-Space Obstacles` (стереографических проекций пространственных ограничений) автора U.Thomas, изложенному в [статье](https://ieeexplore.ieee.org/document/1217194) и уже применённой в исследовании 2010 года. Далее генерируются три типа графов: connectivity(liaison), force, hierarchy, из которых выводится AND/OR-граф. Далее `Grasp Planner` использует заранее подготовленную __базу данных захватов для каждой отдельной детали__ и фильтрует те вершины и рёбра `AND/OR-графа`, которые отсутствуют в доступных позициях захвата.
__Полевые испытания__: не проводились. Для симуляций применялся фреймворк `OpenRave` и конструкции из профилей.
### A novel Geometric feasibility method to perform assembly sequence planning through oblique orientations - 2021
Gulivindala Anil Kumar, M.V.A.Raju Bahubalendruni, V.S.S. Vara Prasad, Dara Ashok, K. Sankaranarayanasamy (India)
__Исходные данные__: CAD-модель
__Алгоритм__: акцент делается на методе получения матрицы геометрической доступности после liaison и stability матриц. Алгоритм называется `NASPM`:
![](img/geometric-feasibility-method-2012.jpg)
__Полевые испытания__: нет данных
### ASPW-DRL: assembly sequence planning for workpieces via a deep reinforcement learning approach - 2018
Minghui Zhao, Xian Guo, Xuebo Zhang and Yongchun Fang (China)
По мнению авторов часто используемые классы алгоритмов имеют следующие недостатки:
* Graph search - AND/OR - комбинаторный взрыв по мере увеличения количества деталей, специфичны к задаче и плохо обобщаются
* Knowledge-based - Domain/Problem Ontology - чувствительны к качеству базы знаний, плохо обобщаются
* Heuristic intelligent methods - Simulated annealing, Genetic algorithms, Neural nets - плохо обобщаются
__Исходные данные__: Подготовленная сцена в Gazebo
__Алгоритм__:
![](img/ASPW-DRL.jpg)
__Полевые испытания__: нет данных. Игрушечные модели в Gazebo
### Optimizing assembly sequence planning using precedence graph-based assembly subsets prediction method - 2019
Nan Zhang, Zhenyu Liu and Chan Qiu, Weifei Hu, Jianrong Tan (China)
В работе хорошее введение истории решения проблемы со ссылками.
__Исходные данные__: CAD-модель + `precedence graph` (граф приоритета), который как-то составляется инженером и задаёт приоритеты в порядке сборки деталей; подробности о precedence-графах изложены в работе Yong Wang, De Tian "[A weighted assembly precedence graph for assembly sequence planning](https://link.springer.com/article/10.1007/s00170-015-7565-5)"
__Алгоритм__: [Fireworks](https://en.wikipedia.org/wiki/Fireworks_algorithm)
__Полевые испытания__: нет данных. Замер эффективности алгоритма проводился по модели промышленного образца.
## Доступные программные реализации ASP
https://github.com/atulmishrachdi/AutomatedAssemblyPlanner

View file

@ -1,6 +1,6 @@
---
id: gripper-tools-research
title: 'Обзор устройств захвата для манипуляторов'
title: 'Устройства захвата'
---
## Популярные модели захватов

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View file

@ -1,6 +1,6 @@
---
id: machine-learning-in-robotics
title: 'Применение машинного обучения в робототехнике'
title: 'Машинное обучение'
---
![robolearning in VR](img/robo-learning-in-VR.jpg)

View file

@ -0,0 +1,8 @@
---
id: motion-planning
title: 'Планирование движений'
---
## Moveit2
![moveit2_architecture](img/moveit2_architecture.png)

View file

@ -1,10 +0,0 @@
---
id: moveit2
title: 'Moveit2 и как устроен'
---
## Moveit2
Кратко о текущем состоянии порта Moveit2
![moveit2_architecture](img/moveit2_architecture.png)

View file

@ -1,6 +1,6 @@
---
id: o2ac-repo-review
title: 'Команда o2ac есть чему поучиться'
title: 'O2AC Assembly Challenge 2021'
---
## Предыстория

View file

@ -18,7 +18,6 @@ module.exports = {
'autostorage',
'information/information_support',
'information/planner',
'techinstruction'
],
},
{
@ -26,14 +25,13 @@ module.exports = {
label: 'Технологии',
collapsed: false,
items: [
'technologies/photopolymer',
'technologies/wood',
'technologies/machine-learning-in-robotics',
'technologies/gripper-tools-research',
'technologies/o2ac-repo-review',
'technologies/moveit2',
'technologies/dds_and_ros2',
'technologies/plansys2'
'technologies/plansys2',
'technologies/ASP-overview',
'technologies/motion-planning',
'technologies/wood',
],
},
{
@ -50,7 +48,8 @@ module.exports = {
label: 'Переводы',
collapsed: false,
items: [
'papers/mania-beetz-self-training-with-vr-2019'
'papers/mania-beetz-self-training-with-vr-2019',
'technologies/dds_and_ros2',
],
},
{