Книга Автономия. Как появился автомобиль без водителя и что это значит для нашего будущего - Лоуренс Бернс
Шрифт:
Интервал:
Закладка:
Проект Street View сделал возможным Ground Truth, а также удобный и точный поиск, основанный на местоположении, потому что Google могла использовать искусственный интеллект и компьютерное зрение, извлекая из данных Street View реальное расположение каждого магазина, ресторана, каждого адреса в обработанном районе. Но данные были полезны не только для этого. Их можно было использовать для пошаговой навигации. А где еще можно использовать сверхточные трехмерные изображения любой дороги в Соединенных Штатах?
В беспилотных автомобилях.
Именно так: Street View и ее потомок Ground Truth представляли собой важный этап развития технологии самоуправляемого автомобиля – потому что подход Chauffeur к проблеме их надежного и безопасного использования на дорогах подразумевал наличие карт высокой точности для любой дороги. К моменту начала работы по проекту Chauffeur карты и возможности, предоставляемые ими автомобилям-роботам, стали специальностью Монтемерло. «Наличие картографических данных позволяет делать невероятные вещи», – объясняет он.
Вначале карты высокого разрешения и точности дали автомобилям Chauffeur возможность определять свое положение в пространстве, в точности так же, как раньше по картам ориентировались робот-экскурсовод Труна Minerva или робот-курьер Pribot Левандовски. В целом метод был тот же самый. Автомобили, оборудованные картографическим оборудованием, например лидаром и камерами, проезжали по району несколько раз в течение нескольких дней и ночей, сканируя все и составляя трехмерную модель мира. Сравнивая полученные изображения и отмечая предметы, изменившие положение, выделяли таким образом неподвижные ориентиры: бордюрный камень, телефонные столбы, дома, офисные здания, почтовые ящики и рекламные щиты. Когда впоследствии беспилотный автомобиль проезжал по той же дороге, он точно так же сканировал ее и пытался сопоставить то, что его окружало, с ориентирами на трехмерной карте. Добившись совпадения объектов между своей моделью мира и картой, автомобиль мог достаточно достоверно определить свое местоположение – точность составляла несколько сантиметров.
Автомобиль также был способен сравнивать список заранее определенных стационарных объектов с предметами вокруг себя, чтобы определить, какие из них могут прийти в движение. Если узкий цилиндрический объект находится в той же точке, что и на предыдущих сканах, – скорее всего это фонарный столб. Если же он появился только на самом последнем снимке, это может оказаться человек, и на него следует обратить внимание.
С помощью трехмерных карт можно отличать прерывистую осевую линию от сплошной – инженеры Google называли это «картой уровня разметки», и она указывала автомобилю коридоры, по которым он мог безопасно двигаться, а также полосы, в которых, скорее всего, будут держаться другие автомобили и движущиеся объекты. Карты были полезны и в случае блокировки полосы, например, грязью или снегом. «С помощью карт распознавание препятствий становится надежнее, – говорит Монтемерло. – Они дают возможность понять, находится ли предмет на дороге или в стороне от нее».
Наконец, с помощью заранее снятых карт автомобиль Chauffeur с высокой надежностью распознавал сложные, но важные элементы окружающего мира – например, светофоры.
«Скажем, вам известно, что в конкретной точке вчера находился светофор, – объясняет Монтемерло те возможности, которые дает автомобилю хорошая карта. – Скорее всего, сегодня он на том же месте. Таким образом, вместо того чтобы искать светофор по всей картинке, можно сконцентрироваться только на ее определенных участках. Это невероятно важно».
Если самоуправляемая машина вынуждена полагаться только на собственные датчики, ей очень сложно идентифицировать светофоры – отчасти поэтому светофоры отсутствовали на трассе DAPPA Urban Challenge. «У автобусов на корме красные огни, – говорит программист проекта Chauffeur Натаниель Фэрфилд. – Но от этого они не становятся светофорами, верно? Иногда их и люди с трудом различают. Что, если ты едешь по незнакомой местности? Иногда люди понимают сигналы неправильно. Ты видишь зеленый свет, но тебе нужно повернуть налево. Нужно ли именно здесь ждать, пока загорится стрелка? Если ты не знаешь местности, трудно правильно понимать сигналы».
Идентифицировать светофор и правильно интерпретировать его сигналы становится гораздо проще, если самоуправляемый автомобиль может обратиться к заранее снятому трехмерному изображению дороги, по которой движется, – оно безошибочно скажет, куда и на что следует смотреть.
«И тогда можно определить семантику данного конкретного светофора, – объясняет Фэрфилд. – Что именно он означает? На какие полосы распространяются его сигналы? Относятся ли они к полосе, выделенной для поворота налево? Это очень большое подспорье».
Нанести на карту каждый светофор, каждый знак остановки, каждую полосу для поворота налево кажется невероятно сложной задачей; так оно и есть. Но вы же помните, что в проектах Street View и Ground Truth уже делались аналогичные снимки для этих же дорог. Зная, что это технически возможно, Монтемерло, Фэрфилд, Урмсон и остальные разработчики решили исходить из предположения, что отметить расположение всех светофоров на всех необходимых трассах тоже скорее всего возможно.
Теперь требовалось, собственно, изготовить робота. Это была задача Левандовски, и он подошел к ней так же, как к постройке Pribot для доставки пиццы на Трежер-Айленд. По углам машины он установил четыре акустических радара, которые должны были предупреждать машину о близких препятствиях. Автомобиль был оснащен приемником GPS, снабжавшим его точными координатами, и датчиками вращения колес, отслеживавших его движение с очень высокой степенью точности. Необходимое компьютерное оборудование, занимавшее когда-то весь багажник Chevrolet Tahoe, теперь было настолько компактным, что уместилось в отсеке для запасного колеса Prius. Но сердцем системы был лидар фирмы Velodyne, напоминавший вращающееся на крыше машины «ведерко» из KFC. Лидар представлял собой пучок из 64 лазерных излучателей, осуществляющих 15 млн измерений в секунду в 360 градусах вокруг автомобиля.
Разработку программного обеспечения, которое должно было контролировать все аспекты поведения машины, начали с кода для Junior, написанного стэнфордской командой Труна. Модифицировать его пришлось очень существенно. Одним из первых усовершенствований, внесенных разработчиками на этот раз, была возможность управлять машиной со смартфона: чтобы она начала ускоряться, достаточно было наклонить аппарат вперед, чтобы тормозить – назад. Разработка и тестирование системы, отвечавшей за автономное управление Prius, требовали проводить в машине по многу часов за раз, сначала за написанием кода, затем – за его загрузкой в Prius. После этого нужно было проконтролировать, как изменения влияют на поведение машины на дороге. Так проходили долгие часы: написание кода, пробная поездка, все сначала. Полигоном была выбрана верхняя гравийная парковка возле арены Shoreline Amphiteatre в Маунтин-Вью, отделенной от штаб-квартиры Google всего одной недлинной аллеей. Долгов больше других работал в машине, подчас – до поздней ночи. Как-то раз, около трех часов ночи, Долгов сидел в Prius, отлаживая код. Подняв глаза, он заметил приближающуюся полицейскую машину. «Как поживаете, офицер?» – поинтересовался Долгов у полицейского на своем английском с русским акцентом. И тут к нему внезапно пришло понимание, что проект самоуправляемого автомобиля, проект настолько секретный, что о нем знают очень немногие даже в высшем эшелоне управления Google, рискует выплыть наружу.