Роботы. Часть раз. Вводная

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

image

Что это будет


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

В теории, если материал будет интересен аудитории Хабра, это будет цикл статей, в котором рассмотрим вопросы:

  • про программирование робертов. На курс не претендую, скорее про особенности этих гастарбайтеров
  • разработки систем автоматического программирования
  • о сложностях на пути входа в профессию
  • технические нюансы размахивания конечностью
  • удаленного управления командой разработки и отладки
  • программирования кортексов и оптимизации алгоритмов — даёшь выполнение того, что работало на i7, внутри STM32
  • про факапы, стартапы


и много чего другого. Накопилось немало, рассказать о чём есть.

Сегодня — краткое изложение ситуации в РФ с нашей, во многом безумной колокольни.

Введение


Сегодня на рынке есть 4 с половинкой представителя железноруких, которые встречаются очень часто. Это Fanuc, Yaskawa, ABB, Kuka (редкоземельных образчиков упоминать не буду). Рядом примкнувшими стоят Universal Robots — прикольные ребята, роботы которых похожи на симпатичное нагромождение алюминиевых труб и заглушек, которые очень активно продвигаются на рынке. Рассказывать я буду на примере первых двух, с которыми пришлось сталкиваться непосредственно в работе. Про ABB я знаю только то, что они белые, а о Куке — в два раза больше: они оранжевые и если поменять первые буквы местами в словосочетании «Пульт Куки», то получается весело.

Наиболее часто встречающиеся на сравнительно небольших предприятиях — как раз жёлтый роберт по имени Fanuc и синий — Yaskawa. В частности, это обусловлено их большей доступностью по цене и либеральностью в отношениях с партнёрами. Ну и Universal, которые часто используются в упаковке/сортировке, хотя с недавним выходом робота грузоподъёмностью за 40 кг может что-то и поменяется.

Ситуация в РФ


Мою страну сложно назвать лидером в роботизации. Сложно назвать даже серьёзным игроком)). И это не потому, что мы не умеем их готовить. Массовому распространению препятствуют три фактора — стоимость самого оборудования, универсальность и интеграция.

Стоимость


Она не велика сама по себе — в промышленности есть куча вещей, по сравнению с которыми купить робота примерно то же самое, что купить пирожок в столовой. Дело в финансовой эффективности.

Например, нормальный сварщик в регионе необъятной получает в среднем 40–80 на руки. Щедро возьмём 50, накинем налоги и округлим до 75. Роберт в теории заменяет от 3 до 6 сварщиков (если работает с достойной уважения нагрузкой 60–80% от теоретически доступной), или экономит около 300К в месяц. При стоимости комплекса в 15–20М его окупаемость составит 50–70 месяцев, это 4–6 лет. В целом — терпимо. Кроме того, робот умеет в стабильное качество, не устаёт, не ходит в отпуск. Делает быстрее человека, речь не о кратном ускорении, но быстрее. Ох ща полетят в меня помидоры, давайте оговоримся: быстрее в постоянной ежедневной работе. Человек сможет в рамках соцсоревнования уделать железяку ввиду ряда нюансов. Но на износ, изо дня в день работать в таком ритме не сможет.

Пока 4–6 лет выглядят при таких вводных норм? Накинем обслуживание, накинем человека, который будет робота прогать и всячески обхаживать ну и так далее. Получится что то в районе 6–9 лет.

А теперь сравним с з/п сварщика в Европе, которая в целом выше в два раза, да накинем отчисления за очень вредное производство, и уберём растаможку. И получается, что в ЕС окупаемость будет в 2–3 раза быстрее. Вот и первая причина, по которой вы не едете утром в метро вместе с робертом, читающим мануалы, на работу — его базовая окупаемость, если опускать вопросы качества, весьма пролонгирована.

Вторая беда:

Универсальность


