Ikomas

На Пикабу
3354 рейтинг 35 подписчиков 5 подписок 10 постов 8 в горячем
Награды:
10 лет на Пикабу
84

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

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

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

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

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


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


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

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

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


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


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

Показать полностью 2
181

Ответ на пост «Люди спят - робот работает»1

Разрабатываю таких роботов. Один из проектов практически один в один такой же, с Лидаром и коллаборативным манипулятором (который не причиняет вреда человеку при столкновении).

И, о боже, я могу быть немного полезным для общества, объяснив политику ценообразования подобных устройств:


Основная сложность создания такого робота заключается, внезапно, в механике манипулятора ибо они (лидеры рынка и KUKA в их числе) позиционируют себя как устройства с ОЧЕНЬ большой точностью (до 0.1 мм на конечном схвате). А для этого нужно покупать ОЧЕНЬ дорогие планетарные редукторы (Shimpo или harmonic drive. Других альтернатив на рынке тупо нет. Стоит в районе 600-1500 евро за штуку). И это на каждый джоинт... На каждую степень свободы в смысле.

Плюс сюда программирование двигателя на нижнем уровне, векторное управление, подбор коэффициентов регуляторов и вот эта вся программерская тягомотина типа создания интерфейса управления манипулятором (привет, can-шина), но ее в расчет не берем, ибо это единовременные затраты компании на этапе проектирования опытного образца.


Дальше. Перейдем к самому роботу. Хрен знает, какой Лидар стоит на этом конкретном товарище, но в общем и целом это чертовски дорогая хрень. Да, в роботах-пылесосах тоже лидар, но для больших контор подобные говноустройства (как они считают, а лично мне нравятся, раздолбать не страшно) неприемлемы и они хотят ДорогоБогато и ставят всякие Velodyne с ценами от 6k+ евро. Пару-тройку штук.

Опять же, автономное управление тележкой в расчет не берем по тем же самым причинам: 1 раз настроил и все готово, просто бэкап кода и поехали.

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

Аккумулятор - дорогой. Когда-то давно я тоже думал мол почему, ведь power bank'и есть вполне себе бюджетные, но они выдают 5 вольт. А тут нужно 48. Поэтому и весить аккум будет где-то 20-30 кг и стоить под 2k евро.

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

Показать полностью
Отличная работа, все прочитано!