Видят ли роботы радугу?

В каких условиях работает машинное зрение горных робокомплексов

847dd1e3196e7dc0735352de6b7aa66e.jpg

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

Меня зовут Фёдор Глазырин. Уже четыре с лишним года я занимаюсь промышленной роботизацией — веду направление исследований, аналитики и упреждающей разработки в «Цифра Роботикс». Моя задача в команде — искать и анализировать внешнюю информацию, находить решения сложных проблем в алгоритмах и методах и притаскивать в работу разные интересные технические фокусы. В этом посте я расскажу, с чем мы сталкиваемся, когда делаем автономных роботов для горной промышленности, и как это влияет на характеристики и подходы к разработке машинного зрения наших роботизированных комплексов.

Дадим стране угля: где нужны самые большие беспилотники

Мы хотели бы вещи, которые просто работают, но приходится иметь дело с «технологиями».

Д. Адамс

Наша компания работает в довольно специфической области: мы автоматизируем промышленные процессы на горнодобывающих карьерах. Например, там есть такой процесс — перевозить внутри карьера сотни тысяч тонн горной породы между разными точками, иногда за десятки километров. Традиционно во всем мире это делается с помощью колёсных самосвалов — больших и маленьких. Ну как маленьких… Вот машина с грузоподъёмностью 90 тонн считается довольно маленькой. Ходовой размер, скажем, тонн на 220. Это техника, которую вряд ли увидишь на дороге общего пользования, не то что в городе. Особый размер, особые двигатели и трансмиссии, особое всё. Предприятие работает круглые сутки, и всё время десятки многотонных самосвалов утюжат огромными колёсами серпантины карьера. И каждый из них ведёт живой водитель, отрабатывая свою длинную смену в тяжелых условиях промышленного производства, с ненулевой опасностью попасть под обвал или соскользнуть с уступа вместе с машиной.

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

Вот сюда мы и несём инновации: автоматизированные транспортные комплексы с автономными самосвалами, которые могут непрерывно перевозить горную породу без участия водителей, и роботизированные буровые установки, передвигающиеся без машиниста и ведущие автоматическое высокоточное бурение.

Чудный закат над буровым роботом в СибириЧудный закат над буровым роботом в Сибири

Взгляд в темноте

А вокруг красота — не видать ни черта,
И все кричат: «Ура!», и все бегут вперёд,
И над этим всем новый день встаёт.

Виктор Цой. Печаль

Считается, что промышленное окружение проще для роботов, чем открытая среда дороги общего пользования. Мол, на предприятии всё строго, проведены нужные границы безопасности, все наличные люди и техника учтены, и для работы роботов можно организовать «песочницу», где не будет неожиданностей. Однако наш робототехнический стартап зародился в компании с многолетним опытом работы в горной отрасли: компания «ВИСТ», ныне входящая в группу «Цифра», уже более 30 лет поставляет на карьеры оборудование и ПО для диспетчеризации транспортных потоков и флота самосвалов. И этот опыт говорил нам, что масштаб неожиданностей, которые ждут автономный самосвал на маршруте, нешуточен.

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

Далее, горнодобывающее предприятие работает круглосуточно и в самых разных погодных условиях. На многих маршрутах нет стационарного освещения ночью, и машины работают только при свете собственных фар. Сложные погодные условия — дождь, туман — не останавливают работу, хотя при плохой видимости водители иногда снижают скорость. На предприятиях Сибири и Дальнего Востока еще нужно учитывать морозы: в 2020 году мы проводили работы при −47 °С. Когда очень холодно, двигатели просто не глушат, так как на морозе их сложно завести вновь. Кстати, самосвалы и буровые станки постоянно живут под открытым небом: ангаров, куда можно загнать такую большую технику, немного, и они почти всё время используются для ремонтных работ.

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

Тут ещё не очень пыльноТут ещё не очень пыльно

Наша задача — сделать так, чтобы наши роботы двигались и реагировали на окружающую обстановку самостоятельно всё время своей работы, а оператор, наблюдающий за комплексом, вмешивался в происходящее только в случае действительно нештатных ситуаций. И хотя горное предприятие — объект со строгими регламентами безопасности и контролем доступа людей и техники, неожиданностей там хватает. Например, когда на рабочем участке появляется неучтённый и незваный уазик, роботы останавливаются и ждут команды оператора на продолжение работы. Но чтобы один оператор действительно мог «рулить» флотом из 6–10 машин, таких ситуаций должно быть мало.

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

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

ed99281412fbc228fd400d0ca311e010.jpg

Кого берут в космонавты

 — Товарищи курсанты! Приборы, которые вам сейчас покажут, работают при температурах до минус трёхсот градусов!

Армейский анекдот

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

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

Вот так, например, выглядела схема размещения оборудования на одном из ранних пилотовВот так, например, выглядела схема размещения оборудования на одном из ранних пилотов

Всё оборудование, находящееся вне шкафа, должно иметь уровень защиты от влаги и пыли не ниже IP68 и выдерживать температуру от −40 до +40 °С. Большинство серийно производимых лидаров сертифицированы только для температуры от −20 °С. При внедрении в Сибири мы сталкивались с тем, что и сенсор, имевший −40 в паспорте, завёлся только после дополнительного прогрева. К счастью, лидары изрядно греются при работе, и когда робот уже запущен, то мороз ему не так мешает. Но нам нужно быть уверенными, что оборудование не выйдет из строя после ночевки при −35 °С и нормально переживёт работу рядом с вибрирующим тысячесильным дизелем.

Датчики, стоящие сзади самосвала и рядом с бурильным аппаратом бурстанка, находятся ещё в более экстремальных условиях: вокруг них регулярно летает перемещаемая земля и порода. Камни размером с кулак — абсолютно нормальное явление там.

Фронтальный лидар в естественном положении после плановой чисткиФронтальный лидар в естественном положении после плановой чистки

Всё оборудование, работающее внутри шкафа (скажем, бортовые компьютеры), должно работать в условиях пассивного охлаждения. Поэтому, например, мы не можем использовать вычислительные мощности современных видеокарт. Чтобы отводить тепло от мощного чипа летом, понадобится система активного охлаждения. Сделать такую в промышленном исполнении, чтобы она работала в условиях вибрации, пыли, перепадов температуры, — задача для отдельного бизнеса, если не научной коллаборации. Поэтому риги со стопкой топовых GeForce остаются за пределами горнодобывающих предприятий. Ну разве что в охлаждаемых серверных комнатах. Это накладывает ограничения и на алгоритмы процессинга лидарных данных: крутить в реальном времени тяжелую и сложную обработку не выйдет. Те же нейросети, классифицирующие обнаруженные лидаром объекты, приходится резать для запуска на платформах типа Nvidia Jetson. «Джетсоны», к счастью, промышленное исполнение имеют.

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

Обзор от забора и до обеда

 — Какой народ! Глаза есть — посмотри нету. Такие люди в сопках живи не могу — скоро пропади.

В. Арсеньев. Дерсу Узала

Задачи машинного зрения для автономного самосвала или бурстанка, конечно, отличаются от трудностей городского беспилотного такси. Вокруг горного робота меньше людей, различных машин, знаков и других объектов. Ему не нужно предсказывать, побежит ли под колёса во-о-он тот пешеход на краю тротуара. Если на дороге окажется человек, робот-самосвал должен просто вовремя остановиться и сигнализировать оператору о нарушении техники безопасности. Но с управляемыми человеком машинами, работающими рядом, вопрос прогнозирования остаётся. А многие заказчики хотели бы, чтобы роботы беспрепятственно и безопасно делали своё дело среди пилотируемой техники.

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

Иначе, чем для легковушек, выглядит и вопрос о слепых зонах. Например, высота самосвала 130-тонника — 6 метров, ширина — 7, а в длину он почти 12 метров. Лидар, поставленный на крышу такой машинки, не будет видеть практически ничего. Для лидара на переднем бампере половина пространства будет наглухо загорожена самим роботом. Поэтому роботу необходимо несколько сенсоров в разных местах, по отдельности покрывающих все стороны машины. Кстати, с таким подходом мы уже сейчас существенно выигрываем в безопасности у водителя. Несмотря на точно расположенные зеркала и рассчитанную эргономику кабины, он физически не может рассмотреть всё пространство вокруг огромной машины. Буквально недавно мы смотрели видео с регистратора одного несчастливого внедорожника: тронувшийся с места карьерный самосвал наехал на него просто потому, что джип оказался закрыт от водителя углом исполина. Потом специально нашли идентичную ситуацию из тестов наших роботов: легковушку в этой слепой зоне наш робот видит уверенно.

К сожалению, у водителя только два глаза. У роботов — больше (Фото с сайта motor.ru)К сожалению, у водителя только два глаза. У роботов — больше (Фото с сайта motor.ru)

Свои требования есть и к срокам реагирования на препятствия. Даже несмотря на то, что самосвал едет медленно, редко больше 50 км/ч, его тормозной путь всё равно составляет не менее 30 метров из-за огромной массы машины и специфики управляющих механизмов. И это если он не едет под гору с грузом в кузове — тогда затормозить ещё сложнее. Электромеханической трансмиссии требуется несколько секунд, чтобы переключиться с разгона на электродинамический тормоз, — это дополнительные задержки управляющего решения, на которые мы не можем повлиять. Поэтому времени на реагирование у нас несколько больше, но нужная нам дальность зрения лидара всё равно велика. Скажем, производитель сенсора указывает дальность детекции 200 метров при отражающей способности 10%. В реальности же встречный самосвал робот начнёт видеть на расстоянии 80–90 метров, а уверенно детектировать ещё немного ближе. Этого хватает, чтобы гарантировать безопасную остановку, но если мы захотим максимально увеличить крейсерскую скорость самосвала, то нам нужен будет более дальнобойный сенсор. А увеличить скорость мы хотим: это даёт меньшее время рейса, больший грузооборот и, следовательно, осязаемую выгоду заказчику.

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

Для автономного бурового станка всё, на первый взгляд, проще: у гусеничной платформы, ползущей со скоростью 1,5 км/ч, море времени для реакции, и детектировать препятствия метров за 5 вполне достаточно. Но тут становится актуальной задача по анализу рельефа: машине нужно постоянно обнаруживать неровности, кучи породы, камни и уклоны на участке своей работы, чтобы эффективно планировать манёвр к следующей точке бурения. Получается, что тут тоже нельзя обойтись маломощными сенсорами «от пылесоса».

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

Таковы вкратце условия, в которых приходится работать машинному зрению горных роботов. Нам уже довелось проводить робот-грузовик среди железобетонных джунглей металлургического комбината, обкатывать самосвал-беспилотник в Африке, внедрять роботизированные системы в Сибири и на Дальнем Востоке. Сейчас мы расширяем наши проекты в РФ и готовимся к запуску высокогорного проекта в Перу, попутно обкатывая новые фичи на гранитном разрезе в Беларуси. Новые условия, природные и техногенные, неизбежно принесут нам новые задачи. Мы к ним уже готовы, по крайней мере морально.

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

© Habrahabr.ru