Вот тут не все хорошо. Точнее — далеко не все хорошо. Возьмём для начала классику: автопром.
Когда то, когда в названии стран было принято в конце писать «империя», машины делали руками в каретных мастерских. Так зародилось большинство брендов. И при ручном производстве человек всегда может что то докрутить, дотянуть, кувалдой там погладить, на худой конец. Ходят легенды, что на АвтоВАЗе до сих пор так машины и собирают (нет).
А сегодня машина — это хренова туча деталей, которая начинает свою жизнь в виде листов и заготовок, которые проходят сквозь прессы, формы, станки с ЧПУ и прочую радость, дающую на выходе заданную и прогнозируемую точность. Идеальное состояние для робота — отверстия там, где им быть положено, все вставляется и стыкуется, контроль на каждом этапе. И конкретно в массовом производстве авто роботизация на отечественных предприятиях не сильно отличается от ЕС.

Другое дело — производство мелкосерийной продукции. Роберт такое существо, которое умеет с некоторой точностью приходить в требуемую точку (на самом деле — тоже нет)))). Точки должен ему указать оператор, натыкав на пульте программу для робота. Это очень муторное действо, так как пульт — это вот такая дура (у разных производителей — разной степени изящности):
image
Как бы он не выглядел, сути процесса это не меняет: каждая запись сопряжена с переводом робота в какую то точку в пространстве путём тыкания кнопок, записи точки и настройки ее параметров (скорости, скругления движения и пр.). Плюс всяческие инструкции для работы с периферией, регистрами и так далее. Ну и на десерт — все это через меню. Это то же самое, что в дотнетовском «крибле-крабле-бумс» (public static void) каждое слово надо было бы вставлять через F1→Menu→Commands→Standart→Base и ещё какое то действие. С навигацией по меню стрелочками. Дело долгое, муторное и весьма не романтичное.

Написать прогу под изделие — задача не на один день. И после этого мы можем отработать только конкретно этот тип изделия столько раз, сколько штук нам надо произвести. Экономия времени, конечно, есть, но в целом выглядит уже не так привлекательно. А потом — раз, и у нас во весь рост встаёт вторая проблема, имя которой — точность.

Чтобы использовать заранее записанную программу, мы обязаны выполнить два условия: установить изделие с такой же точностью в пространстве (по 6 координатам XYZWRP). А так же гарантировать, что все детали изделия выполнены с точностью, достаточной для техпроцесса. Если мы говорим о сварке, то погрешность измеряется десятыми долями миллиметра, если о покраске — то тут все проще, но возможны «тени» и непрокрасы при сдвиге на несколько мм.

Уныние уже постучалось в дверь завода? Не закрывайте — там следом депрессия бежит. Которая родилась от тепловой деформации металла в процессе сварки. И программа, написанная на собранном на прихватках изделии, внезапно начинает косячить при работе.

В результате — программы для операции становятся сильно сложнее. Требуется проверка и адаптация перед каждым изделием. Где то в зоне «а ну подойди-ка» должен находиться оператор, который в случае, если беднягу-роберта ушатали и процесс встал, корректно внесёт изменения в программу для ее продолжения.

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

Интеграторы


Вот тут все становится интересным. Приходит на завод условный интегратор, и говорит:, а давайте может роберта вам поставим, да в автомате все как запустим, да как начнёт оно кататься! Завод, подумав годик-другой (циклы сделки в промавтоматизации просто чудовищные), говорит, кинув айфон оземь: «А давай, чертяка!».

Чертяка привозит роберта некой ценовой категории и расцветки, создаёт к нему систему перемещения, тумбу, конвейер (на самом деле процесс создания роботизированного комплекса — отдельная задача, по сложности не уступающая разработке ПО) и запускает это на определённом типе изделий. Акты подписаны, коньяки выпиты, девоньки поцелованы, все довольны.

А потом нюансы начинают вылезать, как червячки. И тут однозначно ткнуть пальцем в кого-то с криком «Это ты!!!» — не получится. Потому что каждый проект — совокупность многих вводных, от которых зависит финальный результат (ой банальщину написал, ну да ладно…). Бывает заказчик, выстроивший в коллективе атмосферу перекладывания ответственности. С таким кашу сварить — отдельный квест: никто ни за что не отвечает, при этом время идёт, а работы не двигаются. Бывает интегратор, который продал проект, лишь бы продать роберта. Бывает невнимательность к мелочам, которая потом приводит к проблемам. Причём невнимательность как со стороны заказчика, который в голове уже всех уволил и купил десяток железных, и теперь не ныкается от иммиграционной службы, так и со стороны интегратора, который полез за ручкой и пропустил «мы варим сталь, в том числе нержавейку». И не надо надеяться, что все купируется договором и прописанными нюансами. Да там в каждом нюансов — на хороший альманах. Мы занимаемся этим не один год, и продолжаем выхватывать. И договор — не панацея, рынок узкий, и даже если в договоре все написано, то это никак не убережёт от «а вот эти ребята делают гов не то».

Поэтому единственное, что остаётся — совершенствовать ПО и объяснять его ограничения.

Жуткая жуть


Может сложиться ощущение, что роботизация — это вот такая чёрная дыра без особых перспектив, и не стоит в это даже лезть. Но на самом деле все чуточку не так. Тому есть как минимум две причины:

  • Повальное снижение качества подготовки и уменьшение количества выпускников с рабочей специальностью. Да-да, я все понимаю, что аудитория Хабра — это люди, пронзающие, яки Зевс молнией, отладчиком любые заковыристые баги, которые левой рукой пишут код, правой — настраивают сетку, а ногами пляшут джигу. Но если кто-то занимался поиском сотрудников, то не может не отметить снижение как количества, так и уровня тех же разрабов. И в рабочих специальностях все ещё хуже.
  • Развитие технологий. Как ни странно, бум ИИ и иже с ним, который является следствием увеличения скорости вычислений и их доступности, роляет и тут — появляется возможность создания систем, которые быстро и качественно могут заменить работу оператора, оставив ему только функцию контроля.


Обе эти предпосылки в итоге приводят к тому, что развитие робототехники в РФ идти будет, и заниматься этим стоит (кто бы сомневался, ты же статьи про это зачем то пишешь))

И раз уж мы решились ехать — краткий обзор вендоров.

Вендоры и их особенности


Безотносительно других качеств, несомненно важных, вроде сроков поставки и политики партии, дам краткую характеристику в разрезе разработки:
Fanuc
Очень отзывчивый генеральный, весьма грамотная (впрочем, держащаяся на персоналиях) техподдержка в сложных вопросах. Можно даже, спустя какое то время, наклянчить роберта «на покататься» для каких-то проектов.
Yaskawa
Вот прям близко с Фануками, но с точки зрения техподдрежки все сложнее, некоторые вопросы не имеют ответа сразу, приходится обращаться в Дойчлянд с соответствующей скоростью ответа на запросы.
ABB/Kuka
Очень пафосные (заслуженно) ребята. Что рождает обратную сторону медали: клянчить робота можно до посинения, даже доступ в демо-зал для тестов является гигантской проблемой. В связи с чем проектов с ними у нас не было.
Universal Robots
Этакие хипстеры). Ничего не понятно, но очень интересно. На выставках наделяют робота задатками гедониста и крутят у него в лапе бокал с коньяком. А еще отважно прыгают под работающую железяку, демонстрируя его возможности и свою веру в то, что эти роберты не могут никого убить в принципе. Но мы то в фильме все видели сами!
image
Наши отношения пока в зачаточном состоянии, чего то сказать не могу.

На этом заканчиваю вводную часть. Во второй рассмотрим особенности двух конкретных аппаратов и попробуем разобраться, что с ними можно делать, а чего нельзя, и как с этим всем взлетать. Либо — вопрос в голосовании — поговорим о пороге входа и что вообще нужно знать/уметь потенциальному погонщику робертов, чтобы связать себя узами страданий с этим весёлым делом.

© Habrahabr.ru