«Мы поняли, что можем обойтись без SLAM, – вспоминает Урмсон. – Ведь уже было ясно, что вскоре будет доступна глобальная база [картографических] данных… Так почему бы ею не воспользоваться?»
Если бы ребята из Red Team смогли заложить в Sandstorm точную карту местности до соревнований, можно было бы отказаться от ресурсоемких вычислений. Новый подход менял саму постановку задачи. Группа считала, что пытается построить робота, способного видеть окружающий мир так, чтобы различать дорогу и самостоятельно пройти по ней 240 км. Использование карт означало, что компьютеру можно было сообщить, где находится трасса и как проходить ее. Потенциально такой метод позволял Sandstorm двигаться куда быстрее.
Но сначала Red Team – студентам-старшекурсникам, нищим аспирантам и добровольцам – предстояло создать более подробную карту Мохаве, чем любая из существующих. Задача невероятной сложности, но студентам Реда Уиттакера было не привыкать. Часть группы получила задание достать подробные карты всей пустыни, что было относительно просто с учетом связей Уиттакера и Спенсера Спайкера среди военных. После этого они занялись прокладкой трасс через пустыню, используя полученные карты. Кроме того, два инженера – Тугрул Галатали и Джош Анхальт – должны были объехать как можно больше дорог в Мохаве на арендованном внедорожнике, при этом снимая окружающий пейзаж на установленные в окнах видеокамеры. Можно сказать, что они впервые, пусть и в зачаточном виде, реализовали ту идею, которая позже легла в основу Google Street View.
Следующим шагом следовало сравнить отснятый материал и карту и присвоить каждому участку числовое значение, которое разработчики назвали величиной потерь. Таким образом, скала или горный участок, при попытке преодолеть который 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).