Переправляя наших альфа-райдеров в Сакраменто, я догадывался, что водители, использующие пошаговую навигацию без интегрированного интерфейса в приложении, столкнутся с серьезными проблемами. Это особенно ощутимо, когда в существующие планы маршрутов объединения транспортных средств в нашем сервисе был добавлен новый запрос на поездку. Водители получают push-уведомление от Go360 о том, что план их транспортного средства изменился и им необходимо переключиться обратно на приложение Go360 из навигации Карт Google, чтобы заново создать новый маршрут на Картах Google, нажав глубокую ссылку в плане транспортного средства.

Поскольку изолированные приложения iOS и Android не могут манипулировать сторонними приложениями, драйвер должен постоянно переключаться между приложениями и использовать глубокие ссылки. Существующая функция пошаговой навигации представляет собой замкнутую экосистему с огороженными садами, потому что Google, Waze и Apple Maps не позволяют сторонним приложениям использовать их пошаговую навигацию. Google, Uber и Apple Maps защищают эту функцию, как своего первого ребенка.

Это приводит к сценарию, в котором разработчики, которым необходимо обновить пошаговую навигацию, должны учитывать накладные расходы контекста при переключении с приложения, которое они создают, на приложение, подобное Google Maps. К сожалению, это переключение требует тактильной обратной связи и не работает, если водитель не касается мобильного устройства во время вождения. Обязательная внутренняя пошаговая навигация как часть дорожной карты Go360 теперь стала реальностью после того, как водители наблюдали, как водители громоздко управляют приложением.

Поскольку в Google Maps разрешены ссылки на контент только из сторонних приложений, уместно иметь жизнеспособное решение, которое может использовать Go360 для плавного обновления пошаговой навигации для водителя. Переключение между Google Maps и Go360 для целей навигации не является стартовым, и моя гипотеза о трении пользователей в процессе работы оказалась верной.

Помимо неудобной связи между приложениями для пошаговой навигации, городские каньоны создают дополнительную сложность, затрудняя локализацию автомобиля. В таких местах, как центр Сан-Франциско, я регулярно сталкивался с плохим приемом GPS, что приводило к высокой ошибке определения местоположения.

Часто данные о местоположении с моего телефона отодвигали меня на 1-2 квартала от моего истинного положения. Это затрудняло поиск пассажиров или водителей при эксплуатации транспортной сети. Положение водителя и водителя влияет на пошаговые инструкции по навигации. В приведенном ниже примере водитель с улицы Буша может быть размещен на улице Саттер. Точно так же всадник, запрашивающий поездку с Буш-стрит, может быть размещен на Монтгомери-стрит. В оживленных центрах города нахождение на разных сторонах улицы также может привести к неэффективности выбора правильного водителя и водителя.

Эта ошибка GPS не только вызывает дискомфорт для водителя, но и снижает эффективность работы службы, часто превращая расчетное ETA с 1-2 минут до 7-12 минут, поскольку пассажир и водитель изо всех сил пытаются найти друг друга. Чтобы решить эту проблему для гонщиков, мы решили создать собственное решение для пошаговой навигации, которое работает как в приложениях для гонщиков, так и в приложениях для водителей.

Процесс создания пошаговой навигации

Первым шагом к созданию пошаговой навигации является создание трехмерной структуры с использованием набора датчиков.

Путем приема данных трехмерной структуры в многоступенчатый конвейер данных соответствующие функции извлекаются и преобразуются в граф маршрутизации. Затем метаданные добавляются в график маршрутизации с такой информацией, как названия улиц, направленность полос, ограничения скорости, данные о точках интереса, предстоящий перекресток и другой контекст, относящийся к навигации и маршрутизации.

Затем график маршрутизации вводится в алгоритмы оптимизации маршрута для создания плана маршрута между исходной точкой и пунктом назначения. Эти пары называются OD. Алгоритмы оптимизации маршрута многомерны. Одним измерением может быть расстояние, другим - сложность маневра транспортного средства, а третьим - средняя скорость на конкретной дороге или в определенной полосе движения. В случае перекрытия дороги размер «средней скорости» близок к 0, и, следовательно, эта конкретная дорога будет проигнорирована алгоритмом оптимизации маршрута.

При реализации подхода на основе пула необходимо учитывать дополнительные сложности. Плана маршрута каждой пары OD недостаточно, но необходимо учитывать комбинаторный план всех различных пар OD как набора. Дополнительный уровень увеличивает сложность и требует некоторой умной инженерии для эффективных вычислений. Есть дополнительные сложности, когда вам необходимо управлять состоянием на каждой итерации оптимизации, чтобы гарантировать, что пассажиры, назначенные транспортному средству, в следующий раз будут сопряжены с тем же транспортным средством. Результатом оптимизации маршрута является план транспортного средства. Это ввод, который требуется модулю пошаговой навигации.

Как мы обрабатываем планы транспортных средств, чтобы сделать их более удобными

