Как работают роботы. Часть 1

Привет, Пикабу!

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

Как работают роботы. Часть 1 Робот, Манипулятор, Технологии, Роботизация, Безопасность, Длиннопост

Основных проблем, связанных с разработкой софта для колоборативных манипов - две. Первая - чтобы манипулятор не уткнулся сам в себя и в своего собрата по работе, вторая - чтобы, вхерачившись в руку-ногу-голову человека, каким-то образом попавшего в рабочую область, не проломил ему все, что можно проломить. А еще лучше - не оставил даже синяка, вовремя прекратив движение. Собственно, решение второй проблемы и является основным критерием, прибавляющий девайсу эпитет "коллаборативный".


Решение первой задачи, кстати, не является обязательным по дефолту. К примеру, если поставить одного робота на ленту конвейера, научить трем позициям и заставить повторять их до скончания времен, то доп. функционал тут вообще не нужен. А вот если два манипулятора с разными таймингами совершают операции, точки выхода которых динамически меняются - это уже интереснее.


Так вот, самый действенный способ заставить робота выполнять третий закон Айзимова (робот должен заботиться о своей безопасности) - предварительное моделирование. Идея проста: на управляющем компе, выдающим сигналы на платы управления сервоприводами, крутится софт, прогнозирующий и визуализирующий положение манипулятора в процессе выполнения той или иной задачи. При условии нахождения двух или более манипуляторов рядом друг с другом - их рабочие области связываются и подгружаются в симулятор, а затем, если нет никаких коллизий, значения углов поворота и скоростей вращения передаются на реальное железо. При виртуальном столкновении же, симуляция повторяется с измененными траекториями/скоростями/таймингами. Выглядит это, примерно, вот так, но только в 3D пространстве. 2D представлено исключительно в целях визуализации принципа действия :)

Как работают роботы. Часть 1 Робот, Манипулятор, Технологии, Роботизация, Безопасность, Длиннопост

А теперь к первому закону Айзимова, который нельзя нарушать ну вообще не при каких обстоятельствах (хаха, теперь, ikomas, иди и скажи это разработчикам военных роботов). Есть два способа сделать так, чтобы манипулятор оставил в покое человека, оказавшегося у него на пути. Первый способ заключается в том, чтобы поставить в рабочей области камеру, натренировать нейросети на распознавание кожаного мешка и останавливать движение при опасном сближении. Этот способ практически никем не используется, ибо ресурсов много кушает, вероятность остановки не стопроцентная и ложное срабатывание тоже возможно. Но его реализовать достаточно просто. А вот второй способ - тот еще геморрой.


Суть его заключается в том, что на каждом из движков (а их, как минимум, 6) устанавливаются силомоментные датчики, которые (кто бы мог подумать) измеряют текущую силу и крутящий момент. Эти датчики обрабатываются управляющим компом, который останавливает движение манипулятора при превышении критических значений момента (робот плавно уперся в стену и уже начал ее продавливать) либо при резких скачках момента (робот отвесил неслабую оплюху оказавшемуся рядом человеку). Да, на словах звучит достаточно просто, а вот на практике все несколько сложнее ибо и датчики надо калибровать и пороговые значения моментов настраивать и вообще человек - штука мягкая, а резкий скачок момента происходит при ударе по более жестким объектам.


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

Лига Новых Технологий

1.3K постов16.2K подписчик

Добавить пост

Правила сообщества

Главное правило, это вести себя как цивилизованный человек!

Но теперь есть еще дополнительные правила!
1. Нельзя раскручивать свой сайт, любую другую соц сеть или мессенджер, указывая их как источник. Если данная разработка принадлежит вам, тогда можно.
2. Нельзя изменять заглавие или текст поста, как указано в источнике, таким образом чтобы разжигать конфликт.

3. Постите, пожалуйста, полный текст с источника, а не превью и ссылка.