Как не превратить робота в груду металлолома, или причём тут софт?
Уровни WMS, RMS, RCS и PLC: какие требования предъявлять к ПО на каждом уровне и как установить RCS на робота.
Уровни софта для роботизации
В роботизации складов и производств применяются несколько классов систем, необходимых для планирования и исполнения операций. Их можно изобразить в виде пирамиды (рис. 1). Чем ниже система, тем более частную задачу она решает. Так, например, WMS управляет процессами на уровне контрагентов и заказов, не думая о том, в какой момент какой ток нужно подать на моторы робота, тогда как RCS-система напрямую взаимодействует с железом робота и ничего не знает о планах поставки на следующий месяц.
Каждая из этих систем является важным звеном в общей схеме управления, и проблемы в любой из них могут остановить весь процесс. Поэтому при выборе роботизированных технологий нужно всегда проверять все уровни систем на соответствие тем критериям выбора, которые вы для себя определили: открытость, кастомизируемость, импортонезависимость, наличие и стоимость поддержки.
WMS (Warehouse Management System) — уровень 3
Верхнеуровневая система управления операциями склада. В рамках WMS выполняется планирование операций от момента поступления товаров на склад, их размещения и хранения, до отбора заказов и финальной отправки конечному потребителю. WMS задаёт цели и контролирует их выполнение, взаимодействуя с сотрудниками и роботизированным оборудованием. Является источником высокоуровневых задач для системы RMS, управляющей флотом роботов.
RMS (Robot Management System) — уровень 2
Система централизованного управления флотом роботов. В рамках RMS происходит детализация высокоуровневых задач, полученных от WMS, поиск наилучшего робота-исполнителя, выдача задач на исполнение и контроль их реализации. RMS работает в реальном времени, быстро реагирует на нештатные ситуации, управляет зарядкой роботов, балансировкой нагрузки между роботами в рамках флота в целом.
RMS — это мозг целого роя роботов, максимально эффективно выполняющий поставленную задачу, оптимизируя маршруты и устраняя коллизии.
RCS (Robot Control System) — уровень 1
Бортовое ПО, установленное на конкретном роботе. RCS-система ничего не знает про других роботов, она только принимает задания от RMS на исполнение. Это может быть задание на перемещение из точки А в точку Б, поднятие или опускание вил, захват паллеты. Задача RCS — выполнять пришедшие ей команды, обеспечивая безопасность всех перемещений, а также учитывать ограничения физического мира. Бортовое ПО устанавливает скорости движения моторов, обрабатывает данные с датчиков и камер для объезда препятствий. За счёт таких технологий, как SLAM или сканирование напольных меток, выполняет позиционирование робота на карте. Для правильного захвата распознаёт коробки и паллеты с помощью ИИ.
До недавнего времени считалось, что RCS-системы — это неотъемлемая часть робота, например роботизированного погрузчика, и должны поставляться производителем робота. Однако в настоящее время стало появляться много российских решений для решения подобной задачи, значительно превосходящих ПО, входящее в комплект робота.
PLC (Programming Logic Controller) — уровень 0
Установленные на роботе производителем контроллеры моторов, питания, вил, блоки управления батареей предназначены для управления токами и напряжением на оборудование исходя из управляющих сигналов RCS. Также они сообщают о состоянии аппаратных частей робота: скорости движения, высоте подъёма вил, давлении в поршнях, напряжении на клеммах батареи. Скорость сигналов в такой системе может измеряться тысячными долями секунд.
Какие требования нужно применять к ПО на всех уровнях?
Да, собственно, одни и те же. Главное — не упускать из виду ни одну из систем, потому что сбой на любом из уровней приведёт к отказу всей роботизированной системы в целом. Особенно важно обращать внимание на открытость той или иной системы, а также наличие качественной технической поддержки и связи с вендором.
В настоящий момент существует достаточно много рейтингов по WMS-системам (уровень 3), критерии выбора также вполне чётко сформировались. Среди наиболее заметных игроков на этом рынке: AXELOT, Solvo, EME, Logistix и другие (карта логистических решений «Логистика 360»).
RMS-системы (уровень 2) — это более новый класс ПО для российского рынка, но и тут требования и критерии выбора довольно прозрачны. Среди наиболее заметных игроков: Logareon и «Яндекс Роботикс».
Что касается RCS-систем или бортового ПО роботов (уровень 1), тут пока понимания не сформировалось. Вместе с тем именно по причине отказов или некорректной работы ПО на этом уровне проваливается очень много роботизированных проектов. В связи с этим на рынке сейчас появляются компании, специализирующиеся на данном классе ПО, которое устанавливается на роботизированную технику различных производителей. Среди компаний, разрабатывающих такой софт, начала свою работу «Акселот Беспилотные Решения».
RCS-системы и требования к ним
RCS-системы установлены на любой роботизированной технике: беспилотные тележки AMR, штабелёры FMR, 3D-шаттлы, конвейеры, автономные системы хранения. Бортовое ПО является крайне важным звеном информационных систем в цепи роботизации. Поэтому критически значимым становится ответ на вопрос: «Удовлетворяет ли RCS-система, установленная на роботе, моим требованиям?».
Открытость и кастомизируемость
Часто при внедрении роботов обнаруживается множество проблем и неожиданностей, из-за которых машина может работать неправильно, из раза в раз повторяя неверный или иногда даже опасный паттерн. Причём это может проявляться только на вашем складе из-за какой-нибудь конструктивной особенности, например балки, нависающей над проездом, которой робот «пугается» и встаёт в ступор. В связи с этим RCS должна быть открыта для изменений, внесения дополнительных блоков кода, уникальных настроек и сценариев под каждое внедрение. Иначе можно получить неэффективный или опасный процесс, а в крайнем случае — нерабочий парк роботов стоимостью десятки и сотни миллионов рублей.
Закрытость софта приводит к зависимости от политики одного вендора, и если поставщик перестаёт должным образом поддерживать продукт или изменяет условия его эксплуатации, компания сталкивается с проблемами обновлений и рисками в безопасности.
Иногда бизнесу важно внедрить роботов в нетипичные процессы, например иметь возможность ориентироваться не по лидару, а по камере; захватывать паллету, завёрнутую в непрозрачную стрейч-плёнку, или работать с паллетами нестандартного размера; проводить инвентаризацию, разгрузку машин, проезд в стеллажах, маневрирование в ограниченных пространствах, возможность гибридной работы в помещении или на улице. Глубокую кастомизацию можно проводить только при полностью открытом софте с возможностью подключать к нему своё оборудование.
Импортонезависимость
На данный момент это острый вопрос для нашей страны. Нередки случаи, когда поставщики роботов уходят из России, отзывают лицензии, прекращают поддержку своего софта. Это касается и производителей из дружественных стран из-за опасности вторичных санкций. Так, например, случилось с китайской компанией Hai, которая громко вышла на российский рынок роботизации, а потом так же громко хлопнула дверью, перестав поддерживать проданную за это время технику. Это может нести бизнесу большие убытки и «окирпичить» целые флотилии роботов. Важно получать от иностранного поставщика гарантии, позволяющие вашему бизнесу продолжить работу в случае его ухода, например исходный код. Но самый лучший вариант — работать с отечественным надёжным поставщиком софта RCS.
Техподдержка
Множество существующих поставщиков роботов не предоставляют качественную поддержку своего софта RCS. В редких случаях она может осуществляться при больших объёмах закупок (20+) роботов. Также возникают проблемы из-за языкового барьера и нестабильности каналов связи. Время исправления или кастомизации софта может достигать многих месяцев, что ведёт к простоям или неправильной работе техники и потере денег.
Важно выбирать поставщика RCS с быстрой и качественной поддержкой — это поможет быстро решать внезапные проблемы, возникшие после внедрения, добавлять новые функции и получать необходимые обновления.
Возможность интеграции RCS с RMS
Крайне важным пунктом является возможность интеграции бортового RCS на отдельном роботе с централизованной RMS. Часто производители роботов создают собственные системы управления флотом, в которые можно подключить роботов только конкретного производителя по закрытому протоколу. К ней нельзя подключить аналогичных роботов других вендоров, или если вы хотите синхронизировать работу разных роботов, например 3D-шаттлов и FMR, то интегрировать роботов вместе вам не удастся — процессы управления будут независимыми, что крайне неэффективно. Также не удастся расширить флот за счёт роботов другого производителя и интегрировать их в тот же рой, если по каким-то причинам вы не можете купить точно таких же роботов, какие есть у вас (снятие с продаж, цена, уход с рынка поставщика и т.д.), или вы захотите роботов другого типа. В итоге можно получить склад со слабо связанными роями роботов, несколькими конфликтующими между собой RMS-системами, каждую из которых нужно обслуживать. Это несёт в себе большие расходы и долгосрочные проблемы. Выбирайте RCS, поддерживающие интеграции по открытым стандартным протоколам, например VDA5050.
Как установить RCS на робота?
Как было сказано выше, часто RCS входит в комплект поставки робота как бортовое ПО. И многим кажется, что она является неотъемлемой частью купленного робота, однако это далеко не так. Существует множество способов и вариантов управления роботом с помощью той системы, которая больше подходит под ваши критерии.
Главным образом это следующие варианты (рис. 2):
- Есть поставщики роботов, которые поставляют «тушки» роботов без «мозгов», то есть без бортового RCS — это очень похоже на ноутбуки без операционной системы. Такие «тушки» стоят гораздо дешевле готовых к использованию аналогов. В Китае, например, такой вариант достаточно сильно распространён. Там есть отдельные поставщики «тушек», оборудованных всеми необходимыми датчиками, и отдельные поставщики «мозгов», которые работают с конкретными потребностями клиента. Примером таких платформ может служить компания Rebot, а поставщиком ПО — Seer, KC и др.
- Если уже есть купленные роботы с установленным бортовым RCS, то всегда есть возможность заменить RCS, установленную на роботе производителем, на выбранную вами. Тут вопрос только интеграции RCS с PLC конкретного робота, что для поставщиков RCS обычно является рутинной задачей.
- Если у вас уже есть купленная нероботизированная техника, её тоже можно роботизировать, установив ПО и подключившись к её PLC. Здесь надо понимать, что не вся старая техника поддаётся роботизации по причине технических ограничений. Например, дизельные погрузчики роботизировать не получится — техника должна быть электрической.
В России уже стали появляться компании, разрабатывающие на 1 уровне (RCS) и интегрирующие ПО в технику в перечисленных выше случаях. Например, за это взялась компания «Акселот Беспилотные Решения».
Выводы
В роботизации есть три основных информационных системы — WMS (уровень 3), RMS (уровень 2), RCS (уровень 1), — к выбору которых нужно подходить ответственно, предъявляя весьма конкретные требования:
- Любая роботизированная или нероботизированная техника может быть оснащена или дооснащена бортовым ПО, делающим из базовой платформы полноценного робота.
- В случае несоответствия систем на всех уровнях необходимым критериям на роботизации можно потерять много времени и денег, а также разочароваться в ней, пока конкуренты будут уже на полпути к возврату инвестиций.