Следуй за человеком. Об ориентировании роботов в толпе

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Минувшим летом я знакомил сына с Москвой, а также с моими московскими друзьями из разных времён. Мы даже успели заглянуть в офис Хабра в компании с @Boomburum Неудивительно, что нам довелось посетить разные уголки прекрасного московского метрополитена, считая светло-синий Арбат, Смоленскую, ВДНХ, Сокол, Выхино, Некрасовку, Бауманскую и Окружную. Сын мне то и дело напоминал, что «нужно идти туда, куда больше людей идёт» - признаться, стратегия не лучшая, хотя и логичная. Развивая его идею, я предложил ему пофантазировать, как бы в московском метро ориентировался робот, на что бы он обращал внимание? На инфографики, сквозняки, расположение эскалаторов или, всё-таки, на человеческие потоки? Постепенно я пришёл к выводу, что в многолюдном пространстве именно человеческие потоки были бы самым важным ориентиром для мобильного робота, и под катом попробую разобрать этот вопрос подробнее.

Наверняка я бы и не подумал обращаться к этой теме, если бы не бесценный опыт помощи с подготовкой научных статей, приобретённый мной в 2019-2021 годах в лаборатории автономных робототехнических систем (ЛАРС) в институте СПИИРАН, бессменным руководителем которой с тех и до сих пор является уважаемый Антон Савельев.

Роботы и учёт риска

В настоящее время мобильные роботы всё активнее используются в многолюдных местах, где велик риск столкновения машины как с людьми, так и с препятствиями. Вездесущие роботы-курьеры «Яндекса» попадаются на тротуарах, пешеходных переходах, заезжают на пандусы, в торговые центры и даже в лифты. В расширительном смысле к числу таких мобильных роботов можно отнести и беспилотные автомобили, в настоящее время ориентирующиеся как по данным лазерного дальномера (лидара), так и по алгоритмам компьютерного зрения. Наиболее привычным мобильным роботом, уже вошедшим в повседневный быт и показательным для этой статьи, можно считать робот-пылесос. Он использует как ультразвуковые, так и инфракрасные датчики, а также должен учитывать движение людей и домашних животных в помещении и эффективно обходить препятствия. Более совершенные роботы, действующие, например, в торговых рядах и музеях, должны учитывать разнообразные факторы риска (хаотическое перемещение людей, притом, что человек может резко менять скорость и направление движения) и неопределённость сенсорных данных. Кроме того, в реальных условиях робот не всегда может полагаться на данные сенсоров из-за потенциальной зашумленности, интерференции, перебоев со связью и даже из-за собственного движения камеры. Робот вполне может приобретать навыки движения в толпе при помощи обучения с подкреплением (reinforcement learning), однако простого метода «проб и ошибок» в данном случае недостаточно. У робота также должно быть реализовано представление о риске. Различные варианты алгоритмов для оценки рисков находятся на стыке психологии и теории вероятностей, но у мобильного робота логика избегания рисков должна быть двоякой: не повредить себя и не навредить человеку. Разработаны такие модели оценки риска, как совокупная теория перспектив (CPT), ожидаемый риск (ER, Expected Risk), условные средние потери (CVaR), но в случае с мобильным роботом все они недостаточны, пусть и полезны. Требуется алгоритмизировать человеческое восприятие рисков – например, понять, как учится пользоваться нерегулируемым пешеходным переходом человек, не привыкший к плотному городскому трафику. Для алгоритмизации таких процессов нужно понять, как они строятся у человека. Это один из вопросов, рассматриваемых в рамках «объяснимого искусственного интеллекта» (XAI). Такая концепция помогает уводить искусственный интеллект от модели «чёрного ящика», и благодаря этому решения робота становятся понятнее, логичнее, аккуратнее и, в конечном итоге, безопаснее.    

Учёт риска и работа по стратегии «play it safe» (избегание опасности) – это линейный процесс принятия решений, используемый, в частности, в навигационных алгоритмах и при прокладывании пути.  

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

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

Интерактивные роботы и взаимодействие с людьми

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

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

Огибание препятствий, в том числе, в условиях частично заслонённого поля зрения, рассматривается и в позднейших статьях, например, в этой. Однако прокладывание маршрута среди людей не вполне аналогично движению в потоке транспорта. Большинство моделей для имитации водительского поведения реализовались для применения в городских условиях в расчёте на повышение безопасности беспилотного автомобиля. Но движение автомобиля – процесс гораздо более предсказуемый, чем движение пешехода, который может, например, срезать углы и спонтанно перестраивать маршрут. Таким образом, задача прокладывания маршрута в толпе значительно сложнее, чем алгоритмизация дорожного движения, поскольку движение толп подчиняется саморегуляции (но не жёстким правилам) и требует учитывать, в частности, социальную дистанцию и стадное поведение. Чтобы приспособить робота к движению в толпе, не обойтись без обучения с подкреплением, а также без других методов глубокого обучения, например, кластеризации. При этом задача огибания препятствий сохраняется, но решается не столько с учётом расположения препятствий, сколько исходя из движения толпы. Итак, алгоритм глубокого обучения можно интегрировать с моделью скрытого пространства, в которую вписана карта препятствий, а для обучения применять вариационный автоэнкодер.

Как моделируется движение робота в толпе

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

1)    Формирования групп

2)    Теории приближения и выдерживания личного пространства

3)    Огибания препятствий

4)    Ожидания своей очереди на вход

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

Движение людей в толпе неоднородно, и для него характерна определённая кластеризация. Можно выделить группы людей, движущиеся в основных направлениях (зависящих от планировки здания или расположения пешеходных переходов), движущихся с определённой скоростью, либо начинающих вместе обходить внезапно возникшее препятствие, например, лужу с жидкостью от разбившейся бутылки. Также при помощи машинного зрения можно вычленять в толпе частично заслонённых людей, например, маленьких детей, которых ведут за руку.

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

В 2022 году эти предположения были протестированы специалистами Стэнфордского университета и Университета штата Иллинойс в Урбана-Шампейн в серии экспериментов с роботом Turtlebot 2i, как в симулированной, так и в реальной среде. Пока обучение с подкреплением может использоваться только в качестве вспомогательного механизма, роботу требуется заранее давать подробную карту и модель той среды, в которой ему предстоит действовать.

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

Симуляция толп

Симуляция толпы при помощи роя мобильных роботов в настоящее время активно исследуется, на Хабре эта проблема рассмотрена, например, уважаемой @moiseeva в хаброблоге университета МиСиС. Симуляция толпы – это моделирование коллективного поведения большого множества единиц или персонажей. Такая симуляция применяется в самых разных контекстах, как при моделировании «зерг раша» в компьютерных играх, так и при изучении механизмов эвакуации и построении моделей паникующей толпы. Существует два принципиально разных подхода к такой симуляции: макроскопический и микроскопический. При макроскопическом подходе толпа трактуется как однородная среда, для которой можно выводить средние значения – например, среднюю скорость и среднюю плотность. Напротив, при микроскопическом подходе каждый юнит в толпе расценивается как автономный виртуальный агент, придерживающийся собственной навигационной стратегии. Пока при работе с автономными роботами активнее используется микроскопический подход – возможно, потому, что роботы до сих пор остаются достаточно крупными.  

Ранее в статье о расширении человеческого зрительного восприятия я приводил пример, как не отличающаяся острым зрением гремучая змея при выслеживании добычи одновременно ориентируется как на видимый, так и инфракрасный спектр (тепло), причём, получает эти сигналы от двух разных органов. Похожий механизм ориентирования (сочетание зрения и эхолокации) использует летучая мышь. Аналогично, в мобильных роботах обычно используется несколько видов сенсоров. Наиболее важными из них остаются оптические, поскольку активно развиваются как мобильные камеры, так и алгоритмы для распознавания, сегментирования и классификации изображений. Зачастую сложные обобщенные методы ассоциирования данных сочетаются с расширениями, специфичными для конкретной предметной области. Например, в радиолокации применяются методы JPDAF или MHT, демонстрирующие высокую производительность при работе с роями объектов или в сильно зашумленных средах. Однако при отслеживании толп они дают слишком много ложноположительных результатов. Движение людей в целом гораздо более упорядоченное и предсказуемое, чем траектории воздушных целей, поэтому робот вполне может ориентироваться в толпе при помощи лидара, одновременно картируя собственные маршруты и классифицируя встречающиеся на пути объекты. Даже некоторые роботы-пылесосы могут составить подробную карту квартиры. В мобильных роботах применяются сенсоры RGB-D для обнаружения движущихся объектов, а также более сложные алгоритмы, например, IMM (многоальтернативный фильтр, поддерживающий переход от одной модели движения к другой). Во многих трекерах движения также используется расширенный фильтр Калмана (EKF), позволяющий учитывать движение с постоянной средней скоростью и поэтому хорошо подходящий для моделирования потока пешеходов. Но, по-видимому, универсальной модели симуляции толп пока не существует, поэтому мобильному роботу приходится полагаться на обмен данными с оператором и/или на стохастическое моделирование.

