Как называют программистов которые программируют роботов
Содержание:
- Робототехник: что это за профессия
- Сколько зарабатывает робототехник
- Плюсы профессии
- Минусы профессии
- Необходимые навыки
- Где учиться
- Где искать работу
- Резюме
Робототехника и искусственный интеллект (ИИ) — две прорывные области, в которых уже соревнуются все ведущие державы мира. И если мы не займемся роботами, то чужие роботы возьмутся за нас.
По данным нашего сервиса по подбору персонала в области робототехники, в России насчитывается свыше 270 робокомпаний, работающих в 23 отраслях, при этом, по данным Национальной ассоциации рынка робототехники, штат робототехнических компаний растет на 20% в год, и уже к 2030 году в стране понадобится около 500 000 робототехников. Даже сейчас уже чувствуется нехватка кадров, а что будет через 10 лет?
Робототехник: что это за профессия
Давайте разберемся — кто такой робототехник? Это собирательная профессия, в которой есть много специализаций: конструктор, сборщик роботов, программист, электронщик, тестировщик, интегратор и пр.
Соответственно, можно выбрать специализацию сразу:
- нравится паять и проектировать электрику — нужно идти в электронщики;
- нравится проектировать — изучайте механику и конструирование;
- если любите собирать своими руками, то можно, получив среднее специальное техническое образование, пойти собирать роботов;
- а начать можно со специализации тестировщика — электроники, механики или программного обеспечения;
- даже люди с гуманитарным образованием не останутся в стороне от робототехники, так как в робокомпаниях нужны и продавцы, и маркетологи, и пиарщики.
Но подробнее мы остановимся программистах, которые отвечают за начинку, поведение и «хорошие манеры» робота, благодаря которым умная машина выполняет все поставленные перед ней задачи.
Сколько зарабатывает робототехник
В среднем в вакансиях уровня Junior вилка от 70-150 тыс руб., программисты с опытом могут рассчитывать на зарплату 130-200 тыс. руб., руководители или обладатели уникального опыта и интересных реализованных кейсов получают не менее 300 тыс. руб.
Плюсы профессии
- Работа в одной из самых перспективных и быстро развивающейся отраслей.
- Интересные проекты. Можно внедрять роботов на производстве, разрабатывать беспилотные автомобили или аэротакси, роботов-доставщиков, гуманоидных роботов и других помощников для людей. Эти проекты меняют мир к лучшему.
- Заработная плата выше, чем в среднем по рынку.
- Можно найти работу в стартапе, где несколько человек с горящими глазами создают робота, или работать на большую корпорацию.
- Если прийти в стартап, то можно достаточно быстро вырасти до главного конструктора или разработчика.
- Возможность выступать на конференциях, так как эта область новая, и многие хотят послушать об опыте создания робота или решения на базе искусственного интеллекта.
- С хорошими знаниями или опытом можно уехать за рубеж, так как за границей очень ценятся наши разработчики в робототехнике и ИИ.
Минусы профессии
- Вряд ли удастся найти работу на удаленке, так как работать нужно над физическим устройством, которое не всегда можно взять домой. Хотя в ряде компании это возможно.
- Придется не просто много, а очень много работать, так как специалистов постоянно не хватает.
- Экстраверты вряд ли найдут много общения среди людей технического склада. Скорее всего, такая работа им не подойдет.
Необходимые навыки
Самые распространенные языки робототехники, владение которыми обязательно, – С и С++. Для системных программистов важный плюс — владение ассемблером. На этих языках пишутся основные программы, управляющие роботами.
Поведение готового робота можно дополнительно программировать на более высокоуровневых языках – Python и Java. Так что если программист желает работать именно с роботами, его знания будет где применить, даже если на первый взгляд у эти знания весьма экзотичные.
Важный момент: для программиста робототехники умение работать с операционными системами на основе GNU/Linux на уровне не ниже администратора будет серьезным преимуществом.
Где учиться
- Начинать погружение в робототехнику можно еще со школы. Для школьников есть множество кружков по робототехнике и программированию в каждом крупном городе России или онлайн.
Это отличный старт в профессии для детей от 6 до 16 лет. А чтобы совершенствоваться, можно готовиться и участвовать в соревнованиях, таких как Всероссийская робототехническая олимпиада и World Robot Olympiad, WorldSkills Russia Juniors, Робофест, FIRST® LEGO® League, Робофинист и др.
- Окончив среднее техническое образование (техникум или колледж), можно пойти в механики или специалисты по сборке роботов или их обслуживанию, и параллельно с получением практического опыта можно учиться и совершенствоваться дальше. Если вы выбираете среднее техническое образование, то учиться робототехнике можно в колледже МГОК.
- Для тех, кто нацелен на высшее образование, можно выбрать технический вуз по робототехнической специальности. Такие есть во всех крупных городах нашей страны.
- Если вы уже работаете в другой области, то можно переучиться на программиста и начать искать работу в робокомпании, тем более, что сейчас очень многие популярные сервисы разработали большое количество курсов по онлайн обучению программированию.
- Если вы уже программируете, можете углубить свои знания в области нейронных сетей и машинного обучения, чтобы программировать более умных роботов.
- Для взрослых также можно освоить основы робототехники на платных и бесплатных курсах.
- Если вы — руководитель в IT-области, можно заняться цифровой трансформацией предприятия, пройдя соответствующие курсы и попробовав внедрить инновации у себя в компании.
Но чтобы погрузиться в эту область глубоко, нужно пройти платное обучение, стоимость которого варьируется от 80 тыс. руб. до 1 млн руб.
- Бонус:бесплатные ресурсы, чтобы освоить азы робототехники.
Где искать работу
Искать работу можно на больших сайтах-агрегаторах типа HeadHunter и SuperJobs.ru$ мы также публикуем соответствующие вакансии.
Кроме того, можно написать непосредственно в саму компанию, производящую роботов — почти каждой из них требуются все новые специалисты.
Если вы получите должные знания и навыки или уже обладаете ими, вас могут принять в крупнейших российских компаниях, таких как Лаборатория робототехники «Сбера», ЦНИИ РТК, «Интехрос», «Иннодрайв», «Ниссан Инжиниринг» и других.
Резюме
Робототехника в настоящее время — одна из самых перспективных индустрий, где можно быть очень востребованным и получать достойную зарплату. Кроме того, это одна из сфер, где российские специалисты востребованы не только в нашей стране, но и за рубежом.
Учитывая, что по данным Международной федерации робототехники, в России на 10 тыс. сотрудников приходится лишь 6 роботов (для сравнения, в Южной Корее — 932 робота на 10 тыс. человек, в Сингапуре — 605, а в Японии — 390), это огромный потенциал для роста всей индустрии. А это значит, что время робототехники и робототехников только начинается.
Языки программирования: на каком языке говорит робот?
Язык, на котором говорит робот (не важно, игрушка, робот-пылесос или медицинское оборудование), – это машинный код, набор знаков двоичной системы. Он сложен и малопонятен для человека. Писать на нем программы, то есть закладывать поведение робота, иррационально. Поэтому коммуникация между роботом и человеком происходит по такой схеме:
1. Человек пишет программу на языке программирования.
2. Написанный текст – код программы – проходит через «переводчиков»: компиляторы, интерпретаторы или трансляторы. Они преобразуют язык программирования в машинный код, понятный роботу.
Представьте, что вы хотите что-то объяснить итальянцу через переводчика. Ваш русский язык – это язык программирования, итальянский – это машинный код, ну а переводчик, соответственно, – транслятор, компилятор или интерпретатор.
Переводчики меняются в зависимости от языка. Общий принцип их работы остается неизменным, отличие в том, как они доносят до робота программу, которую он должен выполнить
3. Переведенная в машинный код программа попадает в «мозг» роботу. Роль «мозга» может играть схема, чип, микроконтроллер, микрокомпьютер или компьютер. Чем сложнее задачи будет решать робот, тем совершеннее должен быть его «мозг».
Видели собачек в детском магазине, которые начинают лаять, когда вы приближаетесь? В таких игрушках установлена электронная схема с простейшей логикой либо чип. Робот выполняет простейшие действия. Например, двигается по заданной траектории или воспроизводит записанный звук. Для более сложных задач уже потребуется микроконтроллер.

Знакомьтесь, это Атлант. Благодаря стереозрению, дальномерам, гироскопам и другим сенсорам он может управлять объектами вокруг себя и путешествовать по пересеченной местности
Низкоуровневые и высокоуровневые языки программирования
Сейчас используют несколько сотен языков программирования, которые можно разделить на две большие группы: низкого уровня и высокого.
Языки низкого уровня появились в начале 50-х гг. XX века, с их помощью программировать стало легче, чем на машинном коде. Используются они и сегодня и просто незаменимы в тех случаях, когда робот должен подчиняться строгому контролю. Но при работе с ними есть сложность. Для одного и того же действия, выполняемого роботами разной конструкции, нужно писать отдельную программу. Захват для роботоруки и робота-экскаватора будет выглядеть по-разному.
С языками высокого уровня – более развитыми и удобными для человека – такой проблемы нет. Особенности конструкции роботов не играют значимой роли, и одну и ту же команду выполнит любой из них. Но программы на таких языках весят гораздо больше, поэтому их пишут только для устройств с большим объемом памяти.
Мы можем договариваться с микроконтроллером через транслятор, и тогда, скорее всего, придется программировать на низкоуровневом языке. Если у микроконтроллера будет плата типа Arduino, то можно перейти на более «человеческий» высокоуровневый язык. Однако робот с несколькими типами управления запросто может оказаться полиглотом: его создатель будет сочетать разные языки для выполнения разных задач.

Учить сотни языков программирования не нужно, можно освоить несколько распространенных. Особенно это удается, когда придумываешь нового робота
Мы подобрали пять языков, которые в тренде у робототехников.
Топ-5 языков программирования в робототехнике
Чтобы рассказать подробно о нашей пятерке лидеров, понадобится написать не одну книгу. Поэтому мы решили отметить основные особенности – этого достаточно, чтобы вы имели общее представление о языке и поняли, почему он оказался в топе.
Для наглядности покажем, как выглядит программа, написанная на разных языках. С нее начинается любое обучение программированию – на мониторе или на ЖК-экране контроллера должна появиться надпись Hello, world.
Assembly («Ассемблер»)
Относится к языкам низкого уровня, который максимально приближен к машинному коду. С появлением микроконтроллеров подобных Arduino язык стал применяться реже, поскольку микроконтроллеры поддерживают управление роботами на более высоком уровне, используя C/C++ и другие языки.Однако не стоит списывать со счетов «Ассемблер» – он в буквальном смысле незаменим, если требуется абсолютный контроль. Объяснить роботу особое условие другим языком в некоторых случаях просто не получится.
Идея использования Java заключается в применении одного и того же кода на разных роботах благодаря виртуальной машине Java. На самом деле это не всегда работает и приводит к медленному исполнению программы, которая пытается донести код до робота. Ведь виртуальная машина сначала должна создать «образ» того, как будет работать данная программа на определенном роботе. Это занимает достаточное количество времени, а само исполнение происходит с задержкой. При этом язык довольно популярен в робототехнике из-за своей универсальности, а некоторые производители даже делают микроконтроллеры специально для программирования на Java.
Язык часто применяют для роботов, связанных с веб-технологиями. Например, в системе «умный дом» (правда, в этом случае используют JavaScript, но принцип похож) или в машине, которая снимает видео и транслирует его в интернет.
Саймон Риттер – евангелист Java и один из создателей, является лучшим специалистом по использованию Java-технологии в мире робототехники. Он разработал Robotics Software Development Kit и регулярно показывает новые роботизированные системы.
MATLAB
Среди инженеров-робототехников популярен язык MATLAB со своей средой и его родственники с интерпретаторами с открытым исходным кодом, например Octave.
Чтобы запрограммировать игрушечную машинку, высокоуровневый MATLAB не нужен. А вот для разработки компьютерного зрения будет в самый раз. Программы, написанные на этом языке, могут обрабатывать большое количество информации и давать точный результат.
Python
Язык высокого уровня Python ценят за простоту и экономию времени, например при определении и приведении типов переменных.
Кроме того, существует огромное количество уже готовых написанных скриптов – кодов выполнения программы. Когда нужно реализовать некоторые базовые функции, можно воспользоваться готовым решением. Также язык допускает простые привязки со скриптами, написанными на C/C++. Это означает, что на этих языках могут быть реализованы части кода, требующие высокой производительности. Таким образом Python стал универсальным практически в любой области.
Популярность языка в робототехнике в последние годы только растет. Он, к примеру, часто используется для программирования на Raspberry Pi. Этот микрокомпьютер просто создан для экспериментов и разработки IoT-устройств. Тем более для Python существует множество библиотек, где есть готовые решения для базовых программ. Благодаря несложному и интуитивно понятному синтаксису даже дети и новички могут легко создавать роботов на Python.
«Си» сочетает удобство написания высокоуровневых языков и контроль низкоуровневых. Лучше многих других языков транслируется в машинный код, но обладает непростым синтаксисом и не прощает ошибок. Даже одна неверная строчка нового кода может нарушить работу уже действующих программ. Кстати, программы в универсальном робототехническом языке (сокращенно GRL – Generic Robot Language) компилируются на таких языках команд, как С.
Высокоуровневый C++ сложен на начальных этапах программирования, но если вы его освоите, то сможете применять практически для любых задач.
C++ используется для:
- разработки программного обеспечения;
- создания операционных систем, различных программ, драйверов устройств;
- реализации приложений на встраиваемых системах, высокопроизводительных серверах, в играх.
В «Робиксе» мы используем платы Arduino, которые программируются на языке C++ с дополнениями. Поэтому на занятиях по робототехнике наши ученики знакомятся еще и с логикой программирования «Си плюс-плюс».
на языке С:
на языке С++
Неважно, чем вы занимаетесь: программированием микроконтроллеров на «Ассемблере» или написанием программ на «Питоне», каждый из этих языков хорош для определенных манипуляций. Они имеют разный синтаксис и учитывают разные условия.
Представим, что сегодня мы с вами роботы. Перед нами стоит задача-программа: «Встать с кровати и выйти в дверной проем».
Если бы писали программу на Python, то для нас, роботов, она выглядела бы так:
Встать с кровати
На C++ она выглядела бы совершенно по-другому:
(Создать объект «комната»)
(Создать объект «кровать»)
(Создать объект «Я»)

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

Робототехник всегда должен следить за окружающей его реальностью. Меняются обстоятельства, соответственно, меняются и показания датчиков. Камера робота может перестать распознавать цвета и объекты, и все это нужно предусмотреть
Легче всего простейшие алгоритмы и логика языков даются в детстве. В «Робиксе» мы обучаем основам программирования даже дошкольников. Наши ученики начинают со Scratch, знакомясь с программированием в игровой форме, и дальше осваивают более сложные языки Python и C++. Ребята с увлечением создают собственные игры, роботов, а заодно готовятся к «взрослому» миру, где языки программирования в ряде отраслей уже давно перешли в разряд must have, а дальше их, может, и вовсе заменит искусственный интеллект. И понимание алгоритмов работы компьютера, умение ориентироваться в механике, электронике и сопутствующих технологиях – хороший набор навыков для профессии будущего.
Профессия «Программист-робототехник»

В старших классах школы меня привлекла фраза «Лингвист должен знать всё» и в университет я пошёл на лингвиста-переводчика. Со временем понял, что перевод текстов вгоняет меня в тоску, но кое-как всё же доучился. А вот фраза не забылась, поэтому пишу на разнообразные интересующие меня темы от программирования до фотографии, но дольше всего про велосипеды и спорт — около 7 лет. Попутно прокачиваю навыки на онлайн-курсах, поэтому тексты на тему онлайн-образования уже полгода, как пополняют моё портфолио.
Робототехники создают автоматизированные механизмы и системы , которые снижают нагрузку на людей, а некоторые задачи выполняют эффективнее человека. Специалисты этой сферы делятся на инженеров и программистов. Первые проектируют роботов и поддерживают их работоспособность, вторые — «обучают» их выполнять задачи. Мы расскажем о программистах-робототехниках, необходимых им навыках и где получить нужное образование .
Программист-робототехник: кто такой и чем занимается
Робототехника появилась как ответвление мехатроники. Мехатроника — это наука о создании механизмов и систем из связанных механических, электронных, электротехнических и компьютерных модулей с запрограммированным управлением.
Программист-роботехник пишет код для автоматического решения машинами задач и проверяет корректность выполнения кода. Ведь если просто соединить все механические модули системы и подождать даже вечность, ничего не произойдёт. Для выполнения задач необходим код, связывающий модули.
Сборка автомобилей, проведение медицинских операций, спасение пострадавших в результате природных катаклизмов, исследование других планет — вот лишь несколько сфер, в которых задействованы роботы . Количество сфер их применения неуклонно растёт: автоматизированные системы следят за выращиванием овощей на фермах без участия человека , исследуют глубины мирового океана и очищают его от пластика, моют полы и окна в домах, собирают посылки на складах и делают многое другое.
Распространение роботизации и сравнение России с другими странами в этой области отражает доклад Минкомсвязи . Согласно данным, наиболее роботизированная отрасль в РФ и мире — автомобилестроение. Кроме неё в России роботы помогают собирать урожай зерна и доить скот в сельском хозяйстве, исследовать местность, составлять карты и бурить в горнодобывающей промышленности и собирать заказы на складах.
В каждом из упомянутых случаев программист прописывает алгоритмы движения роботов и факторы, исходя из которых автоматизированная система выполняет действия. Для сборки автомобилей специалист составляет последовательность действий: сначала прикрутить здесь, потом там, а после нескольких циклов — наоборот.
Постепенно автономные роботы вытесняют «простых»: наиболее распространённый пример — робот-пылесос. Им управляет микрокомпьютер с искусственным интеллектом, который создал программист-робототехник со знаниями машинного обучения , компьютерного зрения и языков для написания кода в этих областях .
Что нужно знать и как стать робототехником
Робототехника строится на нескольких базовых науках:
- Математика — из неё произрастают все остальные фундаментальные основы робототехники.
- Физика — без понимания движения тел и законов их взаимодействия невозможно освоить такую сложную дисциплину, как робототехника. Также из физики нужно взять механику и принципы работы электротехники.
- Мехатроника — это синергия механики и электроники. Робототехнику нужно понимать, как заставить механические приборы работать от электричества.
- Программирование — а это как раз то, что заставляет сложные приборы работать. Недостаточно просто собрать робота, нужно еще задать правила, по которым он будет работать, это задача программирования.
Чтобы получить профессию робототехника, можно пойти учиться в ВУЗы . В России специальность «Мехатроника и робототехника» открыта в московских, питерских, омских, вятских и других ВУЗах . Плюсы этого подхода — сильное инженерное образование со времён СССР и наличие диплома, который в РФ играет не последнюю роль, особенно в государственных компаниях.
Минусы тоже есть:
- Отрасль новая, а это значит, что вузовское образование может быть не очень подходящим для освоения дисциплины.
- Длительность обучения. Учиться придется 5+ лет. Это долго, если вы переступили возрастной порог в 25-30 лет, вы вряд ли захотите на очное отделение.
- Огромные затраты на образование. Цена вузовского образования — 200 000+ рублей в год. Это приличная статья расходов.
- Большой процент лишней информации. Как бы ни была продумана образовательная программа университета, в ней всегда есть общеобразовательные предметы: от философии до юриспруденции. Для работы робототехником они бесполезны и только отнимают время.
Минусов много и их нельзя назвать несущественными. Поэтому, если вы не хотите тратить кучу денег и времени, выбирайте другой путь — можно начать с курсов по программированию. Сейчас таких курсов очень много и большинство из них по-настоящему качественные. Кроме того, обучение на курсах робототехники — это возможность научиться новой профессии в небольшие, по сравнению с ВУЗами , сроки. Однако напомним, что стать специалистом в какой-либо сфере можно только совмещая теорию и практику в течение длительного времени и анализируя прогресс.
Начинающему программисту-робототехнику для старта будут полезны курсы по языку C++ и языку Python .
Программистам, которые хотят развиваться в сторону автономных роботов , подойдут курсы машинного обучения .
Опытным программистам пригодятся курсы виртуальной и дополненной реальности , поскольку спектр применения этих технологий для роботов неустанно растёт.
Востребованность профессии «Программист-робототехник»
На hh.ru нашлось не так много вакансий — менее 200. А между тем Россия нацелена на расширение областей применения мехатроники — об этом говорит исследование Минкомсвязи . На волне всеобщей роботизации компании заявляют о нехватке кадров , но искать специалистов предпочитают через другие каналы: кадровые агентства и IT-рекрутеров.
При этом сильный программист-робототехник с навыками инженера не останется без работы . За такими и охотятся работодатели — программистами, которые пишут код на нескольких языках, базово понимают механизмы, радиотехнику и электротехнику и представляют, как нужно проектировать и собирать роботов или даже умеют это делать .
На старте карьеры, имея только навыки программирования, тоже можно найти работу. Те же компании-участницы рынка мехатроники, а также центры, клубы и секции для детей и подростков активно подготавливают новые кадры. По запросу «преподаватель робототехники» мы нашли больше 300 вакансий .
График и формат работы программиста-робототехника
Программистов-робототехников ждут на позиции преподавателей, а также в конструкторских бюро, научно-исследовательских центрах и компаниях-производителях автоматизированных систем . Это могут быть стартапы или крупные компании.
Стартапы. В небольших компаниях один специалист часто выполняет довольно широкий круг задач. Поэтому хоть часть работодателей и согласны на удалённое сотрудничество , знания нужны всесторонние. К тому же в молодых компаниях чаще случаются переработки, потому что не все процессы налажены, случаются форс-мажоры, а распределить задачи по их решению не на кого — коллектив небольшой.
Крупные компании. Крупные компании предлагает полную занятость по стандартному графику 5/2 с оформлением по ТК, командировками и поездками на производство. Встречаются предложения об оплате дополнительного обучения , возмещении затрат на спорт и других бонусах. Эти вакансии предлагают такие российские компании как «Яндекс», «Сбербанк», «Киберсклад», «Ронави Роботикс» и др.
Центры обучения робототехнике. Педагогам в этой сфере нередко предлагают частичную занятость и гибкий график. Большинство вакансий предусматривают работу по договору гражданско-правового характера: без оформления в штат.
Зарплата программиста-робототехника
Зарплата зависит от компании, типа занятости и навыков соискателя. Специалисты со знанием машинного обучения претендуют на лучшие условия труда ввиду более высоких требований. Программисты с навыками инженера претендуют на уровень заработной платы профессионала, но она не в последнюю очередь зависит от проекта и работодателя. В таблице ниже приведены данные о распределении зарплат робототехников и мехатроников в зависимости от опыта в профессии.
Успеть до восстания машин: как стать программистом роботов

