Merge branch 'master' into 'dosc-programming'
# Conflicts: # sidebars.js
This commit is contained in:
commit
94cbe96e9a
10 changed files with 178 additions and 94 deletions
32
docs/motivation.md
Normal file
32
docs/motivation.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
id: motivation
|
||||
title: Мотивация
|
||||
---
|
||||
|
||||

|
||||
|
||||
Идея создания роботов, которые воспроизводят сами себя, занимает умы человечества с середины 20 века. Джон фон Нейман - отец-основатель информатики, был одним из первых, кто озадачился этим вопросом по серьёзному. Тем не менее, за прошедшие десятилетия, тема так и не вышла за рамки академических кругов. Все известные широкой публике [проекты](https://doi.org/10.1146/annurev-control-071819-010010) собирающих самих себя машин не нашли своего применения ни в промышленности, ни в повседневной жизни.
|
||||
|
||||
Вполне возможно, что это происходит по той причине, что самовоспроизводство не рассматривается с практической точки зрения - как технология, способная привнести ощутимый вклад улучшение качества жизни людей и общества. Эксперименты исследовательских ВУЗов лишь подкрепляют эту точку зрения.
|
||||
|
||||
В тоже время, коммерческие компании также не готовы прибегать к технологиями самовоспроизводства. Робототехнические комплексы не проектируются для автономной эксплуатации, а чрезмерная автоматизация несёт дополнительные риски. Развитие коллаборативных технологий ещё дальше смещает внимание компаний от такой постановки задачи.
|
||||
|
||||
То есть с одной стороны мы видим исключительно академические эксперименты, лишённые какой-либо прикладной ценности. С другой стороны мы наблюдаем за тем, как ведущие мировые компании избегают полностью автоматизировать производство.
|
||||
|
||||
В рамках проекта ___Robossembler___ мы постараемся разрешить это противоречие и использовать технологии самовоспроизводства для достижения практической пользы. На наш взгляд технологии самовоспроизводства действительно важны - они способны, например, обеспечить зачастую критически важную масштабируемость производственной системы (резко нарастить производство какого-то жизненно-важного для общества ресурса - например, респираторов).
|
||||
|
||||
## Предпосылки
|
||||
|
||||
Современные производственные системы (заводы, фабрики) представляют собой сложные программно-аппаратные комплексы, состоящие из большого количества компонентов с разной степенью взаимозависимости, которые разрабатываются, изготавливаются и поставляются разными компаниями. Глубокое разделение труда с одной стороны повышает качество, но с другой - затрудняет возможности интеграции компонентов в полностью автоматизированные надсистемы.
|
||||
В свою очередь, задача разработки автономных (_light's out_) или самовоспроизводящихся (_self-replication_) технических систем требует тесной интеграции данных жизненного цикла в рамках общего для всех его подсистем требования «безлюдности». Данное требование также налагает ряд существенных ограничений на дизайн всех компонентов системы и делает почти невозможным разработку и внедрение в рамках _отдельно взятой компании_. Даже наиболее автоматизированные отрасли промышленности (например, автомобильная) не могут уйти от ручного труда; в особенности на сборочных операциях.
|
||||
|
||||
Однако полностью автоматизированное производство обладает и рядом преимуществ, потому как позволяет достичь высокого синергетического эффекта за счёт отказа от
|
||||
* человеко-машинных интерфейсов и требований к эстетичности (в том числе специальная маркировка);
|
||||
* условий эксплуатации, адаптированных под человека (воздух, влажность, освещение, температура);
|
||||
* соблюдения стандартов безопасности, взаимозаменяемости в рамках существующей номенклатуры компонентов, ремонтопригодности.
|
||||
|
||||
То есть разработка подобного рода систем требует пересмотра многих компонентов технических систем и принципов производственного процесса, который в настоящее время ориентирован под сборку, наладку и эксплуатацию человеком.
|
||||
|
||||
Однако то, что невозможно для отдельно взятой компании, может быть возможным для международного движения open source. Открытость процесса разработки и документации посодействует непрерывной интеграции данных жизненного цикла подсистем, разрабатываемых отдельными командами, что затруднительно в условиях закрытых инжиниринговых фирм.
|
||||
|
||||
Также, современный уровень вычислительных систем на текущем этапе их развития делает возможным создание цифровых двойников (_digital twin_) производств, поведение которых в рамках симуляции может быть приближено к реальным физическим объектам. В перспективе станет возможным не дожидаться опытного производства, чтобы проверить какую-то гипотезу, а ограничиться физическим и имитационным моделированием. Разработчики не будут скованы ограничениями существующей компонентной базы и обусловленной этим инерцией мышления. Допустимо придумать всё с нуля — с учётом требования полной автоматизированности.
|
|
@ -1,57 +1,37 @@
|
|||
---
|
||||
title: О проекте Robossembler
|
||||
title: Рамки проекта
|
||||
slug: /
|
||||
---
|
||||

|
||||
|
||||
Идея создания роботов, которые воспроизводят сами себя, занимает умы человечества с середины 20 века. Джон фон Нейман - отец-основатель информатики, был одним из первых, кто озадачился этим вопросом по серьёзному. Тем не менее, за прошедшие десятилетия, тема так и не вышла за рамки академических кругов. Все известные широкой публике [проекты](https://doi.org/10.1146/annurev-control-071819-010010) собирающих самих себя машин не нашли своего применения ни в промышленности, ни в повседневной жизни.
|
||||
Цель проекта - создание ___симуляции___ автономной производственной линии, где роботы-манипуляторы собирают свои копии, осуществляют их наладку и ввод в эксплуатацию, чем достигается частичное самовоспроизводство. Проектирование _изначально автономной_ производственной системы позволит использовать материалы, технологии и условия эксплуатации, недопустимые для классических промышленных систем.
|
||||
|
||||
Вполне возможно, что это происходит по той причине, что самовоспроизводство не рассматривается с практической точки зрения - как технология, способная привнести ощутимый вклад улучшение качества жизни людей и общества. Эксперименты исследовательских ВУЗов лишь подкрепляют эту точку зрения.
|
||||
## Компоненты системы и их репозитории
|
||||
|
||||
В тоже время, коммерческие компании также не готовы прибегать к технологиями самовоспроизводства. Робототехнические комплексы не проектируются для автономной эксплуатации, а чрезмерная автоматизация несёт дополнительные риски. Развитие коллаборативных технологий ещё дальше смещает внимание компаний от такой постановки задачи.
|
||||
### Робот-манипулятор с 6-ю степенями свободы
|
||||
Роботы-манипуляторы Robossembler со сменными инструментами покрывают большой класс производственных задач. Они проектируются для автономной сборки и эксплуатации, поэтому к ним не предъявляются характерные для коллаборативных роботов требования безопасности, эстетичности и быстродействия.
|
||||
|
||||
То есть с одной стороны мы видим исключительно академические эксперименты, лишённые какой-либо прикладной ценности. С другой стороны мы наблюдаем за тем, как ведущие мировые компании избегают полностью автоматизировать производство.
|
||||
В проекте разрабатываются два варианта исполнения манипулятора:
|
||||
- [Манипулятор](https://gitlab.com/robosphere/roboarm) для изготовления с помощью литья в [прессформе](https://gitlab.com/robosphere/cnc/roboarm-link-mold). Звено данного манипулятора состоит из двух оригинальных [сервоприводов](https://gitlab.com/robosphere/servo) и производится методом заливки компаундом, перестановкой оснастки на позицию будущего звена и дальнейшей закладкой приводов и кабелей. Данное технологические решение позволяет избавиться от крепёжных, кабельных и ременных соединений, а также необходимости отдельно производить корпус. Материал компаунда подбирается таким образом, чтобы обеспечить оптимальный теплоотвод, дешевизну, удобную утилизацию и повторную переработку компонентов манипулятора. Типы компаунда могут варьироваться в зависимости от нагрузок на конкретные разновидности звеньев.
|
||||
- [Манипулятор](https://gitlab.com/robosphere/roboarm-diy-version) для изготовления с помощью 3D-печати. Используются серийно изготавливаемые приводы GM6208 с оригинальным редуктором.
|
||||
|
||||
В рамках проекта ___Robossembler___ мы постараемся разрешить это противоречие и использовать технологии самовоспроизводства для достижения практической пользы. На наш взгляд технологии самовоспроизводства действительно важны - они способны, например, обеспечить зачастую критически важную масштабируемость производственной системы (резко нарастить производство какого-то жизненно-важного для общества ресурса - например, респираторов).
|
||||
|
||||
## Предпосылки
|
||||
|
||||
Современные производственные системы (заводы, фабрики) представляют собой сложные программно-аппаратные комплексы, состоящие из большого количества компонентов с разной степенью взаимозависимости, которые разрабатываются, изготавливаются и поставляются разными компаниями. Глубокое разделение труда с одной стороны повышает качество, но с другой - затрудняет возможности интеграции компонентов в полностью автоматизированные надсистемы.
|
||||
В свою очередь, задача разработки автономных (_light's out_) или самовоспроизводящихся (_self-replication_) технических систем требует тесной интеграции данных жизненного цикла в рамках общего для всех его подсистем требования «безлюдности». Данное требование также налагает ряд существенных ограничений на дизайн всех компонентов системы и делает почти невозможным разработку и внедрение в рамках _отдельно взятой компании_. Даже наиболее автоматизированные отрасли промышленности (например, автомобильная) не могут уйти от ручного труда; в особенности на сборочных операциях.
|
||||
|
||||
Однако полностью автоматизированное производство обладает и рядом преимуществ, потому как позволяет достичь высокого синергетического эффекта за счёт отказа от
|
||||
* человеко-машинных интерфейсов и требований к эстетичности (в том числе специальная маркировка);
|
||||
* условий эксплуатации, адаптированных под человека (воздух, влажность, освещение, температура);
|
||||
* соблюдения стандартов безопасности, взаимозаменяемости в рамках существующей номенклатуры компонентов, ремонтопригодности.
|
||||
|
||||
То есть разработка подобного рода систем требует пересмотра многих компонентов технических систем и принципов производственного процесса, который в настоящее время ориентирован под сборку, наладку и эксплуатацию человеком.
|
||||
|
||||
Однако то, что невозможно для отдельно взятой компании, может быть возможным для международного движения open source. Открытость процесса разработки и документации посодействует непрерывной интеграции данных жизненного цикла подсистем, разрабатываемых отдельными командами, что затруднительно в условиях закрытых инжиниринговых фирм.
|
||||
|
||||
Также, современный уровень вычислительных систем на текущем этапе их развития делает возможным создание цифровых двойников (_digital twin_) производств, поведение которых в рамках симуляции может быть приближено к реальным физическим объектам. В перспективе станет возможным не дожидаться опытного производства, чтобы проверить какую-то гипотезу, а ограничиться физическим и имитационным моделированием. Разработчики не будут скованы ограничениями существующей компонентной базы и обусловленной этим инерцией мышления. Допустимо придумать всё с нуля — с учётом требования полной автоматизированности.
|
||||
|
||||
## Рамки проекта
|
||||
|
||||
Мы начнём с конца, а именно с процесса сборки, с автоматизацией которого есть проблемы даже у самых технологичных производителей.
|
||||
|
||||
Мы создадим _цифровую модель_ производственной линии, где роботы-манипуляторы собирают свои копии и сразу же вводят их в работу, чем и достигается частичное самовоспроизводство. Манипуляторы покрывают довольно большой класс производственных задач при наличии разнообразного сменного инструмента, их сборка до сих пор слабо автоматизирована даже у ведущих производителей. Мы покажем каким образом требование "безлюдности" позволит это осуществить.
|
||||
|
||||
Наш подход отличается от подходов современных производителей манипуляторов тем, что мы будем создавать _изначально автономную систему_, где не предполагается присутствие человека. Мы будем использовать материалы, технологии и условия эксплуатации, которые могут быть недопустимы для неавтономных промышленных систем. После ввода в эксплуатацию производственная линия будет самостоятельно собирать изделия, осуществлять их наладку и ввод в эксплуатацию. Таким образом, при наличии достаточного количества поступающих на вход линии комплектующих, линия будет непрерывно наращивать свой производственный потенциал.
|
||||
|
||||
Звенья манипулятора будут обладать следующими свойствами:
|
||||
|
||||
1. Конструкция обеспечивает максимальное использование пространства вокруг робота, что хорошо для автономных систем, оперирующих в небольшом объёме, и для совместной сборки несколькими роботами;
|
||||
2. Кабельные и ременные соединения сложны в монтаже, поэтому конструкция манипулятора не будет их предусматривать; вместо этого мы будем стремиться к созданию кабелей-стержней, вмонтированных в роторы моторов;
|
||||
3. Не учитываются требования безопасности и эстетичности (которые соблюдаются для коллаборативных роботов).
|
||||
|
||||
Роботы-манипуляторы будут оснащаться рабочими столами - местами, где будет осуществляться сборка. Столы будут обеспечивать:
|
||||
|
||||
1. Легкое подключение к нему оснований манипуляторов с помощью специальных надёжных электрических разъемов, которые предстоит разработать;
|
||||
### Рабочий стол
|
||||
Роботы-манипуляторы оснащаются [рабочими столами](https://gitlab.com/robosphere/cnc/roboarm-workspace) - местами, где будет осуществляться сборка и другие технологические операции. Рабочий стол имеет форму пчелиной соты и содержит в себе вычислительный узел для управления рабочим местом.
|
||||
Столы будут обеспечивать:
|
||||
1. Легкое подключение к ним манипуляторов с помощью специальных надёжных электрических разъемов;
|
||||
2. Электропитание и управление - рабочий стол будет включать в себя систему управления для всех подключаемых к нему манипуляторов;
|
||||
3. Столы будут подключаться друг к другу, образуя связанную локальной сетью большую производственную линию, где будет возможна организация конвейеров.
|
||||
3. Подключение к себе других рабочих столов для создания связанной локальной сети и производственной линии.
|
||||
|
||||
Простота реализации сборки будет достигнута благодаря формовке корпусов с помощью компаунда. Мы избавимся от крепежа и необходимости производить отдельно корпус. Материал компаунда можно подобрать таким образом, чтобы обеспечить оптимальный теплоотвод, дешевизну (без оглядки на безопасность для человека), удобную утилизацию и повторную переработку компонентов манипулятора. Например, вспененный полимер на основе кремнезёма(не нефтепродукт). Его легко растворять, склеивать - неисправные манипуляторы будут погружаться в растворитель и разбираться на комплектующие без ущерба для них самих.
|
||||
|
||||
## Совершенствование методов разработки
|
||||
### Приспособления манипулятора
|
||||
Все приспособления монтируются к манипулятору через [стыковочный интерфейс](https://gitlab.com/robosphere/arm-tools/connection-tool). Для смены и хранения двух и более приспособлений используется [Библиотека приспособлений](https://gitlab.com/robosphere/arm-tools/tools-library), к которой в дальнейшем будут присоединяться узлы подачи материалов.
|
||||
|
||||
Разработка самовоспроизводящейся системы, в силу её сложности, потребует вовлечения большого количества людей, новых инженерных решений и интенсивного процесса управления данными жизненного цикла(PLM). Указанная выше модель частично самовоспроизводящейся фабрики может послужить полигоном для отработки открытых децентрализованных методов проектирования и в перспективе обеспечить достаточное для реализации грандиозных проектов масштабирование. Разработка отдельных узлов может вестись отдельными независимыми командами, а интеграция данных жизненного цикла разработки этих узлов может осуществляться через публичную распределённую базу данных. Для взаимодействия разработчиков и существующих в реальности капиталоёмких кибер-физических систем с целью изготовления прототипов или проведения испытаний может использоваться платформа Robonomics, в которой будут публиковаться заказы на изготовление/испытание деталей/сборок/изделий и с помощью сети маяков подбираться наиболее выгодные предложения по воплощению. Это позволит опробовать механизм коммуникации между отдельными парачейнами в рамках экосистемы Polkadot, где парачейн Robonomics выступит шлюзом между идеальным миром моделей разработчиков и реальным миром кибер-физических систем. Постепенно взаимодействие этих миров поспособствует выстроить оптимальную траекторию от имеющихся возможностей к идеальному желаемому результату.
|
||||
Полный перечень приспособлений
|
||||
- [Механический захват](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)
|
||||
|
||||
Рабочий стол и подключённые к нему манипуляторы с приспособлениями формируют Автоматизированное рабочее место (АРМ), которое может быть объединено с другими рабочими местами, формируя сложные производственные комплексы. Конфигурация конкретного АРМ формируется исходя из требований к производственному процессу.
|
|
@ -5,60 +5,38 @@ title: 'Технологическая инструкция по сборке'
|
|||
|
||||
## Компоненты системы
|
||||
|
||||
### Автоматическое рабочее место (АРМ)
|
||||
Главная рабочая единица: рабочий стол + 2 и более роботов манипуляторов, может иметь адаптер станков. Может быть объединена с другими комплексами рабочего места.
|
||||
### Адаптер станков
|
||||
Выносной интерфейс, соединяющий АРМ с ЧПУ станками, имеет так же адаптер для робота манипулятора для обслуживания ЧПУ станка.
|
||||
### Робот манипулятор 5-7 DoF (в базовом варианте 7)
|
||||
Самостоятельная рабочая единица, может работать как над персональным заданием, так и в составе АРМ, в том числе посредством Адаптера станков при ЧПУ станке.
|
||||
### Робот манипулятор
|
||||
Сейчас существуют два варианта исполнения манипулятора:
|
||||
- [Манипулятор для изготовления с помощью литья в прессформе](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 пилонов по граням, сложный в полноцикловом режиме воспроизводства
|
||||
### Сверхманевренное шасси
|
||||
Могут быть различных конструкций, и применяться как в составе тележки, так индивидуально для синхронного перемещения 1, или нескольких АРМ в сборе.
|
||||
### Управляющие программы (УП)
|
||||
### Станки с числовым программным управлением
|
||||
### Аккумуляторная батарея
|
||||
Ключевой элемент АРМ и его основная управляющая единица. Содержит в себе вычислительный узел. Имеет форму пчелиной соты и 6 пилонов по граням.
|
||||
- [Рабочий стол для манипуляторов и транспортных модулей](https://gitlab.com/robosphere/cnc/roboarm-workspace).
|
||||
|
||||
### Приспособления манипулятора
|
||||
Все приспособления монтируются к манипулятору через [стыковочный интерфейс](https://gitlab.com/robosphere/arm-tools/connection-tool). Модуль стыковки имеет выводы для управления инструментом по CAN/RS485 шине и выводы питания инструмента на торце. В середине торца, по оси мотора имеется подвижный (втягиваемый) штырь для фиксации инструментов на Роботе-манипуляторе и специальный рельеф для центровки инструмента при фиксации.
|
||||
|
||||
- [Модуль механического захвата](https://gitlab.com/robosphere/arm-tools/grip-tool), 2 прорезиненных пальца, с полукруглым охватом посередине и определёнными выступами - замками на концах.
|
||||
- Захват Механический должен расходиться в стороны не менее чем на 80мм
|
||||
- Усилие смыкания не должно быть меньше 2Кгс
|
||||
- Форма губ должна содержать:
|
||||
1. треугольную продольную канавку для удержания кабелей толщиной более 1,2мм
|
||||
2. низких(менее1мм) конических зубца со стальным наконечником и цилиндрическим основанием для надёжного удерживания приводов за спец. места и арматурных (строповочных) петель для удержания оснасток и оснований
|
||||
3. Основная плоскость захвата механического должна быть покрыта фрикционным тонким покрытием, допускающим упругую деформацию не более 0,5мм
|
||||
Для хранения двух и более приспособлений, а также их смены, используется [Библиотека приспособлений](https://gitlab.com/robosphere/arm-tools/tools-library), к которой в дальнейшем будут присоединяться узлы подачи материала.
|
||||
|
||||
- [Модуль печатающий](https://gitlab.com/robosphere/arm-tools/3d-print-tool), печатающая головка 3D принтера, адаптированная для применения Робот-манипулятор.
|
||||
- Печатающий модуль состоит из быстросменного сопла, нагреваемой трубки, подающего модуля и сменного картриджа с пластиковой нитью определённой длины (длина рассчитана под конкретный объём печати)
|
||||
- Подача пластика должна быть регулируемой, а подающий модуль – компактным, приводы должны быть либо BLDC(рекомендовано), либо шаговые моторы.
|
||||
- Основной пластик – АБС, PVA, их электропроводимые вариации
|
||||
Полный перечень репозиториев с приспособлениями манипулятора
|
||||
- [Механический захват](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)
|
||||
|
||||
- [Модуль подачи компаунда](https://gitlab.com/robosphere/arm-tools/). Форсунка с пассивным смесителем компонентов компаунда, переключаемое на полимерный клей. Применяется для заливки корпусов.
|
||||
- Модуль содержащий 2 реагента и вспениватель, смешиваемых в сопле, которое проворотом переключается на пропитывающий полимер
|
||||
- 1 конусообразное сопло с приводом, длиной 1 см
|
||||
- 4 трубки, ведущие к перезаправляемым баллонам и насосу.
|
||||
|
||||
- [Модуль паяльный](https://gitlab.com/robosphere/arm-tools/soldering-tool) с щупом(паяльник с возможностью проводить электротестирование; Тонкий, длинный, с керамическим нагревателем и металлической двуслойной оболочкой для дозированного смачивания жала паяльника припоем; рабочая температура до 400C)
|
||||
### Автоматизированное рабочее место (АРМ)
|
||||
Рабочий стол и манипуляторы с приспособлениями формируют Автоматизированное рабочее место (АРМ), которое может быть объединено с другими рабочими местами, формируя сложные производственные комплексы.
|
||||
|
||||
- [Модуль сварки](https://gitlab.com/robosphere/arm-tools/welding-tool), головка сварочного автомата подающая и фиксирующая проволоку. Проволока подаётся от самого автомата, который является трудноперемещаемой оснасткой.
|
||||
|
||||
- Податчик проволоки D1-2мм
|
||||
- Встроенный модуль отрезания проволоки
|
||||
- Узкий и острый: рабочий наконечник и сопло
|
||||
- Быстросменный наконечник
|
||||
- Возможность варьирования режима работы от пайки до сварки и электроэрозии
|
||||
|
||||
- [Модуль стыковки](https://gitlab.com/robosphere/arm-tools/connection-tool), последнее звено при производстве Робота-манипулятор. Является механизмом, вмещающим привод поворота по своей оси небольшой мощности с редуктором и контроллером, и привод втягивания крепёжного штыря. модуль стыковки имеет выводы для управления инструментом по CAN шине и выводы питания инструмента на торце. В середине торца, по оси мотора имеется подвижный (втягиваемый) штырь для фиксации инструментов на Роботе-манипуляторе и специальный рельеф для центровки инструмента при фиксации.
|
||||
|
||||
### Звено
|
||||
|
||||
- сборка 2х [приводов](https://gitlab.com/robosphere/servo) в составе корпуса, есть 2 основных типа звеньев, которые производятся в порядке очереди, методом заливки корпуса, его застыванием, и перестановкой оснастки на позицию будущего звена и дальнейшей закладкой приводов и кабелей, и заливкой, шаг за шагом.
|
||||
|
||||
### Кабели
|
||||
|
||||
Объёмные или плоскостные структуры из одножильной проволоки. Проволока выбирается сварочной легированной и омеднённой сталью, поставляется рулонами. Также это может быть сложная 3D деталь — слабопроводящий пластик напечатанный с растворимой поддержкой и нерастворимым каркасом. Потом гальванически обращенный медью, никелем, оловом до нужной толщины. Лишний пластик можно отжечь, но на малых токах медь и так осаждается в неплохой проводник. В целом, технология гальванпластики очень хорошо совместима с 3д печатью. Так осаждают и железо (я сам немножко пробовал), оно получается твердым, царапает обычное железо. Это, конечно, не из-за углерода, которого там нет, а из-за водорода. Обычно это считается недостатком и процесс ведут либо на малом токе, либо потом отжигают продукт примерно при 400С. Тогда водород уходит и железо получается столь мягким,что в I мировую войну им заменяли дефицитную медь для поясков снарядов.
|
||||
Корпус - отвердевший компаунд, связавший собой исполнительные механизмы, приводы, основания. Несёт на себе защитные и конструктивные функции. Может иметь внешнюю оболочку напечатанной из полимеров, или не иметь её и быть просто пористым прочным телом, для повышения прочности пористое тело пропитывается сверхтекучими полимерами.
|
||||
Корпус и кабели входят в состав звена.
|
||||
Корпус - отвердевший компаунд, связавший собой исполнительные механизмы, приводы, основания. Несёт на себе защитные и конструктивные функции. Может иметь внешнюю оболочку напечатанной из полимеров, или не иметь её и быть просто пористым прочным телом, для повышения прочности пористое тело пропитывается сверхтекучими полимерами. Корпус и кабели входят в состав звена.
|
||||
|
||||
### Компаунд
|
||||
|
||||
|
@ -220,7 +198,7 @@ title: 'Технологическая инструкция по сборке'
|
|||
|
||||
Применяются: 1 Робот-манипулятор + 1 модуль печатающий, расходный материал: АБС, обычная 3Dпечать, компаундооталкивающий состав.
|
||||
|
||||
Процесс: 3D печать 2х частей формы по УП. Количество деталей формы может быть увеличено до 3х основных формообразующих + 2 направляющих + 2 замка, чтоб роботам можно было проще(и качественнее) паять кабельные трассы. Затем робот при помощи МЗ и кисточки покрывает формообразующие поверхности вязким и клейким на первых порах составом(аналог - герметик)
|
||||
Процесс: 3D печать 2х частей формы по управляющей программе. Количество деталей формы может быть увеличено до 3х основных формообразующих + 2 направляющих + 2 замка, чтоб роботам можно было проще(и качественнее) паять кабельные трассы. Затем робот при помощи МЗ и кисточки покрывает формообразующие поверхности вязким и клейким на первых порах составом(аналог - герметик)
|
||||
|
||||
#### 11. Подготовка оснастки литья корпуса звена
|
||||
|
||||
|
|
BIN
docs/technologies/img/action.png
Normal file
BIN
docs/technologies/img/action.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
BIN
docs/technologies/img/action_execution_flow.png
Normal file
BIN
docs/technologies/img/action_execution_flow.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 130 KiB |
BIN
docs/technologies/img/action_execution_flow_example.png
Normal file
BIN
docs/technologies/img/action_execution_flow_example.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 94 KiB |
BIN
docs/technologies/img/behaviour_tree_from_pddl.png
Normal file
BIN
docs/technologies/img/behaviour_tree_from_pddl.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 37 KiB |
BIN
docs/technologies/img/plansys2_architecture.png
Normal file
BIN
docs/technologies/img/plansys2_architecture.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 150 KiB |
88
docs/technologies/plansys2.md
Normal file
88
docs/technologies/plansys2.md
Normal file
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
id: plansys2
|
||||
title: 'PlanSys2'
|
||||
---
|
||||
|
||||
[PlanSys2](https://github.com/IntelligentRoboticsLabs/ros2_planning_system) - это система планирования для ROS2 от создателей ROSPlan (система планирования для ROS1). PlanSys2 не ограничивается планированием в рамках одного устройства, а поддерживает распределение задач между _многими взаимодействующими агентами_ в реальном времени. Исполнение планов реализовано на базе _Деревьев поведения_.
|
||||
|
||||
Планы и задачи описываются на Lisp-подобном языке PDDL (Planning Domain Definition Language). Согласно спецификации PDDL содержит следующие базовые сущности планируемой задачи:
|
||||
* __Объекты__ (Objects)
|
||||
* __Свойства__ (Predicates) объектов (True/False).
|
||||
* __Начальное состояние__ (Initial state)
|
||||
* __Спецификация целей__ (Goal specification): то, что мы хотим, чтобы было правдой
|
||||
* __Действия/Операторы__ (Actions/Operators): способы изменения состояния мира.
|
||||
|
||||
PlanSys2 поддерживает PDDL версии 2.1, тогда как последняя версия PDDL - 3.1.
|
||||
|
||||
## Архитектура фреймворка
|
||||
|
||||
Архитектура PlanSys2 модульная и каждый отдельный компонент может быть заменён.
|
||||
|
||||

|
||||
|
||||
Описание компонентов
|
||||
* __Planner Node__ - основной узел. Содержит алгоритм планирования и использует разные т.н. plan solvers - POPF, TFD. При генерации планов Planner Node обращается к узлам Domain Expert и Problem Expert, содержащими описания соответствующих предметным областям в формате PDDL.
|
||||
* __Domain Expert__ считывает PDDL-файлы и размещает их во внутренней памяти. Этот компонент содержит общее описание предметной области.
|
||||
* __Problem Expert__ содержит описание проблемы(задачи), которую нужно решить, включая конкретные экземпляры классов, предикаты, функции и цели, которые валидируются Domain Expert. то есть Problem Expert содержит динамическое знание приложения. Этот узел создаёт описания задач для Planner Node в формате PDDL.
|
||||
* __Executor Node__ запрашивает у Planner Node план и, если тот существует, то выполняет его. План превращается в _Дерево поведения (Behaviour Tree)_. Для исполнения действий используется протокол аукциона, который выбирает наиболее подходящий узел, реализующий выполняемое действие.
|
||||
* __Applications__ - приложения роботов, использующие PlanSys2. Содержат узлы, реализующие действия(__Actions__), и модель PDDL, которая их реализует. Любое приложение также включает в себя узел Controller Node, который
|
||||
обращается к знаниям Problem Expert для консультаций и установления экземпляров, предикатов и целей. Этот контроллер также запрашивает Executor Node для выполнения или отмены планов.
|
||||
* __Terminal__ - среда исполнения команд для управления и мониторинга PlanSys2.
|
||||
* Визуализирует структуру сущностей PDDL и информацию Problem Expert.
|
||||
* Показывает подробности о свойствах и действиях в терминах PDDL.
|
||||
* Устанавливает и удаляет экземпляры, свойства, функции и цели.
|
||||
* Визуализирует, исполняет и отслеживает планы.
|
||||
* Проверяет статус узлов, исполняющих действия.
|
||||
|
||||
|
||||
## Пример сборки автомобиля тремя роботами
|
||||
|
||||
Сначала формируется план в PDDL-формате:
|
||||
|
||||
```
|
||||
0 (move rb1 assembly_zone body_car_zone)
|
||||
0 (move rb2 assembly_zone steerwheel_zone)
|
||||
0 (move rb3 assembly_zone wheels_zone)
|
||||
5.001 (transport rb1 bc_1 body_car_zone assembly_zone)
|
||||
5.001 (transport rb2 stwhl_1 steerwheel_zone assembly_zone)
|
||||
5.001 (transport rb3 whl_1 wheels_zone assembly_zone)
|
||||
10.002 (assemble rb1 assembly_zone whl_1 bc_1 stwhl_1 car_1)
|
||||
10.002 (move rb2 assembly_zone body_car_zone)
|
||||
10.002 (move rb3 assembly_zone steerwheel_zone)
|
||||
15.003 (move rb1 assembly_zone wheels_zone)
|
||||
15.003 (transport rb2 bc_2 body_car_zone assembly_zone)
|
||||
15.003 (transport rb3 stwhl_2 steerwheel_zone assembly_zone)
|
||||
20.004 (transport rb1 whl_2 wheels_zone assembly_zone)
|
||||
20.004 (move rb3 assembly_zone body_car_zone)
|
||||
25.005 (assemble rb2 assembly_zone whl_2 bc_2 stwhl_2 car_2)
|
||||
25.005 (move rb1 assembly_zone steerwheel_zone)
|
||||
25.005 (transport rb3 bc_3 body_car_zone assembly_zone)
|
||||
30.006 (move rb2 assembly_zone wheels_zone)
|
||||
30.006 (transport rb1 stwhl_3 steerwheel_zone assembly_zone)
|
||||
35.007 (transport rb2 whl_3 wheels_zone assembly_zone)
|
||||
40.008 (assemble rb1 assembly_zone whl_3 bc_3 stwhl_3 car_3)
|
||||
```
|
||||
Данный план преобразуется в Дерево поведения, где заданы узлы для параллельного и последовательного выполнения задач:
|
||||
|
||||

|
||||
|
||||
Структура отдельного действия:
|
||||
|
||||

|
||||
|
||||
При определении порядка исполнения плана используется т.н. _Аукцион действий (action auction)_. Когда наступает очередь для выполнения действия (например, из схемы выше), формируется новая запись _ActionPerformerClient_ в таблице _ActionMap_.
|
||||
|
||||

|
||||
|
||||
Протокол работает так:
|
||||
* Когда ActionPerformerClient запись создана, посылается сообщение-запрос с описанием действия и его параметров
|
||||
* Ноды, находящиеся в состоянии ожидания и способные выполнить этот запрос, отвечают, подтверждая или отвергая данный запрос
|
||||
* После подтверждения ноды приступают к исполнению
|
||||
* Периодически ноды отправляют сообщения с обратной связью о действиях, которые они исполняют.
|
||||
|
||||
Пример:
|
||||

|
||||
|
||||
## Симуляция и полевые испытания
|
||||
|
||||
PlanSys2 был проверен сначала в симуляции, а потом и на реальной системе, состоящей из 3-ёх роботов. Исходные коды проекта опубликованы на [Github](https://github.com/IntelligentRoboticsLabs/plansys2_cooking_experiment).
|
16
sidebars.js
16
sidebars.js
|
@ -1,14 +1,13 @@
|
|||
module.exports = {
|
||||
module.exports = {
|
||||
docs: [
|
||||
{
|
||||
type: 'category',
|
||||
label: 'Общая информация',
|
||||
collapsed: false,
|
||||
items: [
|
||||
'motivation',
|
||||
'robossembler-overview',
|
||||
'plan',
|
||||
'replication',
|
||||
'mining'
|
||||
'plan'
|
||||
],
|
||||
},
|
||||
{
|
||||
|
@ -31,9 +30,14 @@
|
|||
'technologies/wood',
|
||||
'technologies/machine-learning-in-robotics',
|
||||
'technologies/gripper-tools-research',
|
||||
<<<<<<< sidebars.js
|
||||
'technologies/o2ac-repo-review',
|
||||
'technologies/moveit2.md',
|
||||
'technologies/dds_and_ros2.md'
|
||||
'technologies/dds_and_ros2.md',
|
||||
'technologies/plansys2'
|
||||
=======
|
||||
'technologies/plansys2'
|
||||
>>>>>>> sidebars.js
|
||||
],
|
||||
},
|
||||
{
|
||||
|
@ -58,6 +62,8 @@
|
|||
label: 'Разное',
|
||||
collapsed: false,
|
||||
items: [
|
||||
'replication',
|
||||
'mining',
|
||||
'glossary',
|
||||
'analogy',
|
||||
],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue