Прелести сборки современных индустриальных манипуляторов
Вашему вниманию предоставляю медитативное time-lapse видео от отечественной инженерной фирмы с процессом сборки сварочного робота. Ручная работа как она есть. Безнадёга.
Но ребята прикольные. Разработали и сделали свою модель робота. Уважение!
#assembly #manual #welding #robot
https://www.youtube.com/watch?v=hTNMBZWPmCI
Вашему вниманию предоставляю медитативное time-lapse видео от отечественной инженерной фирмы с процессом сборки сварочного робота. Ручная работа как она есть. Безнадёга.
Но ребята прикольные. Разработали и сделали свою модель робота. Уважение!
#assembly #manual #welding #robot
https://www.youtube.com/watch?v=hTNMBZWPmCI
YouTube
СБОРКА ВЕРХНЕГО ПЛЕЧА ПРОМЫШЛЕННОГО РОБОТА
Наконец то все детали готовы и можно приступить к окончательной сборке верхнего плеча нашего самодельного промышленного робота
Channel name was changed to «Robossembler - Открытая робототехника»
Blech - язык программирования для сверх-надёжных приложений
Подразделение Bosch Research одноимённой компании разрабатывает с 2019 года новый язык программирования, ориентированный для приложений реального времени (читай embedded-систем). По мнению авторов другие языки, решающие своими методами проблемы безопасности языка Си, такие как Ada, C ++ или Rust являются языками общего назначения, которые улучшают только определенные аспекты программирования и не снижают сложность встроенных приложений. Краеугольными камнями Blech являются его модель вычислений (MoC) и простая интеграция с C.
Компилятор написан на функциональном языке F# и генерирует чистый код C.
#embedded #blech #bosch #programming
https://www.blech-lang.org/blog/2020/05/27/the-purpose-of-blech
Подразделение Bosch Research одноимённой компании разрабатывает с 2019 года новый язык программирования, ориентированный для приложений реального времени (читай embedded-систем). По мнению авторов другие языки, решающие своими методами проблемы безопасности языка Си, такие как Ada, C ++ или Rust являются языками общего назначения, которые улучшают только определенные аспекты программирования и не снижают сложность встроенных приложений. Краеугольными камнями Blech являются его модель вычислений (MoC) и простая интеграция с C.
Компилятор написан на функциональном языке F# и генерирует чистый код C.
#embedded #blech #bosch #programming
https://www.blech-lang.org/blog/2020/05/27/the-purpose-of-blech
Blech
The purpose of Blech
Blech is a new language that aims to substantially boost productivity and the quality of applications in the embedded, reactive, safety- and realtime-critical domain. Referred to in short as the *embedded domain*.
Вот такие уязвимости бывают в ПЛК Schneider Modicon
Новость от 13 июля 2021 года, но в целом интересно.
Исследователи Armis обнаружили новую уязвимость (CVE-2021-22779) в ПЛК Modicon Schneider Electric (SE), которая обходит механизмы безопасности, добавленные к этим ПЛК, для предотвращения злоупотребления недокументированными командами Modbus. Эти недокументированные команды могут позволить полный контроль над ПЛК - перезапись критических областей памяти, утечка конфиденциального содержимого памяти или вызов внутренних функций. Исследователи Armis обнаружили, что эти команды могут использоваться для управления ПЛК и выполнения нативного кода на устройстве, который можно использовать для изменения работы ПЛК, скрывая изменения от рабочей станции инженера, которая управляет ПЛК. Эта атака представляет собой атаку без аутентификации, для которой требуется только сетевой доступ к целевым ПЛК.
Ну, Вы поняли... запустить любой код через сеть без аутентификации. Воистину кровавый энтерпрайз.
Как я всегда говорил и буду говорить, что open source - это не какая-то левацкая блажь, а средство обеспечения качества и безопасности на таком уровне, который не может себе позволить ни одна, даже самая выдающаяся компания. Сейчас внутри этих компаний из мира промышленной автоматизации Вы несомненно столкнётесь с насмешками в отношении открытого софта по поводу его качества и быстродействия, но, поверьте, пройдёт время и контроллеры с закрытыми исходниками будут неизбежно вытеснены с рынка, а качество этого софта будет определяться количеством контрибьюторов и открытых аудитов.
https://www.armis.com/research/modipwn/
Новость от 13 июля 2021 года, но в целом интересно.
Исследователи Armis обнаружили новую уязвимость (CVE-2021-22779) в ПЛК Modicon Schneider Electric (SE), которая обходит механизмы безопасности, добавленные к этим ПЛК, для предотвращения злоупотребления недокументированными командами Modbus. Эти недокументированные команды могут позволить полный контроль над ПЛК - перезапись критических областей памяти, утечка конфиденциального содержимого памяти или вызов внутренних функций. Исследователи Armis обнаружили, что эти команды могут использоваться для управления ПЛК и выполнения нативного кода на устройстве, который можно использовать для изменения работы ПЛК, скрывая изменения от рабочей станции инженера, которая управляет ПЛК. Эта атака представляет собой атаку без аутентификации, для которой требуется только сетевой доступ к целевым ПЛК.
Ну, Вы поняли... запустить любой код через сеть без аутентификации. Воистину кровавый энтерпрайз.
Как я всегда говорил и буду говорить, что open source - это не какая-то левацкая блажь, а средство обеспечения качества и безопасности на таком уровне, который не может себе позволить ни одна, даже самая выдающаяся компания. Сейчас внутри этих компаний из мира промышленной автоматизации Вы несомненно столкнётесь с насмешками в отношении открытого софта по поводу его качества и быстродействия, но, поверьте, пройдёт время и контроллеры с закрытыми исходниками будут неизбежно вытеснены с рынка, а качество этого софта будет определяться количеством контрибьюторов и открытых аудитов.
https://www.armis.com/research/modipwn/
Armis
ModiPwn
A critical vulnerability in Schneider Electric Modicon PLCs can lead to remote-code-execution attacks. Learn how Armis can help with your mitigation efforts.
Уровни качества пакетов программ для роботов
В экосистеме Robot Operating System в 2019 была разработана и работает по сей день система качества пакетов программного обеспечения, которая описывает пять уровней качества. Среди рассматриваемых свойств, влияющих на оценку уровня являются:
- политика версионирования;
- публично описанный API;
- документация, описывающая каждую фичу данного ПО;
- описанный процесс управления изменениями (оформление запросов на слияние, непрерывная интеграция);
- степень "покрытости" системными, интеграционными и юнит тестами по каждой из заявленных функций;
- описанный стиль кодирования;
- поддержка разнообразных аппаратных платформ ROS;
- политику обнаружения уязвимостей
- и многое другое (всего 32 пункта)
Первый уровень качества требует соответствие по всем 32 пунктам, второй -25, третий - 18, четвёртый - 6. Ну а чтобы соответствовать самому низкому 5-ому уровню качества, нужен один пункт - должна быть заявлена лицензия.
https://ros.org/reps/rep-2004.html
В экосистеме Robot Operating System в 2019 была разработана и работает по сей день система качества пакетов программного обеспечения, которая описывает пять уровней качества. Среди рассматриваемых свойств, влияющих на оценку уровня являются:
- политика версионирования;
- публично описанный API;
- документация, описывающая каждую фичу данного ПО;
- описанный процесс управления изменениями (оформление запросов на слияние, непрерывная интеграция);
- степень "покрытости" системными, интеграционными и юнит тестами по каждой из заявленных функций;
- описанный стиль кодирования;
- поддержка разнообразных аппаратных платформ ROS;
- политику обнаружения уязвимостей
- и многое другое (всего 32 пункта)
Первый уровень качества требует соответствие по всем 32 пунктам, второй -25, третий - 18, четвёртый - 6. Ну а чтобы соответствовать самому низкому 5-ому уровню качества, нужен один пункт - должна быть заявлена лицензия.
https://ros.org/reps/rep-2004.html
Симуляция сборки "на ощупь" с помощью UR5
На видео демонстрируется симуляция решения задачи вставки шрифта и корпуса подшипника в отверстие монтажной пластины, используя датчик силы, встроенный в манипулятор UR5 и захват Robotiq 2F-140. То есть финальный поиск отверстия для вставки осуществлялся без использования машинного зрения.
Также был произведён т.н. sim2real transfer - перенос задачи в реальную среду, который остался не отснятым, так как парень не смог попасть в лабораторию из-за локдауна. Как описано в репозитории, при сборке на реальном стенде усилия оказались выше, чем в модели и шрифт выкручивался.
Ссылка на исходный код в описании к видео.
https://www.youtube.com/watch?v=F9nsdSvd_QM
На видео демонстрируется симуляция решения задачи вставки шрифта и корпуса подшипника в отверстие монтажной пластины, используя датчик силы, встроенный в манипулятор UR5 и захват Robotiq 2F-140. То есть финальный поиск отверстия для вставки осуществлялся без использования машинного зрения.
Также был произведён т.н. sim2real transfer - перенос задачи в реальную среду, который остался не отснятым, так как парень не смог попасть в лабораторию из-за локдауна. Как описано в репозитории, при сборке на реальном стенде усилия оказались выше, чем в модели и шрифт выкручивался.
Ссылка на исходный код в описании к видео.
https://www.youtube.com/watch?v=F9nsdSvd_QM
YouTube
Force Control Assembly with UR5 Robot in ROS Gazebo Simulation
https://github.com/jhaardt/wrs
Using Force Control to find the mounting hole in the mounting plate and assemble a Pin into it, utilizing a simulated ROS Gazebo environment.
The project included the same process using a real Universal Robot UR5.
Robot:…
Using Force Control to find the mounting hole in the mounting plate and assemble a Pin into it, utilizing a simulated ROS Gazebo environment.
The project included the same process using a real Universal Robot UR5.
Robot:…
Robossembler - Открытая робототехника
Симуляция сборки "на ощупь" с помощью UR5 На видео демонстрируется симуляция решения задачи вставки шрифта и корпуса подшипника в отверстие монтажной пластины, используя датчик силы, встроенный в манипулятор UR5 и захват Robotiq 2F-140. То есть финальный…
Симулятор для отладки ПЛК - Factory I/O
Компания Real Games предоставляет услуги по т.н. Next-Gen PLC Training, то есть программное обеспечение для отладки программ ПЛК. Симулятор позволяет добавлять разнообразные ассеты (конвейеры, склады, станки) и запускать программы управления, экономя время на отладке в полевых условиях. Поддерживаются серийные ПЛК - Siemens, Allen-Bradley, а также любые другие устройства с поддержкой Modbus/OPC.
https://www.youtube.com/watch?v=XVKFa5S3-E4
Компания Real Games предоставляет услуги по т.н. Next-Gen PLC Training, то есть программное обеспечение для отладки программ ПЛК. Симулятор позволяет добавлять разнообразные ассеты (конвейеры, склады, станки) и запускать программы управления, экономя время на отладке в полевых условиях. Поддерживаются серийные ПЛК - Siemens, Allen-Bradley, а также любые другие устройства с поддержкой Modbus/OPC.
https://www.youtube.com/watch?v=XVKFa5S3-E4
YouTube
Factory I/O - Next-Gen PLC Training
Factory I/O is the next generation of 3D factory simulation. Factory I/O takes PLC training to the next level, turning any computer into a robust PLC training kit.
- 20+ Ready-to-Use Scenes
- Libray of Industrial Parts
- Digital and Analog I/O
- I/O Drivers…
- 20+ Ready-to-Use Scenes
- Libray of Industrial Parts
- Digital and Analog I/O
- I/O Drivers…
Сборочные операции с MoveIt
Краткое содержание доклада Dr. Felix von Drigalski, Senior Researcher из Omron Sinic X
* Сборочные роботизированные ячейки, как правило, адаптированы для выполнения специализированных (часто со спец.оснасткой) операций с бинарным контролем промежуточных состояний и разделением на соответствующие подпрограммы, что делает такие системы простыми в программировании и наладке. Но такой подход выходит крайне дорогостоящим, когда сборочную линию нужно переналадить для другого технологического процесса или изделия. В общем, недостаточно гибкий такой подход.
* Эта проблема мотивировала Японское правительство в 2018 году учредить конкурс Assembly Challenge в рамках World Robot Summit для решения задач сборки роботами-манипуляторами составных изделий (в данном случае, моторов) с целью сделать сборочных роботов более гибкими. Сборка мотора из задания была крайне сложной, потому что изобилует операциями с ремнями и большим количеством мелких деталей. Даже человеку с пятипальцевыми био-захватами не так просто выполнить это задание. Тогда в 2018 году только одна команда из 16 справилась с заданием и собрала один экземпляр за 45 минут (в задании максимальное время составляло 15 минут).
* Конфигурация системы в 2018 году - три робота-манипулятора UR, одна дорогая зафиксированная камера, стандартные и специальные захваты, ручные инструменты.
* В 2020 году вместо трёх манипуляторов в задании было дано два, убраны спец.приспособления и оставлены классические параллельные захваты, вместо одной дорогой статической 3D-камеры - две дешёвых RGB-D на базе Realsense, монтирующихся на запястье робота.
* Ручные инструменты (типа спец.отвёртки) показали свои преимущества - гибкость (тогда как системы замены инструмента дорогие), возможность захвата в разных положениях. То есть у манипулятора был механический захват, которым он дальше брал типа ручные инструменты - отвёртки, проволочки и т.д. Главный профит был в том, что эти инструменты дешёвые.
* Две камеры, монтированные в запястья, реально помогли - они позволили запечатлевать разные виды на сборочную сцену.
* Сильно помогло центрирование детали перед её захватом, это сильно уменьшало шумы (perception noise). При оценке положения детали на сборочном столе всегда есть ошибка 2-5 мм. С помощью центрирования можно уменьшить ошибку оценки положения.
* Большой проблемой является изменение положения детали в момент захвата, когда, например, один палец достигает детали быстрее, чем второй и немного сдвигает её, прежде чем её достигнет второй захват. Эти небольшие сдвиги могут приводить к повреждениям собираемого изделия. Решение проблемы заключается в оценке положения детали внутри захвата.
* Многие проблемы могут быть решены с помощью т.н. extrinsic manipulation - когда пальцы захвата смыкаются и манипулятор использует его как некую "палку", двигая детали и добиваясь нужного себе положения. Используя такой подход, можно работать даже с гибкими объектами - например, проводами.
* Для центрирования объектов не обязательно применять специальную оснастку - можно использовать те же самые захваты, когда два манипулятора могут поочерёдно, перехватывая детали, отцентровать её.
* Все задачи планировщика параметризируются относительно текущего положения деталей и подсборок, нет жестко заданных задач, поэтому, если изменяются размеры деталей, то и управляющие программы тоже изменятся.
* Python использовался везде где это возможно, за исключением задач, требующих высокой производительности (для них использовался C++).
* Средства предварительной визуализации типа RViz очень помогли в отладке.
* Также для сложных сборок с участием многих роботов пригодился MoveIt Task Constructor, который позволил переиспользовать многие решения.
* Отняло у исследователей слишком много времени: отсутствие графического интерфейса для создания задач; невозможность автоматически формировать последовательности сборки из CAD-модели.
* Success-checks (отметки об успешном завершении задачи) по-прежнему требуют экспертной оценки - визуальной или тактильной; правильный дизайн изделий может помочь в этом.
Краткое содержание доклада Dr. Felix von Drigalski, Senior Researcher из Omron Sinic X
* Сборочные роботизированные ячейки, как правило, адаптированы для выполнения специализированных (часто со спец.оснасткой) операций с бинарным контролем промежуточных состояний и разделением на соответствующие подпрограммы, что делает такие системы простыми в программировании и наладке. Но такой подход выходит крайне дорогостоящим, когда сборочную линию нужно переналадить для другого технологического процесса или изделия. В общем, недостаточно гибкий такой подход.
* Эта проблема мотивировала Японское правительство в 2018 году учредить конкурс Assembly Challenge в рамках World Robot Summit для решения задач сборки роботами-манипуляторами составных изделий (в данном случае, моторов) с целью сделать сборочных роботов более гибкими. Сборка мотора из задания была крайне сложной, потому что изобилует операциями с ремнями и большим количеством мелких деталей. Даже человеку с пятипальцевыми био-захватами не так просто выполнить это задание. Тогда в 2018 году только одна команда из 16 справилась с заданием и собрала один экземпляр за 45 минут (в задании максимальное время составляло 15 минут).
* Конфигурация системы в 2018 году - три робота-манипулятора UR, одна дорогая зафиксированная камера, стандартные и специальные захваты, ручные инструменты.
* В 2020 году вместо трёх манипуляторов в задании было дано два, убраны спец.приспособления и оставлены классические параллельные захваты, вместо одной дорогой статической 3D-камеры - две дешёвых RGB-D на базе Realsense, монтирующихся на запястье робота.
* Ручные инструменты (типа спец.отвёртки) показали свои преимущества - гибкость (тогда как системы замены инструмента дорогие), возможность захвата в разных положениях. То есть у манипулятора был механический захват, которым он дальше брал типа ручные инструменты - отвёртки, проволочки и т.д. Главный профит был в том, что эти инструменты дешёвые.
* Две камеры, монтированные в запястья, реально помогли - они позволили запечатлевать разные виды на сборочную сцену.
* Сильно помогло центрирование детали перед её захватом, это сильно уменьшало шумы (perception noise). При оценке положения детали на сборочном столе всегда есть ошибка 2-5 мм. С помощью центрирования можно уменьшить ошибку оценки положения.
* Большой проблемой является изменение положения детали в момент захвата, когда, например, один палец достигает детали быстрее, чем второй и немного сдвигает её, прежде чем её достигнет второй захват. Эти небольшие сдвиги могут приводить к повреждениям собираемого изделия. Решение проблемы заключается в оценке положения детали внутри захвата.
* Многие проблемы могут быть решены с помощью т.н. extrinsic manipulation - когда пальцы захвата смыкаются и манипулятор использует его как некую "палку", двигая детали и добиваясь нужного себе положения. Используя такой подход, можно работать даже с гибкими объектами - например, проводами.
* Для центрирования объектов не обязательно применять специальную оснастку - можно использовать те же самые захваты, когда два манипулятора могут поочерёдно, перехватывая детали, отцентровать её.
* Все задачи планировщика параметризируются относительно текущего положения деталей и подсборок, нет жестко заданных задач, поэтому, если изменяются размеры деталей, то и управляющие программы тоже изменятся.
* Python использовался везде где это возможно, за исключением задач, требующих высокой производительности (для них использовался C++).
* Средства предварительной визуализации типа RViz очень помогли в отладке.
* Также для сложных сборок с участием многих роботов пригодился MoveIt Task Constructor, который позволил переиспользовать многие решения.
* Отняло у исследователей слишком много времени: отсутствие графического интерфейса для создания задач; невозможность автоматически формировать последовательности сборки из CAD-модели.
* Success-checks (отметки об успешном завершении задачи) по-прежнему требуют экспертной оценки - визуальной или тактильной; правильный дизайн изделий может помочь в этом.
Что можно тут отметить важного для Робосборщика:
1. Подход с использованием одного захвата и нескольких инструментов без стыковочного инструмента достоин рассмотрения. Пока мы идём по линии "удешевить системы замены приспособлений"
2. Камер много не бывает. Если научиться правильно с ними обращаться, то сборка становится много проще. Монтаж камеры на запястье не является проблемой в их сценарии.
3. Запрос на автоматическую генерацию последовательности сборки есть и он существенно облегчит жизнь.
4. Дизайн устройств имеет очень большое значение для проверки промежуточных состояний. То есть, подкорректировав дизайн собираемого изделий, можно существенно упростить сборку и контроль качества.
5. Механические захваты при правильном их использовании могут покрывать большой класс задач.
#moveit #ros #assembly #automation
https://www.youtube.com/watch?v=IvNXsCIR1p8
1. Подход с использованием одного захвата и нескольких инструментов без стыковочного инструмента достоин рассмотрения. Пока мы идём по линии "удешевить системы замены приспособлений"
2. Камер много не бывает. Если научиться правильно с ними обращаться, то сборка становится много проще. Монтаж камеры на запястье не является проблемой в их сценарии.
3. Запрос на автоматическую генерацию последовательности сборки есть и он существенно облегчит жизнь.
4. Дизайн устройств имеет очень большое значение для проверки промежуточных состояний. То есть, подкорректировав дизайн собираемого изделий, можно существенно упростить сборку и контроль качества.
5. Механические захваты при правильном их использовании могут покрывать большой класс задач.
#moveit #ros #assembly #automation
https://www.youtube.com/watch?v=IvNXsCIR1p8
YouTube
ROS-I Asia Pacific Workshop 2021 : Machine Assembly with MoveIt
Dr. Felix von Drigalski, Senior Researcher for Omron Sinic X presented the talk on 'Machine Assembly with MoveIt' during the ROS-Industrial Asia Pacific Workshop held on the 18th of August 2021, digitally over Cisco WebEx.
А вот и Live Demo непосредственно с конкурса на World Robot Summit ! Демонстрируется сборка с комментариями автора. Свежачок
https://youtu.be/tue42LWGzO0?t=2597
https://youtu.be/tue42LWGzO0?t=2597
YouTube
Assembly Challenge DAY4 (September 12,2021)/製品組立チャレンジ 4日目
Assembly Challenge
製品組立チャレンジ
The field of manufacturing may not be a highly visible
presence in daily life, but it is vital for sustaining our lifestyles.
Although robots have played an important role in this
field, it has become difficult to meet the recent…
製品組立チャレンジ
The field of manufacturing may not be a highly visible
presence in daily life, but it is vital for sustaining our lifestyles.
Although robots have played an important role in this
field, it has become difficult to meet the recent…
Open3D
Open3D - это библиотека с открытым исходным кодом, которая поддерживает быструю разработку программного обеспечения, работающего с 3D-данными. Интерфейс Open3D предоставляет набор тщательно отобранных структур данных и алгоритмов как на C ++, так и на Python. Бэкэнд сильно оптимизирован и настроен для распараллеливания. Open3D был разработан с чистого листа с небольшим и тщательно продуманным набором зависимостей. Его можно настроить на разных платформах и скомпилировать из исходного кода с минимальными усилиями. Код чистый, оформлен в едином стиле и поддерживается с помощью четкого механизма проверки кода. Open3D использовался в ряде опубликованных исследовательских проектов и активно развертывается в облаке.
Участники консорциума ROS-Industrial в видеопрезентации показали каким образом они используют Open3D в задачах реконструкции геометрии объектов с недорогими RGB-D камерами. Ранее они использовали yak
#cv #open3d #ros #industrial
Open3D - это библиотека с открытым исходным кодом, которая поддерживает быструю разработку программного обеспечения, работающего с 3D-данными. Интерфейс Open3D предоставляет набор тщательно отобранных структур данных и алгоритмов как на C ++, так и на Python. Бэкэнд сильно оптимизирован и настроен для распараллеливания. Open3D был разработан с чистого листа с небольшим и тщательно продуманным набором зависимостей. Его можно настроить на разных платформах и скомпилировать из исходного кода с минимальными усилиями. Код чистый, оформлен в едином стиле и поддерживается с помощью четкого механизма проверки кода. Open3D использовался в ряде опубликованных исследовательских проектов и активно развертывается в облаке.
Участники консорциума ROS-Industrial в видеопрезентации показали каким образом они используют Open3D в задачах реконструкции геометрии объектов с недорогими RGB-D камерами. Ранее они использовали yak
#cv #open3d #ros #industrial
YouTube
Open3D and Industrial Reconstruction
Often times it is necessary to create a mesh of an object that is presented to you, either for localization or for process planning. Open3D, by Intel Labs, offers a suite of tools to help realize efficient dynamic mesh creation, even of very specular surfaces…
Сижу на Russia Open Source Summit. Пока прошла только пленарная сессия. Выступили представители государства и нескольких компаний-контрибьюторов. Приятные люди.
Жду презентаций компаний, построивших свои бизнес-модели на открытом ПО.
Также есть кабинеты, где будут обсуждать государственную стратегию. Может и туда загляну, посмотрим.
Жду презентаций компаний, построивших свои бизнес-модели на открытом ПО.
Также есть кабинеты, где будут обсуждать государственную стратегию. Может и туда загляну, посмотрим.
Мир тесен! Встретились с Александром Капитоновым, деканом факультета ИТМО и сооснователем Робономики
Разбор проекта от команды o2ac
Недавно я делал обзор презентации Felix von Drigalski и его опыте в использовании ROS/MoveIt в Assembly Challenge'21 на World Robot Summit. Чуть позднее был опубликован исходный код этого решения.
Наш робототехник Илья опубликовал подробный анализ этого проекта. Статья содержит детальное описание всех использованных пакетов ROS, спецификации сообщений/топиков/сервисов/действий, принципы работы и многое другое. Описание даёт представление о том каким образом на данный момент решаются задачи автоматизации сложных сборочных операций с использованием открытого ПО.
Стоит отметить, что в проекте используется первая версия ROS, тогда как в Робосборщике мы будем опираться на ROS2, как более приспособленное для промышленности решение.
#ros #assembly #example
https://robosphere.gitlab.io/robossembler-docs/docs/technologies/o2ac-repo-review/
Недавно я делал обзор презентации Felix von Drigalski и его опыте в использовании ROS/MoveIt в Assembly Challenge'21 на World Robot Summit. Чуть позднее был опубликован исходный код этого решения.
Наш робототехник Илья опубликовал подробный анализ этого проекта. Статья содержит детальное описание всех использованных пакетов ROS, спецификации сообщений/топиков/сервисов/действий, принципы работы и многое другое. Описание даёт представление о том каким образом на данный момент решаются задачи автоматизации сложных сборочных операций с использованием открытого ПО.
Стоит отметить, что в проекте используется первая версия ROS, тогда как в Робосборщике мы будем опираться на ROS2, как более приспособленное для промышленности решение.
#ros #assembly #example
https://robosphere.gitlab.io/robossembler-docs/docs/technologies/o2ac-repo-review/
robosphere.gitlab.io
Команда o2ac есть чему поучиться | Robossembler
Предыстория
Трёхслойная архитектура для приложений робототехники
В главе Robotic Systems Architectures and Programming из Springer Handbook of Robotics'2016 приводится трёх-слойная архитектура ПО для управления робоагентами:
Behavioral control, иногда называемый также Skill Layer или Controller, представляет нижний слой управления и непосредственно соединён с Датчиками и Исполнительными устройствами робота. Примеры задач на этом слое: найти дверь, найти дверную ручку, проследовать в локацию, избегая препятствия и т.д. Это слой может быть реализован с помощью низкоуровневых планировщиков типа MoveIt или Navigation.
Executive (Sequencing) Layer - слой, соединяющий числовое управление на нижнем слое и символьное управление на верхнем слое, управляет передачей сообщений из высокоуровневых планов (goals, цели) к низкоуровневым (behaviours, поведения). Декомпозирует задачи в иерархии подзадач, вызывает соответствующие функции нижнего слоя, следит за их исполнением и обрабатывает ошибки. Иногда этот слой управляет ресурсами, если эта функция не доверена уровню Planning. Данный слой также может управлять распараллеливанием задач. В прикладных задачах часто для исполнения этих функций используются фреймворки для программирования деревьев поведения, конечных автоматов. Например, FlexBE или BehavoirTree.CPP.
Planning (Deliberating) Layer - отвечает за определение долгосрочных действий робота на основе целей высокого уровня. Там, где компонент Behavioural Control связан с здесь-и-сейчас, а Executive озабочен тем, что только что произошло и что должно произойти дальше, компонент Planning смотрит в будущее. Он занимается долгосрочным планированием, управлением ресурсами, построением оптимальных маршрутов, изменением планов. Пожалуй, этот лучше всего подходит для нашего планировщика и может быть реализован с помощью библиотеки Plansys2.
#theory #architecture #software
В главе Robotic Systems Architectures and Programming из Springer Handbook of Robotics'2016 приводится трёх-слойная архитектура ПО для управления робоагентами:
Behavioral control, иногда называемый также Skill Layer или Controller, представляет нижний слой управления и непосредственно соединён с Датчиками и Исполнительными устройствами робота. Примеры задач на этом слое: найти дверь, найти дверную ручку, проследовать в локацию, избегая препятствия и т.д. Это слой может быть реализован с помощью низкоуровневых планировщиков типа MoveIt или Navigation.
Executive (Sequencing) Layer - слой, соединяющий числовое управление на нижнем слое и символьное управление на верхнем слое, управляет передачей сообщений из высокоуровневых планов (goals, цели) к низкоуровневым (behaviours, поведения). Декомпозирует задачи в иерархии подзадач, вызывает соответствующие функции нижнего слоя, следит за их исполнением и обрабатывает ошибки. Иногда этот слой управляет ресурсами, если эта функция не доверена уровню Planning. Данный слой также может управлять распараллеливанием задач. В прикладных задачах часто для исполнения этих функций используются фреймворки для программирования деревьев поведения, конечных автоматов. Например, FlexBE или BehavoirTree.CPP.
Planning (Deliberating) Layer - отвечает за определение долгосрочных действий робота на основе целей высокого уровня. Там, где компонент Behavioural Control связан с здесь-и-сейчас, а Executive озабочен тем, что только что произошло и что должно произойти дальше, компонент Planning смотрит в будущее. Он занимается долгосрочным планированием, управлением ресурсами, построением оптимальных маршрутов, изменением планов. Пожалуй, этот лучше всего подходит для нашего планировщика и может быть реализован с помощью библиотеки Plansys2.
#theory #architecture #software
NDDS - Синтезатор наборов данных NVIDIA Deep Learning
NDDS - это подключаемый модуль UE4 от NVIDIA, позволяющий исследователям компьютерного зрения экспортировать высококачественные синтетические изображения с метаданными. NDDS поддерживает изображения, сегментацию, глубину, позу объекта, ограничивающую рамку, ключевые точки и пользовательские шаблоны. Помимо экспортера, плагин включает в себя различные компоненты для генерации сильно рандомизированных изображений. Эта рандомизация включает освещение, объекты, положение камеры, позы, текстуры и отвлекающие факторы, а также отслеживание пути камеры и т. Д. Вместе эти компоненты позволяют исследователям легко создавать рандомизированные сцены для обучения глубоких нейронных сетей.
https://github.com/NVIDIA/Dataset_Synthesizer
#rl #dl #nn #image #generator
NDDS - это подключаемый модуль UE4 от NVIDIA, позволяющий исследователям компьютерного зрения экспортировать высококачественные синтетические изображения с метаданными. NDDS поддерживает изображения, сегментацию, глубину, позу объекта, ограничивающую рамку, ключевые точки и пользовательские шаблоны. Помимо экспортера, плагин включает в себя различные компоненты для генерации сильно рандомизированных изображений. Эта рандомизация включает освещение, объекты, положение камеры, позы, текстуры и отвлекающие факторы, а также отслеживание пути камеры и т. Д. Вместе эти компоненты позволяют исследователям легко создавать рандомизированные сцены для обучения глубоких нейронных сетей.
https://github.com/NVIDIA/Dataset_Synthesizer
#rl #dl #nn #image #generator
GitHub
GitHub - NVIDIA/Dataset_Synthesizer: NVIDIA Deep learning Dataset Synthesizer (NDDS)
NVIDIA Deep learning Dataset Synthesizer (NDDS). Contribute to NVIDIA/Dataset_Synthesizer development by creating an account on GitHub.
IROS'2021 Прага
С 27 сентября по 01 октября в Праге состоялась Международная конференция интеллектуальных систем и роботов. Полный перечень докладов по тематикам по ссылке ниже.
#event #ros #prague
https://ras.papercept.net/conferences/conferences/IROS21/program/IROS21_KeywordIndexWeb.html
С 27 сентября по 01 октября в Праге состоялась Международная конференция интеллектуальных систем и роботов. Полный перечень докладов по тематикам по ссылке ниже.
#event #ros #prague
https://ras.papercept.net/conferences/conferences/IROS21/program/IROS21_KeywordIndexWeb.html
Умная микрофабрика от Holosys
https://www.youtube.com/watch?v=pLwFHzh2tZU
https://www.youtube.com/watch?v=pLwFHzh2tZU