Привет, Хабр! На этот раз мы пригласили в наш блог Артема Аксенова — учредителя и генерального директора компании 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 в телеграм.

Симулятор SimPRO поддерживает и программирование роботов, и имитацию CAM-систем
Самый быстрый способ погружения в тему — специализированные профессиональные курсы, но стоят они недешево. Скажем, KUKA просит около 140 тысяч рублей за неделю своей образовательной программы. Однако, если вы серьезно намерены войти в профессию, но по каким-то причинам не хотите идти в вуз, то оно того стоит. Пройдя подобный курс, можно устроиться на стажировку практически к любому интегратору. Им постоянно не хватает программистов.
Карьерный путь и перспективы
По мере работы стоит освоить программирование ПЛК (например, Siemens или Omron), пройти курсы повышения квалификации в KUKA или у другого крупного вендора. Наши сотрудники уделяли много внимания Universal Robots, потому что у них дешевые коботы, но сейчас компания ушла из страны.
Вместе с новыми знаниями проходит и карьерный рост внутри компании. Рядовой программист становится руководителем проектной группы. Другие варианты профессионального развития — пойти работать к вендору (FANUC, ABB или той же KUKA) или открыть собственный стартап-интегратор.
На заводах КАМАЗ больше 500 роботов и, хотя все они давно установлены и работают, нередко нужно подправить точки, переписывать программы. Подобные заказы успешно выполняют команды из нескольких фрилансеров и, похоже, теперь они станут еще востребованнее.

За последние три года под брендом ВР-МАСТЕР наша команда реализовала больше 50 проектов с использованием роботов и вошла число крупнейших российских интеграторов по оценкам НАУРР
Да, в России в разных отраслях внедряется приблизительно 1 тыс. роботов в год. Это небольшой рынок, и его рост замедлился. Отчасти потому, что не все понимают, как использовать роботов, так, чтобы они работали качественнее и эффективнее людей. Другая проблема — стоимость таких комплексов. Компании боятся вкладывать в производство большие деньги, потому что экономика нестабильна, и заказов завтра может не быть.
Из-за санкций из страны ушло несколько вендоров. Оставшиеся альтернативы хуже, и российские производители роботов вряд ли смогут быстро догнать мировых лидеров. Однако, не все так плохо, как может показаться.
Даже для существующих в России производств программистов-робототехников все равно не хватает, и это не говоря о других странах
Я знаю проекты по литейке в Алжире и Калифорнии, которые не получается запустить из-за нехватки специалистов по роботам. Даже если программист-робототехник не найдет себе применение в России, то за рубежом он точно будет востребован.
Так или иначе, за такими машинами будущее. Мой дедушка 20 лет возил по заводу ванны с расплавленным алюминием, но уже сейчас всю литейку переводят на роботов. Это логичный, даже неизбежный путь развития, который делает промышленные производства чище, безопаснее и эффективнее.