К полудню 19-го Sandstorm была готова к соревнованиям, за исключением необходимости поменять одну покрышку и масло в двигателе. В это время Highlander заканчивал последние круги последнего испытательного заезда. Во втором Humvee, полученном от AM General, за ним следовали Петерсон на пассажирском сиденье и инженер-программист Джейсон Зиглар – за рулем. Зиглар изо всех сил старался не отставать от Highlander, бешено вращая баранку и вдавив педаль газа до упора. Когда машина прошла 430 км, и ей оставался только последний круг, Петерсон позвонил Реду в Питтсбург, где тот улаживал последние организационные формальности. «Машина идет очень хорошо, – сказал ему Петерсон, – но мы насилуем ее». Вдруг что-нибудь случится? Петерсон посоветовал Реду отказаться от последнего круга. «Казалось, что мы уже узнали все, что можно», – вспоминает Петерсон.
Отступиться от цели прежде, чем команда достигнет ее, – не таков был Уиттакер. Он приказал выполнить программу испытаний полностью. Машины продолжили движение. Скоро Highlander скрылся в своем обычном облаке пыли. Петерсон не мог видеть робота с пассажирского сиденья машины сопровождения, но благодаря WiFi мог видеть на мониторе своего ноутбука то же самое, что и Highlander. Приближаясь к левому повороту, он сбросил скорость, как и предписывали его алгоритмы, а затем ускорился на выходе из дуги. Однако он чуть вильнул вправо, с дороги – и дисплей Петерсона внезапно заполнился красным цветом. Когда пыль рассеялась, Петерсон заметил по правую сторону дороги продолговатую насыпь, похожую на приспособление, которое используют каскадеры, чтобы поставить машину на два колеса. В данном случае каскадерский трюк состоял в том, что Highlander упал на бок, а затем завалился на крышу. Робот наехал на насыпь правыми колесами на скорости 50 км в час и взлетел в воздух.
Еще один переворот.
Поскольку в этот раз у команды уже был опыт, она сразу приступила к делу. Никто не расстроился – Спайкер подготовился как следует. Многие запчасти, нужные для ремонта Highlander, уже лежали в гараже Автомобильного испытательного центра. Доставку всего остального из Питтсбурга в Неваду Спайкер смог организовать.
А что же насчет недели каникул, которая должна была начаться у всех на следующий день? Отменена, канула без следа. Эта неделя стала периодом самой напряженной работы за всю историю группы.
После того как стэнфордская группа успешно провела заезд на 13,5 км, Трун сократил численность команды до четырех человек, оставив только незаменимых. Первыми двумя были сам Трун и Майк Монтемерло, пришедший с ним из Карнеги – Меллона. Среди участников своего семинара по робототехнике Трун нашел соотечественника-немца, специалиста в области компьютерного зрения и гениального программиста по имени Хенрик Далькамп. Четвертым был студент-старшекурсник Дэвид Стейвенс.
Группа в четыре человека идеально подходила для решения задачи, потому что как раз столько могло с комфортом разместиться в Touareg. Время от времени Трун и трое его коллег отправлялись на неделю в пустыню Мохаве и объезжали ее дороги. Вначале они ставили машину на дорогу, давали ей возможность двигаться самостоятельно до тех пор, пока она не встречала препятствие, с которым не понимала что делать. Тогда кто-то писал код, исправляющий ситуацию. По мере повторения процесса десятки, а со временем и сотни раз робот стал настолько совершенным, что приобрел способность обучаться самостоятельно. На этой стадии Трун садился за руль Stanley и вел машину через пустыню, сбрасывая скорость на бездорожье и крутых склонах. На ровных и прямых участках он, наоборот, ускорялся. Проведя так несколько дней, Трун отправлялся в университет, а у Stanley начиналась ночная смена, во время которой он пересматривал данные о поездках и учился на них. «Вот на таком участке, – думал Stanley, – Себастьян решал ехать тут, и я буду делать то же самое». «Таким образом, робот проводил ночь, разбирая данные и создавая порядок из хаоса», – говорил Трун.
Стейвенсу принадлежал алгоритм, обучавший робота регулировать скорость. На дорогах, по которым двигался Stanley в пустыне, встречались заполненные дождевой водой колеи, лужи и рытвины. Попытка преодолеть их на большой скорости привела бы к тому, что машина развалилась бы на части. Поэтому Стейвенс написал программу, определявшую скорость продвижения вперед исходя из данных о вибрации корпуса, поступавших с датчиков, а также из характера и ширины дороги. Как только программа была загружена в память робота, Майк Монтемерло сделал несколько заездов на Stanley, чтобы обеспечить программу данными для последующего анализа и выработки правил.