Для нашей пошаговой навигации для каждого этапа плана транспортного средства мы должны локализовать транспортное средство и определить, какую полосу движения он занимает на пространственном графике. Постоянно отслеживая местонахождение автомобиля, мы должны в нужный момент активировать звуковую и визуальную обратную связь. Один из примеров - «оставайтесь в левой полосе, чтобы повернуть на Main St через 300 футов». В этой инструкции мы должны проанализировать, где находится транспортное средство, сколько полос на дороге имеет и как водитель должен управлять транспортным средством, чтобы иметь возможность выполнить следующий поворот. Мы указываем название улицы, на которой должен быть выполнен поворот, и информируем водителя об относительном расстоянии между их текущим местоположением и местом поворота на Main st. Цель состоит в том, чтобы снизить когнитивную нагрузку на мозг водителей, чтобы они могли сосредоточиться на вождении, при этом сводя к минимуму количество решений, которые водитель должен принять, чтобы перейти от пикапа к высадке.

Визуальные эффекты включают в себя местоположение автомобиля и рассчитанный маршрут, отображаемый на карте уровня полосы движения. В зависимости от текущего местоположения мы дополняем информацию для водителя, показывая такие метаданные, как:

  • Название дороги
  • Геометрия дороги
  • Время до пункта назначения
  • Расстояние до пункта назначения
  • Информация о POI
  • Ограничение скорости
  • Расстояние до следующего перекрестка
  • Рекомендации о том, когда сменить полосу движения, чтобы подготовиться к повороту или слиянию

Визуальные эффекты поддерживаются синтетической модуляцией голоса, которая направляет водителя по плану движения автомобиля и предупреждает его о таких событиях, как смена полосы движения, высадка, высадка или приближающийся перекресток. Предупреждения основаны на текущем местоположении транспортного средства на рассчитанном маршруте. Если водитель уходит от рассчитанного маршрута, план маршрута пересчитывается, а план навигации обновляется. Конечный автомат на нашем сервере отслеживает текущее местоположение автомобилей и пересчитывает план маршрута, если есть отклонение от плана маршрута, добавление новой поездки или завершение существующей поездки в плане транспортного средства. Этот конечный автомат работает с частотой 10 Гц в нашем сервере и отправляет обновленные планы транспортных средств на автомобили.

Дальнейшая пошаговая навигация помогает нам определять места посадки и высадки, к которым легко добраться как водителям, так и гонщикам. Это полезно в больших комплексах зданий, таких как торговые центры или офисные комплексы, где может быть несколько точек входа и выхода для данного имени POI.

Возвращаясь к нашей исходной болевой точке, когда в план транспортного средства добавляется новая поездка, когда транспортное средство переправляет гонщика. С помощью нашей пошаговой навигации мы уведомляем водителя с помощью голосовых и визуальных предупреждений об изменении плана транспортного средства. Затем мы визуализируем новый план маршрута в визуальных элементах, чтобы учесть новый запрос на поездку. Встроенная в приложение пошаговая навигация позволяет водителю полностью сосредоточиться на вождении и обеспечивает водителю безопасную и беззаботную поездку.

Как мы обновляем пространственный график для пошаговой навигации

Пошаговая навигация будет использоваться до тех пор, пока базовые уровни данных верны. Если данные изменятся, например, в случае строительства или закрытия дороги из-за событий, водители не будут использовать нашу пошаговую навигацию.

Чтобы обновить скорости на уровне полосы движения, мы сначала используем скорость автомобиля Go360 и его расположение на уровне полосы движения, чтобы получить скорость для текущей полосы движения. Затем мы получаем относительную скорость транспортных средств на соседних полосах движения автомобиля Go360 с помощью функции отслеживания нескольких транспортных средств (MVT). MVT отличается от традиционного подхода краудсорсинга скоростей на уровне полосы движения с помощью GPS-следов транспортных средств. При традиционном подходе одно транспортное средство на дороге обновляет скорость одного транспортного средства на уровне дороги. С помощью функции отслеживания нескольких транспортных средств одно транспортное средство может обновлять скорость нескольких транспортных средств в своем окружении на уровне полосы движения.

Это позволяет нам иметь самые свежие данные об уровне полосы движения в городах, где Go360 предоставляет свои услуги по подписке, используя при этом небольшую часть автомобилей, используемых при традиционном подходе.

Это похоже на радиосвязь между водителями такси в крупных городах и понимание различных способов быстрого доступа к особым событиям, времени суток, заторам на дорогах в реальном времени или временным перекрытиям дорог. Помимо информации о скорости на уровне полосы движения, мы можем обновлять такую ​​информацию, как временное закрытие дорог или полос, изменение сигналов или указателей, а также любые другие изменения в физической инфраструктуре, которые могут повлиять на планирование маршрута.

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

Автор:
Анудж Гупта

Вице-президент по развитию Go360