Платформа для коммуникации "человек-робот"

Чтобы эксплуатация мобильного робота в помещении была ещё безопаснее и эффективнее, требуется развивать хотя бы однонаправленную коммуникацию между оператором и роботом, чтобы машина могла уточнять информацию о планировке и геометрии здания, поставленных целях и потенциальных опасностях. Также робот должен при необходимости переводиться в режим ручного управления через удалённый графический интерфейс. Платформа для такой коммуникации даже в общем виде представляется сложной системой, которая должна была бы поддерживать множество типов данных и совместную обработку входящих и исходящих запросов. Система должна «понимать» стереометрию, планировку, сети многоугольников (в том числе, прогнозировать форму ближайших помещений, например, изгибы коридоров и расположение дверей), а также работать с облаком точек, в виде которого при данной конфигурации могут быть представлены движущиеся люди. В качестве примера такой платформы можете познакомиться с инструментом Stream, разработанным компанией «Digital Points». Исходный код к симулятору зданий выложен здесь.

В настоящее время платформа используется для моделирования коллаборативных сценариев, где группа роботов выполняет задачи в рамках одного помещения или этажа и учится не мешать людям. Облако точек в данном случае представляет как людей, так и неподвижные препятствия. Роботы (речь о модели Turtlebot, упоминавшейся выше) быстро обнаруживают любые новые преграды, появляющиеся в комнате, будь то вошедший человек или новый предмет, перекрывающий роботу ранее проложенный путь. Роботы обмениваются друг с другом любой новой информацией, которую улавливают при помощи сенсоров и перепланируют путь. Такой механизм совместного движения называется «нейронный стохастический контроль», описан, например, в этой статье. Роботы обучаются в соответствии со следующим алгоритмом:

  • Определить нейронную сеть с исходными параметрами для функции управления

  • Определить контролируемую динамику для физической системы, в которой придётся работать

  • Вычислить функцию потерь и обучить сеть

  • Сгенерировать траектории движения для автономного движения и движения под управлением оператора

  • Построить график результатов

Заключение

По состоянию на 2023 год мобильные роботы в целом обладают весьма скромными навигационными возможностями, в особенности – способностями к обобщению данных. Они легко «спотыкаются» или дезориентируются в толпе, также могут заплутать на разных этажах здания, если их планировка несколько отличается. Робот может построить карту помещения в виде облака точек, только неоднократно объездив его, поэтому использование людей в качестве «поводырей» или в более общем смысле – живых навигационных сенсоров – оказывается эффективным способом обогащения и уточнения данных. Прокладка маршрута в многолюдном помещении или на улице остаётся вероятностной задачей, зачастую требует вмешательства со стороны оператора и в настоящее время реализуется как комбинация обучения с учителем и обучения с подкреплением. Также переадресую вас к одной из моих более ранних публикаций «Глубокие последствия», где кратко рассмотрено использование мобильных роботов в спелеологии. По-видимому, описанная там комбинация колёсного робота с небольшим беспилотником является одним из наиболее перспективных вариантов решения рассмотренных проблем.

По-моему, пускать роботов в метро пока рановато.  

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


Интересные статьи

Интересные статьи

Как ныне сбирается юный философРечами своими томить программиста,Как он задаёт ему много вопросов,Как кофе подносит, словно бариста.В сужденьях его был некий толк;Из их диалога вот малый folk:
16 декабря 2023 года в московском Экспоцентре состоялся финал «Битвы роботов» 2023 года. Призовой фонд чемпионата составил 6 млн рублей. В отборочных этапах соревнования с сентября приняли участие 58 ...
Все мы люди, даже те, что роботы. Поэтому тревожимся о том, как сделать больше и не выгореть, расстраиваемся, когда не всё удаётся, и стремимся быть эффективнее себя вчер...
Эволюция в сопряжении с врожденным любопытством позволили человечеству создать множество удивительных устройств, от машин и компьютеров до космических кораблей и микроскопических роботов. Все эти ...
В процессе работы программистом 1С у меня иногда возникали задачи интеграции с системами использующими OAuh2 (Zoho Books, Google, Yandex и прочие). Причем часто нужно делать автоматические обмены с эт...