В октябре 2008 года, через месяц после спорных успехов Левандовски в области доставки пиццы и примерно через год после DARPA Urban Challenge, Трун собрал группу первоклассных экспертов по робототехнике в своем загородном доме на озере Тахо.
От команды Стэнфорда был Майк Монтемерло, старый друг Труна и эксперт по картографии. Приехали Дирк Хеннель и Хендрик Далькамп, немецкие программисты, работавшие вместе с Труном над машиной для DARPA Urban Challenge. Приглашение получил Левандовски. То же самое относилось к техническому директору и руководителю группы разработки программного обеспечения команды Карнеги – Меллона, Крису Урмсону и Брайану Салески. Одному только Труну был сорок один год, остальным было примерно лет по двадцать восемь – тридцать пять.
Собрание должно было ответить на два вопроса. Во-первых, будут ли они работать вместе в принципе? В случае положительного ответа на первый вопрос немедленно возникал второй: как именно работать? Google была готова финансировать проект. Имело ли смысл вести его в рамках Google или создать под него отдельный стартап?
В те выходные часто вспоминали соревнования DARPA. С большой вероятностью много говорили и о правильной методике создания самоуправляемого автомобиля для реального мира. В прошлом футуристы предлагали множество проектов автономного транспорта. Некоторые предусматривали наличие датчиков и размещенной поверх дорог инфраструктуры, способной взаимодействовать с автомобилями. Таким образом знак «проезд без остановки запрещен» мог быть оборудован миниатюрным радиопередатчиком, оповещающим транспорт о своем присутствии. Маленькие устройства, вмонтированные под прерывистой желтой и сплошной белой разделительными линиями, указывали бы середину проезжей части и обочину. Надо сказать, что эксперты по самоуправляемым автомобилям практически никогда на такую инфраструктуру не рассчитывали. Слишком много ресурсов понадобилось бы на ее сооружение. Что, если один или несколько датчиков выйдут из строя? Ошибка в чипе, сигнализирующем о знаке «стоп», может обернуться катастрофическими последствиями. Общее мнение разработчиков, как инженеров, так и программистов, было таково: весь интеллект следует сосредоточить на стороне машины.
Во время этих выходных Урмсон и Салески сели в арендованную машину и отправились колесить по извилистым дорогам вокруг озера Тахо, чтобы обговорить предложение Труна между собой. На тот момент казалось, что это будет проект Google. Салески отнесся к нему скептически. Он считал, что бизнес Google – это поиск. А зачем интернет-компании из Кремниевой долины тратить время и деньги на разработку самоуправляемого автомобиля? На первый взгляд, это с их бизнесом не имеет ничего общего.
Кроме того Салески напомнил Урмсону, что они уже были заняты в невероятно интересном проекте. Инициатива создания беспилотных самосвалов, реализуемая на средства Caterpillar, в случае успеха должна была передать технологию в руки компании, известной своим умением выпускать сложную технику в больших количествах. Урмсон и Салески видели свою профессиональную цель в том, чтобы создавать роботов, способных изменять жизнь обычных людей. Проект Caterpillar по его мнению, обладал таким потенциалом. «Я просто думал, что задачу для горнодобывающей промышленности решить проще», – вспоминает он.
Урмсон держался другой точки зрения. Проект Caterpillar безусловно представляет интерес, но это, в конечном счете, конструирование роботов для шахт и карьеров. Максимум, на что можно надеяться, так это то, что Caterpillar изготовит несколько тысяч таких самосвалов и они будут трудиться в удаленных уголках планеты. Их работа со временем сделает добычу руды дешевле. Может быть, постепенно жертв несчастных случаев среди горняков станет меньше. Но жизнь обычных людей их работа не затронет никак.
А вот проект Google, говорил Урмсон, может изменить мир. В самом центре его находится формат транспорта, которым миллиарды обычных людей во всем мире пользуются каждый день.
Кроме того, Урмсон увидел в предложении Труна карьерные перспективы для себя лично. Работой для Caterpillar руководил Салески, но Урмсон был не лишен собственных амбиций. Трун ведь не только сколачивал группу разработчиков беспилотного автомобиля. Как это было в его привычках, он сохранял за собой и другие обязанности. Например, он не полностью сложил с себя обязанности по руководству Ground Truth. Кроме того, он обсуждал с Ларри Пейджем и Сергеем Брином создание дочерней компании Google, рассчитанной на сложные, высокозатратные, но и высокодоходные проекты, мало связанные с основным для Google поисковым бизнесом. Когда собравшиеся решали, можно ли организовать деятельность группы в форме стартапа, Трун предложил именно Урмсона на роль генерального исполнительного директора. Если бы проект состоялся внутри Google, Урмсон мог рассчитывать на аналогичную руководящую позицию. Руководить щедро финансируемым проектом, обладающим к тому же потенциалом изменить лицо планеты, – мимо такого шанса Урмсон пройти не мог.
Правда, все это происходило в неподходящий для Урмсона момент. Его работа над кандидатской диссертацией была завершена, и он находился на окончательной стадии переговоров относительно места штатного преподавателя в Университете Карнеги – Меллона. На встрече, где новых профессоров должны были представить их коллегам, Урмсон встал и объявил, что берет творческий отпуск на два года, чтобы поработать на Google. Для Института робототехники это был тяжелый удар: они лишались одного из лучших молодых умов, звезды соревнований DARPA. Но хуже всего, вероятно, пришлось Салески, который решил не участвовать в проекте Google, а вместо этого остаться в Питтсбурге и продолжать руководить работой в Caterpillar. Салески не просто терял ценного коллегу, но и одного из лучших друзей.
После встречи на озере Тахо Трун собрал коллектив примерно из десяти инженеров, который стал известен в Google под кодовым названием «проект Chauffeur». Каждый из них был экспертом в одной из предметных областей, необходимых для создания автономного автомобиля. Почти у всех за плечами были соревнования DARPA. В состав группы входил Крис Урмсон, главный инженер проекта, обязанностью которого стала разработка программного обеспечения. Левандовски, в руках которого раньше находилась закупка материалов, разработка и собственно изготовление установки для Street View, получил ту же роль в Chauffeur. Правая рука Труна в команде DARPA Urban Challenge, Майк Монтемерло, отвечал за разработку карт, при помощи которых автономному автомобилю предстояло ориентироваться в окружающем его мире. Бывший участник команды Стэнфорда на DARPA Urban Challenge, опытный русский программист Дмитрий Долгов должен был работать в плотном взаимодействии с Урмсоном и писать системы, отвечающие за конкретные органы управления – например, за рулевое управление и тормоза. Ветеран проекта Street View Дирк Хеннель взялся за программную инфраструктуру. Ведущий инженер-программист Цзяцзин Цзю помогал разработать системы работы с внешними датчиками. Другой коллега Труна по Street View, Расс Смит, разрабатывал алгоритм, который по вращению колес и инерционным параметрам автомобиля должен был вычислять его положение в пространстве. А Натаниэль Фэрфилд писал систему-тренажер: прежде чем выпустить автомобиль на дороги, она должна была прогнать его через сотни, тысячи и, наконец, миллионы дорожных ситуаций, смоделированных в виртуальном мире.
С самого начала группа выделила в работе два этапа. Их цели были амбициозными, но четко определенными. Брин, Пейдж и Трун решили применить подход, хорошо проявивший себя со Street View. (И не будет лишним повторить здесь, что подход Труна был основан на методиках, которые он перенял у Реда Уиттакера из Карнеги – Меллона.) «Давайте договоримся, что у нас будет задача, решение которой означает закрытие определенного этапа, и если мы доходим до этой точки, то получаем существенное вознаграждение», – так Трун вспоминает содержание своего разговора с Пейджем и Брином. Они долго не могли прийти к единому решению, что считать такой задачей. «Давай так, Себастьян, – сказал Пейдж, – я хочу, чтобы эта вещь могла проехать по любой улице в Калифорнии в полностью автоматическом режиме».
Но для Труна такая цель казалась слишком нечеткой. Как сможет его группа доказать, что их машина способна проехать по любой улице в Калифорнии, если только не взять и не заставить машину действительно проехать их все? Поэтому Пейдж и Брин потратили день на прокладку нескольких довольно трудных маршрутов. Идея состояла в том, чтобы составить небольшой набор трасс, тем не менее предлагающих все трудности, с которыми может столкнуться в Калифорнии водитель-человек. Все мосты в области залива Сан-Франциско. Центр Сан-Франциско. Идущее вдоль побережья шоссе из Маунтин-Вью в Лос-Анджелес. Горные серпантины вокруг озера Тахо. И улица Ломбард-стрит в Сан-Франциско, пользующаяся славой «самой искривленной улицы в мире[55]». «Что-то в таком роде, – говорит Трун. – Наш список включал все. Большие города, шоссе – все что угодно». И они подвели итог: «Если ваша группа сможет сделать так, что машина пройдет все эти маршруты, вы получите вполне приличную сумму денег. В качестве бонуса».
«Скажем так: эта сумма была больше, чем я рассчитывал заработать за всю свою жизнь», – вспоминает Урмсон.
В общей сложности поставленная Пейджем и Брином цель сводилась к преодолению десяти маршрутов суммарной протяженностью около тысячи миль (около 1600 км). Команда назвала эту задачу Larry1K[56]. Трун не был уверен, возможна ли Larry1K в принципе, поэтому договорился о запасной цели: 160 000 км суммарного пробега по дорогам общего пользования в автоматическом режиме. «Я хотел быть уверенным, что мы получим хоть что-то, если не одолеем эту тысячу миль», – говорит он.
Вся команда понимала, что это шанс, который представляется один раз в жизни. К тому же все происходящее казалось немного нереальным: их взяли в группу сильнейших специалистов по робототехнике, в отчаянном темпе работающую над секретным проектом, который должен обеспечить поставленную двумя богатейшими на планете людьми цель – и если они достигнут ее, сами станут богатыми. Все это казалось эпизодом из кинофильма. Многие из них работали над той же проблемой, когда были нищими студентами старших курсов, а сейчас по крохам наскребали необходимые для выживания деньги, наращивали долг по кредитным картам – да и другие долги тоже – и откладывали поиск более выгодной инженерной должности. У некоторых имелись дети и жены, которые вынуждены были расстаться со своими мечтами, чтобы поддержать их мечту. И вот теперь успех этого проекта Google мог дать возможность разом вознаградить их близких за все жертвы.
Кроме того, это была интересная инженерная проблема сама по себе. «Чтобы интернет-гигант с просто выдающейся рыночной капитализацией сказал про такое “Давайте попробуем”? – вспоминает один инженер. – Именно в этот момент мы пораскрывали рты от удивления. У всех было одно и то же настроение: давайте закатаем рукава и сделаем нечто по-настоящему небывалое».
Только через несколько лет станет понятно, что для Google такой проект был абсолютно логичен. Чтобы понять, почему именно, следует отступить во времени на несколько шагов, к проекту Street View, который на тот момент многим казался странным научным экспериментом, не имеющим реального применения. Иметь возможность перенестись при помощи компьютера или мобильного устройства по любому адресу в Соединенных Штатах (и, со временем, многих других стран мира) – это, конечно, очень интересно. Но какой в этом смысл? Зачем вкладывать в проект такое невообразимое количество сил, которое необходимо, чтобы собрать круговое панорамное изображение для каждой точки каждой дороги в США? Создание Google-сервиса Street View представляет собой достижение в картографии, которому нет равных со времен Васко да Гама и Магеллана. Масштаб задачи умопомрачителен. И не только потому, что для ее решения потребовались сотни водителей, согласившиеся установить камеры на крыши своих машин и проехать по каждой дороге в США, Канаде и большинстве развитых стран мира, но и из-за последствий, к которым это все привело.
Проект 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 градусах вокруг автомобиля.