Успеть до восстания машин: как стать программистом роботов

Успеть до восстания машин: как стать программистом роботов

Привет, Хабр! На этот раз мы пригласили в наш блог Артема Аксенова — учредителя и генерального директора компании VRM Group из Иннополиса. Его компания занимается установкой и настройкой промышленных роботов на литейных производствах, разработкой учебных AR/VR-симуляторов и роботизированных ячеек для обучения робототехнике.

Мы попросили Артема рассказать об образовании: о работе программиста-робототехника в этой сфере, преимуществах и перспективах профессии. Стоит ли осваивать ее в 2022 году?

Я начал заниматься направлением робототехники-мехатроники на производственном объединении «Зарница» в 2014 году. Эта компания разрабатывает учебно-лабораторное оборудование для разных специальностей. Для примера, одной из задач было создание интерпретатора для промышленных языков программирования.

В университетах обычно изучают экосистему ROS — набор универсальных программных сред для управления роботами, но каждый производитель роботов предлагает свой язык. Universal Robots используют графический язык программирования, KUKA Robotics Language напоминает C, у японской FANUC программы похожи G-code ЧПУ-станков. Интерпретатор позволял писать на C и переводить программу в набор команд для конкретного типа роботов. Кроме того, в Зарнице разработали компактный учебный шестиосевой манипулятор.

На тот момент в целом по РФ, оснащение лабораторных комнат в университетах и колледжах и школах все еще было бедным. Зачастую роботов показывали как в музее, — вдруг студенты что-то сломают.

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

Именно поэтому стоит активнее использовать дополненную и виртуальную реальность. С ее помощью можно показать многие детали конструкции в 3D, в масштабе, не разбирая робота до винтика. Да и в сборке она помогает.

В 2017 году я задумался о разработке такого симулятора для роботов KUKA, в 2018 году в поиске льгот для стартапов перебрался в Иннополис и занялся разработкой. Затем наша компания перешла к созданию роботизированных учебных ячеек для WorldSkills.

Кадр с WorldSkills Russia 2021. Всего за нашими плечами 20 региональных чемпионатов и 4 национальных, включая чемпионат мира

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

Начиная с конца 2019 года мы плотно занялись интеграцией роботов в промышленные производства и начали внедрять решения для литья металлов под высоким давлением.

Что делает программист роботов

Первое, на что обращаешь внимание, общаясь со студентами, — непонимание того, что роботов в составе комплекса запускают как минимум три специалиста:

  • программист-робототехник, отвечающий за предварительные симуляции и подбор манипулятора, а также разработку логики и написание программы;
  • программист ПЛК — он настраивает взаимодействие робота с устройствами, из которых состоит производственная линия;
  • роботист, который руководит установкой, наладкой и калибровкой манипулятора на объекте.
Читать статью  Порошковая металлургия

Если роботист — это уровень среднего профессионального образования, то программист-робототехник и программист ПЛК — уровень университета.

Загрузка изделия в пресс (сверху) и съем детали (снизу). Оранжевый манипулятор-смазчик на втором фото ждет своей очереди

Расскажу о работе программиста-робототехника на примере одного из последних проектов по запуску литейного комплекса. В его составе была пара робоманипуляторов (съемщик и смазчик), пресс, который снимает с детали излишки материала, жидкостная система охлаждения, система сортировки отлитых изделий по качеству, несколько конвейерных систем, система аспирации, система безопасности и поворотные/захватные модули для различных типов отливок.

Следующий этап производства: погружение детали в ванную охлаждения (сверху) смазка пресс-формы (снизу)

Первое, что делает программист-робототехник в рамках подобного проекта, — вместе с конструктором и проектировщиком планирует расстановку всего оборудования. В основном для этого используется симулятор Visual Components.

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

Большую часть рабочего времени программист наблюдает за действиями робота в Visual Components

После согласования расстановки и подбора оборудования начинается этап настройки взаимодействия устройств, входящих в состав комплекса. На этом этапе к работе подключается программист ПЛК. Он настраивает обмен сигналами между роботом и периферийным оборудованием: различными датчиками, системой безопасности и другими агрегатами. Чаще всего используются внешние ПЛК, а для удобства управления комплексом подключаются либо сенсорные HMI-панели, либо кнопочные посты.

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

Типичная блок-схема техпроцесса с участием роботов

Приходится рисовать сложные схемы, раскладывать циклограммы на этапы, учитывать пересекающиеся процессы и рассчитывать время так, чтобы робот успел выполнить все необходимые манипуляции вовремя.

Хорошая программа пишется так, чтобы «швы» между просчетом логики и движениями были незаметны. Это позволяет сделать цикл быстрым, снижает нагрузку на узлы и продлевает срок службы робота. А еще это просто красиво — робот двигается плавно, без рывков и остановок.

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

Преимущества профессии

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

Читать статью  Современные литейные технологии сайт

Кнопочный пост управления роботизированным производственным комплексом

Если сравнить зарплаты у программистов роботов и, например, «обычных» Java-разработчиков, оказывается, что первым нужно меньше профессионального опыта, чтобы начать получать приличную зарплату. Зачастую, не самый сильный мидл в робототехнике зарабатывает на уровне молодого сеньора из компании, которая занимается разработкой ПО.

Еще одно преимущество работы программиста-робототехника — разнообразие. Каждый новый проект — решение нестандартных задач.

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

Например, на сквозняке точность сварки резко падает, и оборудование приходится расставлять с учетом воздушных потоков и ветрозащиты. Такой вот тетрис для взрослых бородатых инженеров.

