Как определить скорость.

Jun 07, 2024 19:16


В книге Маркуса (см. выше) довольно весело описана проблема - несмотря на обещанный прогресс, роботы так и не умеют открывать двери. Для автомобилей автопилотов (или беспилотных автомобилей, далее БА) есть много таких же веселых проблем, одна из них - с какой скоростью должен ехать автомобиль под управлением ИИ.

Тут, оказывается, есть много вариантов решения.

Самый простой вариант. БА должен ехать со скоростью впереди идущего автомобиля. Это не только просто, но и прекрасно работает. Так называемые, «помощники водителя» как раз этим и заняты - выдерживают дистанцию. У способа есть два недостатка. а) Впереди идущий автомобиль не всегда присутствует - БА должен уметь ездить и без него. б) Скорость впереди идущего автомобиля не обязательно верная - водитель этого автомобиля может ошибаться с выбором скорости, попасть в аварию, а за ним и наш автомобиль (так сказать, паровозиком). Да и не правильно полагаться на «кого-то», предполагается, что автопилот умеет сам управлять машиной.



Очевидный вариант. Ехать с той скоростью, которая разрешена на участке. Тут такая основная проблема. Можно ли ехать именно с этой скоростью? Дорожные условия бывают разные. Дело не только в погоде и состоянии дорожного покрытия. Например, «лежачий полицейский». В таких местах, конечно, ставят ограничение скорости, например, 30 км/ч, но проезд с такой скоростью бывает опасен для автомобиля и пассажиров. В реальности, водители проезжают такое препятствие на скорости 5-10 км/ч, или 15-20 км/ч если не жалко машину, а пассажиры готовы «попрыгать». Как видим, ограничение 30 км/ч «не работает». Сюда же входят остальные моменты, например, проблема корректности установки этих ограничений. Получается, автопилот должен каким-то образом снижать скорость, если это необходимо. Пока этот вопрос можно решить одним способом - всегда ездить медленно. Настолько медленно, насколько это вообще возможно. Это «настолько» оказывается все строже и в какой-то момент становится понятно, что даже велосипед ездит быстрее. Зачем тогда БА?

В попытках решить проблему найден способ, который я тут назову «разметка». Этот способ решает проблему не только со скоростью движения, но и с траекторией. Для этого определяется территория, где БА может ездить, и эта территория размечается специальными виртуальными метками. Метки задают и скорость и траекторию и много других важных правил. Вернее, разработчики на основании собственного опыта сами задают то, с какой скоростью ездить БА в каждой точке.  Образуется виртуальная карта и БА ездит строго по ней. Таким способом перемещаются, например, такси Waymo. У способа несколько важных недостатков. Первый. БА работают только на некоторой территории и не могут выехать за ее пределы (допускаются только размеченные дороги, даже во двор они не могут заехать, если он не размечен). Второй. Сама разметка, а главное ее поддержание в актуальном состоянии, обходится крайне дорого (а не поддерживать нельзя, даже опасно). Собственно, поэтому территории оказываются сравнительно небольшими. И дальнейший рост ограничен финансированием этого заведомо убыточного проекта. Третий. Даже при наличии разметки, приходится корректировать скорость в том, случае, когда на дороге происходит что-то внезапное.

Как видим из предыдущих способов, они достаточно ограничены и не решают проблему. Автопилот должен самостоятельно определять скорость БА. Вернее, разработчики БА должны уметь задавать эту скорость, иначе БА нельзя использовать. Тут несколько интересных моментов, пока напишу один.

Допустим, разработчики такие молодцы и научились определять правильную скорость всегда и везде. У них в кармане некоторая волшебная функция, которая это прекрасно делает (а если плохо, то и БА нас не устроит). Тогда мы сможем провернуть следующий фокус.

Обратите внимание, насколько неудачно (мягко говоря!) бывают расставлены ограничения скорости. Каждый водитель, который много ездит, может привести множество примеров из практики. В некоторых местах ограничения высоки, нет даже соблазна их нарушить, а в некоторых они необъяснимо строги. Например, многополосная дорога с разделительным барьером, отсутствием перекрестков и пешеходов имеет ограничение 60 или даже 40 км/ч. На практике мы понимаем откуда это берется. Люди не всегда умеют корректно задавать такие ограничения, а рекомендации крайне туманны и расплывчаты. Поэтому, что получилось, то получилось. И вот нам в руки попадает шикарная функция, которая даст нам не абы какие, а правильные, обоснованные(!) ограничения скорости и мы сможем исправить все теперешние - странные и неудачные. Здорово! Более того, разработчикам, после получения такой чудо-функции, предстоит еще множество работы, так как определение скорости - это лишь малая часть среди всех задач управления БА. Пока они занимаются дальнейшей разработкой, дорожные службы могут исправить все знаки.

Тут изящность ситуации в том, что прежде чем БА выедет на дороги, как это многократно обещается, он позволит нам скорректировать наши ограничения. Именно в этом порядке, а не наоборот. Проблема в том, что такую функцию сделать не получается. Тут есть проблемы, о которых напишу позже.

Previous post Next post
Up