Что это будет
Я занимаюсь этой тематикой уже не один год. За плечами — куча пробитых стен в вопросах ненормального использования роботов — управление на лету, автогенерация программ, контроль технологических процессов. Наши продукты занимаются сваркой и покраской, дефектовкой и калибровкой. Мы работаем с деревом у мебельщиков и с железом в автопроизводстве. Мы ни разу не брались за проекты классического применения роботов в серийной продукции. Каждый раз мы решаем задачи, которые обычно требуют оператора, который долго и мучительно корректирует программу перед каждым запуском.
В теории, если материал будет интересен аудитории Хабра, это будет цикл статей, в котором рассмотрим вопросы:
- про программирование робертов. На курс не претендую, скорее про особенности этих гастарбайтеров
- разработки систем автоматического программирования
- о сложностях на пути входа в профессию
- технические нюансы размахивания конечностью
- удаленного управления командой разработки и отладки
- программирования кортексов и оптимизации алгоритмов — даёшь выполнение того, что работало на 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 раза быстрее. Вот и первая причина, по которой вы не едете утром в метро вместе с робертом, читающим мануалы, на работу — его базовая окупаемость, если опускать вопросы качества, весьма пролонгирована.
Вторая беда.
Универсальность
Вот тут не все хорошо. Точнее — далеко не все хорошо. Возьмём для начала классику: автопром.
Когда-то, когда в названии стран было принято в конце писать «империя», машины делали руками в каретных мастерских. Так зародилось большинство брендов. И при ручном производстве человек всегда может что-то докрутить, дотянуть, кувалдой там погладить, на худой конец. Ходят легенды, что на АвтоВАЗе до сих пор так машины и собирают (нет).
А сегодня машина — это хренова туча деталей, которая начинает свою жизнь в виде листов и заготовок, которые проходят сквозь прессы, формы, станки с ЧПУ и прочую радость, дающую на выходе заданную и прогнозируемую точность. Идеальное состояние для робота — отверстия там, где им быть положено, все вставляется и стыкуется, контроль на каждом этапе. И конкретно в массовом производстве авто роботизация на отечественных предприятиях не сильно отличается от ЕС.
Другое дело — производство мелкосерийной продукции. Роберт такое существо, которое умеет с некоторой точностью приходить в требуемую точку (на самом деле — тоже нет)))). Точки должен ему указать оператор, натыкав на пульте программу для робота. Это очень муторное действо, так как пульт — это вот такая дура (у разных производителей — разной степени изящности):
Как бы он ни выглядел, сути процесса это не меняет: каждая запись сопряжена с переводом робота в какую-то точку в пространстве путём тыкания кнопок, записи точки и настройки ее параметров (скорости, скругления движения и пр.). Плюс всяческие инструкции для работы с периферией, регистрами и так далее. Ну и на десерт — все это через меню. Это то же самое, что в дотнетовском «крибле-крабле-бумс» (public static void) каждое слово надо было бы вставлять через F1->Menu->Commands->Standart->Base и ещё какое-то действие. С навигацией по меню стрелочками. Дело долгое, муторное и весьма не романтичное.
Написать прогу под изделие — задача не на один день. И после этого мы можем отработать только конкретно этот тип изделия столько раз, сколько штук нам надо произвести. Экономия времени, конечно, есть, но в целом выглядит уже не так привлекательно. А потом — раз, и у нас во весь рост встаёт вторая проблема, имя которой — точность.
Чтобы использовать заранее записанную программу, мы обязаны выполнить два условия: установить изделие с такой же точностью в пространстве (по 6 координатам XYZWRP). А также гарантировать, что все детали изделия выполнены с точностью, достаточной для техпроцесса. Если мы говорим о сварке, то погрешность измеряется десятыми долями миллиметра, если о покраске — то тут все проще, но возможны «тени» и непрокрасы при сдвиге на несколько мм.
Уныние уже постучалось в дверь завода? Не закрывайте — там следом депрессия бежит. Которая родилась от тепловой деформации металла в процессе сварки. И программа, написанная на собранном на прихватках изделии, внезапно начинает косячить при работе.
В результате — программы для операции становятся сильно сложнее. Требуется проверка и адаптация перед каждым изделием. Где-то в зоне «а ну подойди-ка» должен находиться оператор, который в случае, если беднягу-роберта ушатали и процесс встал, корректно внесёт изменения в программу для ее продолжения.
Со всем этим можно жить, но при этом растёт время цикла и снижается производительность, что приводит к росту срока окупаемости. Просто надо быть готовым к этому, либо искать технологические решения, которых, окромя наших продуктов, на самом деле хватает. И тут у нас проблема номер три:
Интеграторы
Вот тут все становится интересным. Приходит на завод условный интегратор, и говорит: а давайте может роберта вам поставим, да в автомате все как запустим, да как начнёт оно кататься! Завод, подумав годик-другой (циклы сделки в промавтоматизации просто чудовищные), говорит, кинув айфон оземь: «А давай, чертяка!».
Чертяка привозит роберта некой ценовой категории и расцветки, создаёт к нему систему перемещения, тумбу, конвейер (на самом деле процесс создания роботизированного комплекса — отдельная задача, по сложности не уступающая разработке ПО) и запускает это на определённом типе изделий. Акты подписаны, коньяки выпиты, девоньки поцелованы, все довольны.
А потом нюансы начинают вылезать, как червячки. И тут однозначно ткнуть пальцем в кого-то с криком «Это ты!!!!» — не получится. Потому что каждый проект — совокупность многих вводных, от которых зависит финальный результат (ой банальщину написал, ну да ладно...). Бывает заказчик, выстроивший в коллективе атмосферу перекладывания ответственности. С таким кашу сварить — отдельный квест: никто ни за что не отвечает, при этом время идёт, а работы не двигаются. Бывает интегратор, который продал проект, лишь бы продать роберта. Бывает невнимательность к мелочам, которая потом приводит к проблемам. Причём невнимательность как со стороны заказчика, который в голове уже всех уволил и купил десяток железных, и теперь не ныкается от иммиграционной службы, так и со стороны интегратора, который полез за ручкой и пропустил «мы варим сталь, в том числе нержавейку». И не надо надеяться, что все купируется договором и прописанными нюансами. Да там в каждом нюансов — на хороший альманах. Мы занимаемся этим не один год, и продолжаем выхватывать. И договор — не панацея, рынок узкий, и даже если в договоре все написано, то это никак не убережёт от «а вот эти ребята делают
Поэтому единственное, что остаётся — совершенствовать ПО и объяснять его ограничения.
Жуткая жуть
Может сложиться ощущение, что роботизация — это вот такая чёрная дыра без особых перспектив, и не стоит в это даже лезть. Но на самом деле все чуточку не так. Тому есть как минимум две причины:
- Повальное снижение качества подготовки и уменьшение количества выпускников с рабочей специальностью. Да-да, я все понимаю, что аудитория Хабра — это люди, пронзающие, яки Зевс молнией, отладчиком любые заковыристые баги, которые левой рукой пишут код, правой — настраивают сетку, а ногами пляшут джигу. Но если кто-то занимался поиском сотрудников, то не может не отметить снижение как количества, так и уровня тех же разрабов. И в рабочих специальностях все ещё хуже.
- Развитие технологий. Как ни странно, бум ИИ и иже с ним, который является следствием увеличения скорости вычислений и их доступности, роляет и тут — появляется возможность создания систем, которые быстро и качественно могут заменить работу оператора, оставив ему только функцию контроля.
Обе эти предпосылки в итоге приводят к тому, что развитие робототехники в РФ идти будет, и заниматься этим стоит (кто бы сомневался, ты же статьи про это зачем-то пишешь))
И раз уж мы решились ехать — краткий обзор вендоров.
Вендоры и их особенности
Безотносительно других качеств, несомненно важных, вроде сроков поставки и политики партии, дам краткую характеристику в разрезе разработки:
Fanuc
Очень отзывчивый генеральный, весьма грамотная (впрочем, держащаяся на персоналиях) техподдержка в сложных вопросах. Можно даже, спустя какое-то время, наклянчить роберта «на покататься» для каких-то проектов.
Yaskawa
Вот прям близко с Фануками, но с точки зрения техподдрежки все сложнее, некоторые вопросы не имеют ответа сразу, приходится обращаться в Дойчлянд с соответствующей скоростью ответа на запросы.
ABB/Kuka
Очень пафосные (заслуженно) ребята. Что рождает обратную сторону медали: клянчить робота можно до посинения, даже доступ в демо-зал для тестов является гигантской проблемой. В связи с чем проектов с ними у нас не было.
Universal Robots
Этакие хипстеры. Ничего не понятно, но очень интересно. На выставках наделяют робота задатками гедониста и крутят у него в лапе бокал с коньяком. А еще отважно прыгают под работающую железяку, демонстрируя его возможности и свою веру в то, что эти роберты не могут никого убить в принципе. Но мы то в фильме все видели сами!
Наши отношения пока в зачаточном состоянии, чего-то сказать не могу.
На этом заканчиваю вводную часть. Во второй рассмотрим особенности двух конкретных аппаратов и попробуем разобраться, что с ними можно делать, а чего нельзя, и как с этим всем взлетать. Либо — вопрос в голосовании — поговорим о пороге входа и что вообще нужно знать/уметь потенциальному погонщику робертов, чтобы связать себя узами страданий с этим весёлым делом.
Часть 2
vakhramov
Роботу доверяют вспомогательные и рутинные операции. Работал с Kuka (роботы у нас перекладывают стекло (пирамида-конвейер листовое, конвейер-пирамида обработанное, измерительный стол-конвейер, конвейер-накопитель (и обратно)), паяют коннекторы на заднее стекло, держаки клеят на лобовое (зеркала, датчики дождя) с техзрением), наносят клей на кромку, зачищают края у сендвича лобовых стёкол, впаивают нить ультразвуковой сваркой (когда не требуется подогрев всего стекла, там юзают другую штуку). Кука — это vxwin, пром.эзернеты (я даже хотел как-то своё устройство-гриппер запилить на борде от инфинеона, ради прикола).
Какой будет робот — зависит от экосистемы завода.
Японцы даже ими стекло режут, говорят. Вроде даже фануками. Наверное — не очень быстро, по сравнению со спецстолами на каких-нибудь линейных приводах (у нас швейцарские bystronic).
Ваш текст как-то фамильярен, и чересчур эмоционален.
А ещё роботами фрезеруют заготовки для корпусов катеров, вот это в студию попрошу (проект- модель — управляющая программа — заготовка).
Ну а то, что их компьютеры не грузятся со флешки с некуковскими PID/VID, что внутри платы с не очень надёжными molex разёмами — у каждого типа робота свои косяки, наверное.
dtcDev Автор
Вспомогательные — не соглашусь, рутинные — в классическом применении. Я же занимаюсь задачками, в которых робот должен быть готов выполнить не рутинную задачу. Важное уточнение — он не должен вдруг начать выполнять работу бухгалтера, речь о неповторяющихся задачах.
По поводу заготовок катеров — задача для нас типовая, по модели УП формировать.
Надёжность роботов, если начинаешь в них залезать очень глубоко (и не от хорошей жизни) — вообще вещь странная. Как с технической, так и с программной стороны вопроса.
В заключение — по поводу стиля изложения. Тут, к сожалению, ничего поделать не могу — форма подачи материала по отношению к последним статьям у меня не менялась, и создавать тексты, наполненные только сухими фактами, мне крайне тяжело)
vakhramov
О каких задачах речь?
dtcDev Автор
Ответил в ЛС