Бывает, приходится подстраиваться под неотлаженные техпроцессы, а порой и брать в руки инструменты.

Убираем кронштейн, которого не было на 3D-модели на этапе проектировки

Как-то нас попросили установить робота с точностью сварки две сотых микрона. Главный технолог уверял, что заготовки делаются как раз с такой точностью. Приехав на объект, мы увидели, как лаборант проверяет размеры миллиметровой линейкой…=). Чтобы решить эту задачку, потребовалось немало находчивости. В России она вообще часто пригождается.

Как вкатиться в профессию

Необходимые навыки

Помимо умения нестандартно мыслить, чтобы стать программистом роботов вам понадобится:

  • Развитое пространственное воображение. Без него очень сложно представить желаемую траекторию манипулятора и без ошибок запрограммировать нужное движение.
  • Представление о различных производственных решениях на базе роботов и техпроцессах, в которых они участвуют. Видеоролики с объяснениями легко найти, например, на канале KUKA на YouTube. Со временем придется научиться работать с CAM-системами, так что имеет смысл поискать информацию и о них.
  • Умение составлять блок-схемы, писать первичные коды перемещений.
  • Знание хотя бы нескольких типов контроллеров и сигналов (двоичный, шестнадцатеричный код, биты, двойные слова).
  • Понимание хотя бы одного специализированного языка программирования. В нашей компании много разработчиков, которые писали на C и C++. Перейти с этих языков на KUKA Robotics Language достаточно просто.

Где учиться

В России с 1987 по 2011 год робототехника практически не преподавалась, разве что кроме МГТУ имени Баумана, Санкт-Петербургского политехнического университета и ряда корпоративных колледжей, но в последние десять лет ситуация меняется.

Для школьников и студентов проходят конкурсы WorldSkills, олимпиады WRO, Робофест, FIRST LEGO League, открылись кванториумы.

Лаборатория WorldSkills в Воронежском авиационном техникуме им. В.П. Чкалова, которую мы оснастили в 2019 году

Программистов-робототехников стали готовить в МИРЭА, МТУСИ, СколТехе, ИТМО, Университете Иннополис и ряде других вузов. Такие направления обучения появились во многих колледжах, например, МГОК.

Впрочем, чтобы вкатиться в профессию не обязательно получать классическое образование. Так, один из наших программистов до 35 лет работал в Cisco и только потом ушел в робототехнику. Многое он изучил совершенно самостоятельно.

Базовые знания можно почерпнуть из онлайн-курсов на платформах вроде edX и stanford.edu. Чтобы углубиться в промышленную робототехнику, стоит изучить бета-версии KUKA Sim и FANUC ROBOGUIDE с бесплатной месячной лицензией. У того же Visual Components есть бесплатные разделы (правда, узкого профиля). Кроме того, на сайтах производителей опубликованы методички по конкретным моделям роботов. Там же можно познакомиться с KRL-библиотеками, а с конкретными вопросами лучше обращаться в тематические группы на Reddit и профессиональные чаты, например группу ROS в телеграм.

Читать статью  Производство алюминиевого профиля как бизнес: перечень оборудования, описание технологии изготовления, нюансы организации дела 0

Симулятор SimPRO поддерживает и программирование роботов, и имитацию CAM-систем

Самый быстрый способ погружения в тему — специализированные профессиональные курсы, но стоят они недешево. Скажем, KUKA просит около 140 тысяч рублей за неделю своей образовательной программы. Однако, если вы серьезно намерены войти в профессию, но по каким-то причинам не хотите идти в вуз, то оно того стоит. Пройдя подобный курс, можно устроиться на стажировку практически к любому интегратору. Им постоянно не хватает программистов.

Карьерный путь и перспективы

По мере работы стоит освоить программирование ПЛК (например, Siemens или Omron), пройти курсы повышения квалификации в KUKA или у другого крупного вендора. Наши сотрудники уделяли много внимания Universal Robots, потому что у них дешевые коботы, но сейчас компания ушла из страны.

Вместе с новыми знаниями проходит и карьерный рост внутри компании. Рядовой программист становится руководителем проектной группы. Другие варианты профессионального развития — пойти работать к вендору (FANUC, ABB или той же KUKA) или открыть собственный стартап-интегратор.

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

За последние три года под брендом ВР-МАСТЕР наша команда реализовала больше 50 проектов с использованием роботов и вошла число крупнейших российских интеграторов по оценкам НАУРР

Да, в России в разных отраслях внедряется приблизительно 1 тыс. роботов в год. Это небольшой рынок, и его рост замедлился. Отчасти потому, что не все понимают, как использовать роботов, так, чтобы они работали качественнее и эффективнее людей. Другая проблема — стоимость таких комплексов. Компании боятся вкладывать в производство большие деньги, потому что экономика нестабильна, и заказов завтра может не быть.

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

Даже для существующих в России производств программистов-робототехников все равно не хватает, и это не говоря о других странах

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

Так или иначе, за такими машинами будущее. Мой дедушка 20 лет возил по заводу ванны с расплавленным алюминием, но уже сейчас всю литейку переводят на роботов. Это логичный, даже неизбежный путь развития, который делает промышленные производства чище, безопаснее и эффективнее.

  • робототехника
  • промышленная автоматизация
  • профессия
  • профориентация
  • обучение программированию
  • промышленные роботы
  • kuka
  • иннополис
  • курсы
  • с чего начать новичку
  • Блог компании Город Иннополис
  • Промышленное программирование
  • Учебный процесс в IT
  • Карьера в IT-индустрии
  • Робототехника

Источник https://habr.com/ru/companies/innopolis/articles/677670/

Add a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *