Автономия. Как появился автомобиль без водителя и что это значит для нашего будущего — страница 8 из 73

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

Как-то вечером, когда до состязаний оставалось всего несколько недель, руководство Red Team собралось на чердаке корпуса космической робототехники в Карнеги – Меллон. «Мы достигли определенного прогресса в составлении карты всевозможных путей через пустыню», – вспоминал Урмсон. Но во время этой встречи на чердаке он внезапно осознал, что работа продвигается слишком медленно. «Стало очевидно, что цели мы не достигнем», – сказал он. И действительно, потенциально возможных маршрутов оказалось слишком много. К дате гонок группа успела бы разметить только малую часть их.

Именно благодаря этому факту к Red Team пришло ее второе озарение. DARPA сообщило командам, что, как раз чтобы не дать распланировать прохождение трассы заранее, она будет сообщена командам ровно за два часа до старта, в 4:30 утра. Red Team уже умела качественно прокладывать маршрут через пустыню. А что, если сменить стратегию? Что, если не пытаться создать карту, содержащую результаты прохождения трассы для всех вообразимых траекторий, а научиться хорошо, а главное – моментально, обучать Sandstorm проходить одну-единственную трассу?

Почему, задумалась команда, вместо создания идеальной карты не сконцентрироваться на прокладке одного-единственного идеального маршрута? Такого, который они смогут спланировать за два часа между тем, как DARPA сообщит участникам примерную трассу гонок, и собственно стартом? Старый подход предполагал использование карт и прокладку маршрутов вручную, и таким образом фактически робот должен был проехать по всем дорогам пустыни площадью 50 000 км2. Новый подход предлагал сосредоточиться на единственном 240-км маршруте, который планировщикам предстояло тщательно проработать – причем за те 120 минут, которые будут у команды после того, как DARPA откроет свой секрет.

Тогда часть Red Team полностью сосредоточилась на реализации этой идеи. В привычном помещении под крышей корпуса космической робототехники около десяти человек репетировали, отрабатывая до автоматизма последовательность действий после того, как DARPA в 4:30 утра передаст командам маршрут в виде файла. Он должен был содержать около 2500 опорных точек маршрута, которые все называли «хлебными крошками»[20], отстоящих примерно на 80 м друг от друга. Члены группы сразу же начинают действовать. Один из них тут же загружает файл в программу, содержащую величины затрат для всей территории, чтобы она выдала более точный маршрут, содержащий во много раз больше «крошек», чем файл DARPA (он же RNDF, Route Network Definition File).

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

Тем не менее к январю 2004 года, то есть всего за два месяца до гонок, Sandstorm еще не прошла самостоятельно и 80 км. В частности, Уиттакера и Урмсона беспокоили отличия между условиями, в которых испытывалась машина, от тех, в которых будут проходить соревнования. Они испытывали робота на холодных берегах реки Мононгахила, а гонки будут проходить в пустыне Мохаве. Не создаст ли смена окружающей среды трудностей для Sandstorm?

В феврале Уиттакер вывез Sandstorm в Мохаве в сопровождении основных членов группы, включая Урмсона, Петерсона и Спайкера, чтобы отшлифовать там поведение машины. (Sandstorm проделала весь путь в 16-метровом полуприцепе седельного тягача.) Завершающие приготовления должны были проходить в Автомобильном испытательном центре штата Невада, огромном участке пустыни, где производители автомобилей и самых разных их частей, от покрышек до коробок передач, испытывали свою продукцию в самых жестких пустынных условиях.

В Неваде группа Урмсона работала исключительно над Sandstorm. Написать код, вывести машину на полигон, чтобы испытать код, отметить ошибки, написать код. Этот цикл повторялся и повторялся, невзирая на время и такие несущественные прихоти природы, как смена дня и ночи.

Программисты работали по два-три дня подряд без сна, поддерживая себя только энергетиками Mountain Dew, Red Bull и фастфудом, а когда сохранять вертикальное положение тела становилось непосильной задачей, спали. Иногда в арендованном доме на колесах (однако спальных мест в нем не хватало на всех, и тогда кому-то приходилось спать на полу мастерской полигона, положив на него сложенные садовые стулья, или же на откидывающихся сиденьях джипа, который группа тоже арендовала в качестве автомобиля сопровождения для Sandstorm).

Работа в режиме нон-стоп днем и ночью представляла собой определенные трудности. Однажды вечером Sandstorm врезалась в столб забора, разбив передний бампер, на котором находились камеры и радарные датчики. Мастерские были закрыты, но, решив исходить из того принципа, что выпросить прощение после всегда легче, чем разрешение до, Спайкер и прочие перелезли через забор, взломали дверь, и сварили новый бампер из толстой металлической трубы. Получившаяся деталь весила больше 90 кг, и ее прочности было более чем достаточно, чтобы служить опорой камерам и радарам. «Наверное, можно было протаранить здание, не повредив эту штуковину», – вспоминает Спайкер.

