В багажнике размещалась стойка из 10 серверов Intel Core 2 Duo, каждый из которых имел 2 гигабайта памяти, 4 гигабайта флеш памяти. Эти сервера были связанны друг с другом гигабитной сетью Ethernet.
Более подробно об программном обеспечении Босса написано здесь.
Уровни программного обеспечения Босса
Программное обеспечение Босса было построено на основе модели программного обеспечения с четырьмя уровнями, что видно на схеме сверху. Уровни аппаратных средств имеет синий фон, уровни программного обеспечения красный. В основании модели находятся отдельные датчики, у каждого из которых имеется соответствующий модуль программного обеспечения, ответственный за получение данных с датчика и их преобразования в ряд гипотез, то есть, умозаключения о препятствиях в поле зрения этого датчика. Эти модели датчика также делают первую попытку отличить неподвижные объекты (такие как бордюры, конусы дорожного ограждения и припаркованные автомобили) от движущихся транспортных средств.
После этого первого приближения, гипотезы моделей датчиков передают на уровень слияния (Fusion), чья работа работа состоит в синтезе этих гипотез во всестороннюю модель окружающей среды. Модель слияния пытается вывести высокоуровневые особенности объектов, обнаруженных модулями датчиков, такие как форма объекта и его ориентация. Она также делает выводы о скорости объектов, основываясь на наблюдениях в разное время. Уровень слияния также отслеживает объекты в течение долгого времени, соотнося обнаруженные в настоящее время объекты с ранее обнаруженными объектами, и удаляя из своей модели те объекты, которые не наблюдались некоторое время.
Результат всего этого трудоёмкого программирования – точная модель мира, которая передаётся более высоким уровням стека программного обеспечения. Программное обеспечение планирования движения автомобиля непосредственно разделено на два слоя: поведенческий уровень (Behavior), который устанавливает высокоуровневые цели для транспортного средства ("двигаться к тому перекрёстку", "свернуть на эту парковку", "выполнить разворот"), и уровень планирования (Planning), который переводит эти высокоуровневые цели в определенную последовательность воздействий на руль и педали.
Модель мира
Модуль планирования работает, производя список всевозможных траекторий и затем оценивая их, основываясь на нескольких критериях, включая эффективность и близость к потенциально опасным объектам, таким как другие транспортные средства. У слоя планирования существует два режима работы. В "дорожном" режиме навигации цель транспортного средства состоит в том, чтобы во время поездки держаться максимально близко к центру полосы. Другой режим, известный под названием "зональная" навигация, используется на парковках и другой окружающей среде без ясной маркировки полосы. В этих зонах у уровня планирования существует больше вариантов, и он сосредотачивается на нахождении маршрутов, по которым можно достичь цели быстрее, оставаясь на максимально возможной дистанции от потенциально опасных ситуаций.
Наверху стека программного обеспечения поведенческий уровень Босса берет точку назначения, переданную человеческим оператором (например, координаты GPS) и делит его на меньшие шаги, которые могут быть выполнены уровнем планирования. Технический персонал, чтобы помочь в навигации, предварительно загружает высококачественные карты, но поведенческий уровень еще должен обнаружить неожиданные препятствия и подготовить новые пути, для их объезда У поведенческой системы есть отдельные модули для того, чтобы двигаться по улицам и для того, чтобы справится с перекрёстками. Последнее включает знание о надлежащем приоритете проезда перекрёстков, так, чтобы Босс знал, когда наступит его очередь проехать.
Возможно, самая важная часть поведенческого уровня - способность обнаружить и исправить ошибочные условия. Транспортные средства в 2004 году в значительной степени потерпели неудачу, потому что их программное обеспечение было слишком нестабильным: оно зависало при попадании в ситуацию, которую не понимало. Команды усвоили свои ошибки, и в 2005 году и 2007 году транспортные средства были так запрограммированы, чтобы продолжать пробовать новые стратегии, пока не найдут ту, которая будет работать.
Когда поведенческий уровень обнаруживает неожиданную проблему, он переключается в режим восстановления и начинает исследовать альтернативные алгоритмы действия. Каждый раз, когда алгоритм действия оказывается неосуществимым, поведенческий уровень увеличивает переменную, названную "уровнем восстановления". При более высоких уровнях восстановления Босс плюнет на большие затраты (с точки зрения потерянного времени и увеличенного риска), с целью сбежать из проблематичной ситуации. Например, если Босс сталкивается с препятствием на дороге, он может сначала замедлиться, чтобы подождать, пока препятствие не покинет проезжую часть (это может быть пешеход). Если он потерпит в этом неудачу, он может попытаться проехать мимо транспортного средства (это может быть остановившийся автомобиль). Если это невозможно, Босс может начать разворот, и подготовить новый маршрут, избегающий заблокированную дорогу.
Наиболее грозным соперником создателей Босса в гонках 2005 и 2007 годов стала команда Стэнфорда, во главе с бывшим профессором университета Карнеги Меллон Себастьяном Труном (Sebastian Thrun). Как мы писали выше, команда Труна выиграла соревнование 2005 года «Grand Challenge», и надеялась выиграть гонки 2007 года. Их машина называлась Юниор, измененный Volkswagen Passat с кузовом универсал (описанный подробно здесь). Юниор был оборудован 13 датчиками - восемью лазерными дальномерами, пятью радиолокационными датчиками и датчиком GPS. Юниор и Босс использовали много похожих датчиков, но у Босса было на несколько датчиков больше чем у Юниора, включая две камеры. Программное обеспечение Юниора работало на паре компьютеров с четырёхъядерными процесорами Intel, под управлением Linux.
Багажник Юниора
Босс и Юниор были также похожи в разделении работы среди программных модулей. У программного обеспечения Юниора существует специализированный программный модуль для каждого датчика. Эти модули передают данные в модуль восприятия, который выполняет функцию, подобную уровню слияния Босса. Модуль восприятия Юниора комбинирует входные данные различных датчиков и создаёт всестороннюю и стабильную высокоуровневую модель внешнего мира для алгоритмов планирования движения Юниора.
Граф состояний Юниора
Большие различия между Боссом и Юниором могут быть обнаружены на уровне программного обеспечения, планирующего движение. Программное обеспечение Юниора не разделено на уровень явного планирования и уровень поведения. Вместо этого навигационный уровень Юниора - автомат (на схеме выше), с состояниями для обычного дорожного вождения, ожидания перед знаком стоп, проезда перекрёстков, вождения в местах стоянки автомобилей, и так далее.
В пределах каждого из этих состояний Юниор использует алгоритм планирования, основанный на вероятностном рассуждении. Программное обеспечение планирования Юниора представило свои варианты как граф состояний и переходов между ними. Каждому переходу назначается стоимость и вероятность успеха. Стоимостью обычно является время, которое потребуется, чтобы закончить переход, однако дополнительный штраф был добавлен для таких переходов, как левые повороты, которые являются потенциально опасными.
Как и Босс, Юниор может восстановиться от неожиданных препятствий. Если программное обеспечение планирования Юниора решает, что оно не в состоянии продвинуться к цели по прежнему плану, оно рассматривает множество альтернатив, включая перестраивавание в другую полосу (после удостоверения что она чиста), разворот, или (если все остальные алгоритмы терпят неудачу), отказ от назначенной точки маршрута и переход к другой точке.
Универсетет Карнеги Меллон в соревновании 2007 года «Urban Challenge» ненамного обогнал Стэнфорд, однако обе команды решили то, что, до недавнего времени, расценевалось как тяжелая проблема: оба транспортных средства были в состоянии избегать препятствий, оставаться на трассе, повиноваться правилам дорожного движения, и оправляться от неожиданных ситуаций.
Несмотря на захватывающие успехи, представители обеих команд быстро признали, что их транспортные средства совсем не готовы выехать на наши улицы. Язон Циглар (Jason Ziglar), инженер работавший над программным обеспечением восприятия Босса, говорит что реальные улицы значительно сложнее и непредсказуемее, чем искусственная городская окружающая среда, которую управление перспективных исследовательских программ кропотливо возводило для соревнования «Urban Challenge».
Пешеходы - самые тёмные лошадки. "Автомобили могут повернуть, но по большей части, они двигаются вперед. Они - все приблизительно одной формы, – рассказывает Циглар. – Человек например может повернуть на малой площади и пойти в случайном направлении. Люди могут наклониться, чтобы завязать шнурки. Они могут идти под руку с кем-то. Они невероятно сложные объекты для обнаружения и понимания".
Циглар также указывает, что контакт с пешеходами был бы особенно трудным из-за важности зрительного контакта во взаимодействиях между водителями и пешеходами: "Если кто то близок к вашей стороне дороги, вы устанавливаете зрительный контакт с ним, и вы можете увидеть, что они распознали вас, и вы распознали их, и что они не собираются выпрыгивать перед вами на дорогу". Роботы очевидно не смогут осуществить зрительный контакт, таким образом самоходные транспортные средства должны будут найти другие способы общения с пешеходами.
Майк Монтемерло (Mike Montemerlo) из гоночной команды Стэнфорда говорит, что пешеходы далеко не единственный тип препятствий, о которых должен волноваться самоходный автомобиль на реальных улицах. Есть также велосипедисты, животные, припаркованные автомобили (которые могут выехать на дорогу в любой момент), выбоины, стоящие транспортные средства, транспортные средства аварийных служб и т.д. Благополучная и эффективная навигация среди этих типов препятствий, требует большого знания, которое может быть очевидным для человеческих водителей, но с точки зрения программирования трудно реализируемое. Например, исследователи Стэнфорда в настоящее время работают над распознаванием и интерпретацией стоп-сигналов - то, что не мог Юниор.
Городская улица
Циглар считает, что необходимо больше работы, чтобы развить надёжные алгоритмы дорожного обнаружения. Переулки «Urban Challenge» были отчетливы, но любой, кто хоть раз проехал по ремонтируемой дороге или грунтовой дороге может сказать вам, что это не всегда верно для реальных дорог.
"У Вас могут быть колеи на дороге, у вас может не быть никаких нарисованных линий, или линии могут быть нарисованы неправильно, или быть стёртыми; реальные дороги очень изменчивы". Навигационные базы данных могут помочь, но эти данные не всегда точны, таким образом реальное автономное транспортное средство будет нуждаться в способности независимо проверять точность данных, обеспеченных ими.
У Босса и Юниора также, вероятно, будут проблемы со сложностью окружающей среды высокого скопления. Монтемерло рассказывает, что Юниор был бы очень учтивым водителем, предполагая, что другие водители будут также соблюдать правила, и уступать им, когда они будут нарушать. На реальных городских улицах, где человеческие водители не останавливаются на знаке стоп, резко ускоряясь, подрезая друг друга, и втискиваясь в поток на шоссе, консерватизм Юниора может заставить его двигаться медленно, и возможно даже опасно.
Монтемерло оптимистично считает, что эти проблемы могут быть преодолены. Он отметил, что в то время, когда в 2003 году объявили о «Grand Challenge», большинство людей оценило слишком высокую трудность задачи, полагая, что потребуются годы работы прежде, чем автомобили смогут двигаться полностью автономно. Однако решения были разработаны в течение двух лет. "Люди имеют тенденцию переоценивать сложность задачи. – рассказывает Монтемерло. – То, что я хотел бы сделать, это продолжить делать вещи немного более сложными – дать Юниору немного более сложное понимание мира и посмотреть как далеко это заведёт нас. Полностью автономные транспортные средства - "определенно решаемая проблема".
Монтемерло считает, что полностью автономные транспортные средства, вероятно, появятся через два десятилетия. Однако, он также думает, что "нам необходим такой период времени, когда мы будем вводить автономию в автомобили так, чтобы каждый год автомобили становились немного более автономными". Действительно, мы уже начинаем видеть, что происходит, отметил он. "Адаптивная система "круиз-контроль" - простая форма автономии, когда автомобиль сам тормозит, чтобы соблюдать вашу скорость и приспособиться к скорости автомобиля идущего перед вами на шоссе". Много высококачественных автомобильных моделей предлагают опционально систему адаптивного "круиз-контроля"; это доступно приблизительно за 2000$ на Ягуаре XF и Мерседес SL550.
Инфинити M45X предлагает не только адаптивную систему «круиз-контроля», но также и систему предупреждения о выезде за пределы полосы движения. Если водитель начнет дрейфовать из своей полосы без включения сигнала поворота, то автомобиль выдаст звуковое предупреждение. Если транспортное средство продолжит дрейфовать на смежную полосу, то оно автоматически приведёт в действия тормоза на противоположной стороне, что произведёт эффект подталкивания транспортного средства обратно на полосу. Система может быть отключена поворотом руля или включением сигнала поворота перед перестраиванием на другую полосу. Подобная технология доступна и на Ауди A8 L W12 и Вольво S80 T6. Вольво также включает систему предотвращения столкновения. Когда система вычисляет, что она приближается к автомобилю перед ним слишком быстро, она сначала покажет световой индикатор. Если водитель не замедлится, то Вольво возьмет дело в свои руки, жмя на тормоза, и, предотвращая столкновение на полной скорости.
Другая умная технология вождения это помощь при парковке. Хороший пример этого - Лексус LS 600h, который предлагает адаптивную систему «круиз-контроля» и умную систему парковки. Когда водитель останавливается рядом с местом для стоянки соответствующего размера, экран показывает место для стоянки, выделенное зеленым прямоугольником. Водитель регулирует этот прямоугольник к желательному местоположению автомобиля и затем приказывает автомобилю парковаться. Водитель все еще управляет скоростью автомобиля педалями, однако автомобиль сам управляет рулем.
Конечно, ни одна из этих технологий не приближается к вполне оперившемуся самоходному автомобилю. Но легко увидеть, как полностью самоходные технологии могут вырасти из таких возрастающих усовершенствований. Существующие автомобили уже знают, как держать скорость равную скорости автомобиля перед ними и как держаться своей полосы. Совсем просто вообразить автомобили, которые позволят водителю заехать на автостраду потом перейти в автономный режим, и отдыхать всю дорогу до необходимого сьезда.
Другое вероятное краткосрочное усовершенствование включит в себя более сложные системы предотвращения столкновения. Примитивная система обнаружения столкновения Вольво просто нажимает на тормоза, чтобы избежать столкновения с транспортным средством впереди, тактика, при которой в некоторых ситуациях удаётся избежать несчастных случаев, однако она возможно, не поможет в других ситуациях. Более сложное предотвращение столкновения может также в зависимости от ситуации, кроме педали тормоза, управлять педалью газа и рулём. Например, если водитель автомобиля справа неожиданно перестраивается на вашу полосу перед вашим транспортным средством, то система предотвращения столкновения могла бы повернуть руль направо. Человеческий водитель должен был бы сначала посмотреть за своё плечо, чтобы удостовериться, что в том направлении нет никаких транспортных средств, но система программного обеспечения может отреагировать почти мгновенно, так у неё будут датчики, контролирующие эту сторону транспортного средства.
Автомобили могут обеспечить подобные системы безопасности на перекрёстках. Транспортное средство отказажется двигаться, если водитель пытается ускориться пересекая путь приближающегося автомобиля. Наоборот, автомобиль мог нажать на газ (и отклониться в случае необходимости), если бы обнаружил бы, что автомобиль приближается с той стороны на небезопасной скорости.
Эти особенности были бы вероятно проданы как технологии безопасности, а не как "самоходные" технологии. В ежедневном вождении такие автомобили вели бы себя очень похоже на нынешние транспортные средства. Различие очевидно только тогда, когда автомобиль спасает своих пассажиров от того, что иначе стало бы серьезным несчастным случаем. Но аппаратные средства и программное обеспечение для сложных систем предотвращения столкновения будут подобны тем, что требуются для полномасштабного самоходного транспортного средства. Чтобы предсказать и избежать аварий, автомобиль нуждается в детальной модели мира и здравой способности рассуждать об этом. Так, поскольку автомобилестроители строят всё более сложные системы предотвращения столкновения, они будут случайно закладывать фундамент для самоходного будущего.
Когда придёт решение построить первый полностью самоходный автомобиль, это не будет технологическая азартная игра, это будет юридическая и финансовая игра. Производители автомобилей будут сомневаться в целесобразности продажи полностью самоходных автомобилей из-за проблем ответственности. Пока человек за рулём принимает большинство решений, автомобилестроитель не должен слишком волноваться о том, чтобы он будет обвинён в авариях. Но как только человеческий водитель сможет формально передать контроль транспортному средству, тогда любые аварии - ошибка изготовителя транспортного средства. И, особенно для любящих судебные процессы американцев, это - перспектива, которая мучает адвокатов крупных автомобилестроителей по ночам.
Самоходные технологии, вероятно, будут существовать как опытные образцы в лабораториях автомобилестроителей в течение многих лет, прежде чем одна из фирм пожелает рискнуть продать их широкой публике. Они будут детально проверены, и их программное обеспечение будет прочесано частым гребнем в поисках ошибок.
В следующей части статьи мы исследуем то, что может случиться, когда самоходные транспортные средства, наконец, появятся на рынке. Потенциальные преимущества огромны: такие транспортные средства легко могут спасти сотни тысяч жизней, десятки миллиардов человеко-часов, и энергии на триллионы долларов ежегодно. Мы также рассмотрим юридические и социальные споры, которые самоходные автомобили, вероятно, зажгут, включая споры об ответственности, законодательные проблемы, и важный вопрос о том, какой контроль будут иметь люди над своими транспортными средствами.
По материалам ARS technica
Комментарии: