Основной датчик — это лидар, то есть лазерный дальномер. На роботах-доставщиках он с точностью до сантиметра может распознать объект в радиусе 60 метров. На наших беспилотных автомобилях, кстати, он смотрит ещё дальше. Но лидар видит не как мы с вами, а с помощью точек, которые отражаются от объектов. Большое скопление этих точек называют лидарным облаком. Посмотрите сами, как в таком облаке можно узнать силуэт человека или машины.
Но чтобы проехать по обычному пешеходному переходу, видеть нужно ещё дальше. Это уже зона ответственности другого датчика — радара. Он тоже воспринимает окружающий мир в виде облака точек, но уже не так чётко, с точностью до метра. При этом радар умеет определять скорость. Он может распознать, например, движение в сторону робота объекта со скоростью 60 километров в час.
Третий датчик — ультразвуковой. Он работает в небольшой зоне, где другие сенсоры уже ничего не видят. Такой датчик не даёт роботу наехать на объекты буквально под его колёсами, например на мяч, выкатившийся на дорогу.
В среднем наш робот-доставщик за день встречает до 10 светофоров и проезжает по 30 пешеходным переходам. Чтобы каждый раз не искать для него подходящий переход в ручном режиме, мы решили воспользоваться картами. Мы отметили, где находятся пешеходные переходы, чтобы робот мог ориентироваться сам. А также указали, где на этих переходах стоят светофоры, чтобы он знал, куда ему смотреть. Так мы упростили задачу и себе, и нашему роботу-курьеру.
Видеть и понимать, какой свет сейчас горит на светофоре, роботу-доставщику помогают две камеры и специальная нейросеть. С изображений каждой камеры искусственный интеллект вырезает и анализирует тот фрагмент, на котором должен находиться светофор. По нескольким таким кадрам нейросеть определяет, какой сигнал сейчас у светофора. Если она получает зелёный свет — робот может ехать.
Чтобы снизить риск ошибки, мы решили подстраховаться. Во-первых, у робота-доставщика есть две камеры. Если одну заслонили, данные можно получить со второй. Во-вторых, у нас есть команда операторов, которой беспилотный курьер может отправить запрос, если не уверен в сигнале светофора или просто его не видит. В-третьих, робокурьер просто не торопится. Он распознаёт зелёный, но едет не сразу, а ждёт пару секунд, чтобы убедиться: сейчас точно горит зелёный, ему не показалось. Со стороны можно решить, что роботы реагируют на светофор очень медленно, но, как известно, тише едешь — дальше будешь.