А вот чего они почти не делали, так это не мылись. Ассенизационный бачок в доме на колесах наполнился до краев, и когда у них дошли руки отправиться в ближайший город и опустошить его, тряска на ухабистой грунтовой дороге привела к тому, что его содержимое расплескалось и залило все внутренние помещения машины. Уборка оставила настолько неприятные впечатления, что группа решила не больше не пользоваться санузлом дома на колесах. Туалеты на полигоне были, а вот душ отсутствовал, и группа не мылась примерно шесть недель. Потом, где-то в середине февраля, один из их спонсоров, Intel, пригласил находившихся в Неваде членов Red Team в Сан-Франциско, где производитель компьютерных микросхем намеревался показать Sandstorm на конференции Intel Developer Forum.

К тому моменту Sandstorm уже развивала скорость 79 км в час и прошла 160 км в автономном режиме. Результаты приводили группу в восторг. В то же время у робота сохранялись свои причуды. Например, он всегда был готов видеть препятствие там, где его не было, не видеть там, где оно было, или даже интерпретировать загруженные в него команды на свое усмотрение. Что, если подобное произойдет во время показа?

На следующее утро сотни человек наблюдали, как беспилотный автомобиль взобрался на сцену – как легко догадаться, благодаря высокотехнологичным датчикам, передовой инженерии и компьютерам с надписью «Intel Inside». Зрители восхищенно аплодировали, и эти аплодисменты были приятны членам Red Team, находившимся здесь же, в зале. Вот они на конференции, проводимой компанией из Кремниевой долины, и их принимают как знаменитостей. Признание говорило, что их жертвы не напрасны, а проект по-настоящему важен. Кроме того, они чувствовали благодарность. Ведь никто так и не заметил, что во время демонстрации один из членов группы забрался в кабину робота и спрятался под рулем, готовый при необходимости мгновенно нажать рукой на педаль тормоза, если тяжелая машина покатится со сцены прямо в толпу.

Была пятница, 5 марта 2004 года. Оставалось восемь дней до состязаний и всего три – до квалификационных заездов. Крис Урмсон встал рано утром, оделся в свою обычную рабочую форму, состоявшую из забрызганной грязью бейсболки, легкой флисовой куртки и поношенных джинсов, зашнуровал кроссовки и решил, что именно сегодня следует произвести решительное испытание Sandstorm.

Урмсон, Петерсон, Спайкер и остальные члены группы, находящиеся в Неваде, испытывали Sandstorm в самых тяжелых условиях, какие только могли себе представить. Часто в качестве испытательного полигона служили участки трассы, по которой Pony Express[21] доставляла почту больше ста лет назад. «Ред настаивал, чтобы испытания были тяжелыми», – объясняет Петерсон. Агентство DARPA предупреждало, что длина маршрута составит около 240 км. К тому моменту самое большое расстояние, которое Sandstorm преодолела самостоятельно, было 160 км. Теперь, когда до гонок оставалось чуть больше недели, вся группа хотела провести испытания на более протяженной трассе, чтобы быть уверенными в машине.

Цель была поставлена в точности такая же, как и во время гонок: 240 км. Маршрут имел форму вытянутого овала длиной примерно в 3 км. Пока Sandstorm готовили к старту, Урмсон и Петерсон работали над новым компонентом программного обеспечения. Они решили, что этот фрагмент должен встраиваться в модуль, задающий скорость и отвечающий за сброс скорости перед входом в поворот. Новый блок должен был обеспечить более быстрое движение по прямой.

Код работал превосходно. Во время нескольких пробных заездов Sandstorm смогла разогнаться до 79 км в час, а затем новый алгоритм замедлял ход машины по мере приближения к повороту. На самом деле Урмсон и Петерсон наблюдали за своим детищем и думали, не слишком ли энергично он его замедляет. Небольшая поправка, внесенная в алгоритм во время заправки топливом, казалось, улучшила поведение робота. На первом кругу они видели, как Sandstorm вошла в поворот, слегка замедлила ход, а затем ускорилась на выходе из него. В конце второго круга Sandstorm быстро приближалась к тому, что Урмсон позже в отчете о полевых испытаниях назовет «растянутым S-образным поворотом» влево. Колеса правого борта сошли с дороги в глубокий песок, и когда Sandstorm попыталась исправить положение и вернуться на утрамбованный грунт дороги, она взяла влево слишком резко. Обе правые покрышки стали глубоко вгрызаться в мягкий песок. Левые колеса поднялись и оторвались от полотна дороги. Сзади, в машине сопровождения, Урмсон с ужасом смотрел, как Sandstorm встала на бок, а затем перевернулась вверх колесами и осталась лежать так – подмяв под себя весь контейнер с компьютерным оборудованием, карданов подвес и все самые чувствительные приборы.