Маршрут построен: как разработать систему городской навигации для электросамокатов
Как разработать систему навигации
У каждого вида транспорта: автомобилей, самокатов, мопедов и даже пешеходов — своя специфика маршрутов. Так что каждому нужна своя отдельная система навигации. Виктор Викулов, Product Owner кикшеринг-сервиса Whoosh, на примере маршрутизатора для электросамокатов рассказал, как разработать такую систему.
Содержание
Почему самокатам нужны собственные маршруты, а не автомобильные
Первая причина, по которой самокаты требуют отдельных маршрутов — для них действуют свои правила дорожного движения. Электросамокаты, как сегвеи и моноколеса, относятся к средствам индивидуальной мобильности (СИМ), которым можно ездить по велодорожкам, велополосам и тротуарам. Если такой возможности нет, то по обочине или правому краю проезжей части дороги со скоростным режимом не более 60 км/ч. Это приходится учитывать при построении маршрута.
Другая особенность навигации СИМ связана с их спецификой: с самокатом не всегда удобно переходить дорогу по подземному или надземному переходу, особенно если там нет пандуса. С ними некомфортно подниматься по лестницам, ехать по разбитой дороге или песку.
Есть и другие факторы: пользоваться велодорожкой намного приятнее, чем петлять между пешеходами или жаться к обочине проезжей части. Если путь лежит по тротуарам, нужно учитывать их ширину и плотность пешеходного потока. В шеринговых сервисах есть зоны ограничения скорости самокатов и зоны с запретом на поездки. При въезде в последние электросамокат остановится, поэтому их нужно избегать в маршруте.
Своя специфика и у системы расчета времени, которое занимает путь: она должна учитывать среднюю и максимальную скорость самоката плюс зоны ограничения скорости. И если для автомобилей время в пути зависит от дорожных пробок, то для самокатов — от интенсивности пешеходного движения на конкретной улице в конкретное время.
Где брать данные
Все это не значит, что нужно изобретать велосипед и строить систему навигации с нуля. За основу навигационные сервисы обычно берут открытые данные проекта Open Street Map (OSM) — городские карты, которые создаются пользователями и дают представление о транспортной инфраструктуре.
OSM хороши тем, что у них есть разные типы объектов и инфраструктуры, которые можно «включать» и «выключать»: дорога, тротуар, пешеходный переход, велодорожка и так далее. Это дает возможность убирать из маршрута ненужные нам объекты.
Например, самокату нельзя ездить по автомагистралям: тогда мы выключаем соответствующий слой и тем самым запрещаем строить маршрут через автомагистрали. То же самое работает в отношении велодорожек и тротуаров, если мы делаем маршрутизатор для автомобилей или любых автодорог, если речь о пешеходах. В результате мы получаем систему фильтров, которая отражает особенности конкретного вида транспорта.
Следующий шаг — добавить к открытым данным внутреннюю информацию. У нас каждый самокат оснащен IoT модулем собственной разработки, который постоянно собирает телеметрические данные об устройстве: отслеживает геолокацию с помощью GPS, состояние самоката, его готовность к поездкам и многое другое. Модуль в режиме реального времени отправляет такие данные в облачный сервис компании.
Отслеживая географические координаты, мы следим за самокатом на всем пути маршрута. Затем мы накладываем данные о всех маршрутах наших пользователей и тем самым получаем тепловые карты поездок, которые говорят нам, какие маршруты популярны, а какие не очень.
Получается, что пользователи сами делятся самыми удобными траекториями для проезда — это самый быстрый и эффективный способ получения информации о состоянии дороги и дорожного покрытия, который можно использовать.
Например, где-то раскопали асфальт, и проехать по этому пути не получится. Скорость, с которой такие изменения попадут на карту OSM, не слишком высокая, и быстро обновить маршрут для пользователей не получится. При этом если этот путь часто используется при поездках на самокатах, то уже через день мы увидим новый путь, который проложили пользователи в объезд раскопанного места. И сможем обновить наш маршрутизатор, чтобы он продолжал строить комфортные маршруты.
Кроме того, датчики могут собирать данные не только о геолокации, но и о состоянии дороги: например, если самокат, грубо говоря, трясет в поездке, это может сигнализировать о некачественном дорожном покрытии или ямах. Все датчики находятся в IoT-модуле. В частности, они собирают информацию о силе и частоте «ударов» самоката при движении. Такие данные также хранятся в облачной системе.
Но учет этих данных в маршрутизаторе для нас пока дело будущего. Не всегда точно можно сказать, почему самокат получил удар. Может, там действительно ямы на дороге, а может, просто брусчатка, по которой путь будет быстрее, чем в объезд. Поэтому пока мы ориентируемся на опыт наших пользователей и тепловые карты.
Еще нюанс — тепловые карты нужно постоянно обновлять: дорожная инфраструктура меняется, появляются новые велодорожки, новые инфраструктурные объекты. И все это нужно учитывать в маршрутах.
По теме. Самокатчик нарушил ПДД: что грозит владельцу кикшеринга
Как собрать команду
Первый шаг перед началом разработки маршрутизатора — сформировать команду. Если до этого вы не занимались навигационными сервисами, то, скорее всего, вам ее придется набирать с нуля. Как минимум, понадобятся разработчики в том стеке, на котором вы будете создавать сервис, и специалисты по геоаналитике с картографическим образованием.
Важно, чтобы во главе всего процесса находился человек, который детально разбирается в картографии, знает, как построены другие картографические продукты, и понимает не только потребности, но и ограничения. Иначе можно придумать какой-то космолет, который никогда в жизни не взлетит.
Из картографической специфики вытекают и особенности работы команды, которые мы не учли на старте проекта, и это стоило нам многих ошибок и лишней работы.
Изначально мы собрали команду маршрутизатора по образу и подобию других продуктовых команд. То есть там был продакт, разработчики, аналитики и стандартный флоу: родилось бизнес-требование, мы его обсудили, нарезали на задачи, выполнили их, проанализировали результат. Взлетело — отлично, нет — думаем дальше.
Мы не учли, что для создания картографического сервиса много времени и ресурсов нужно тратить на кропотливую работу с данными. Буквально открывать карты и вручную проверять: точно ли сработал фильтр, действительно ли там есть велодорожка, верно ли она стыкуется со следующей. В команде таких сервисов обычно есть джуниор-картографы, студенты или вчерашние студенты, которые и занимаются этой важной работой. Мы не учли этот момент в самом начале, поэтому столкнулись с чередой новичковых ошибок, что приводило к не самому лучшему качеству некоторых маршрутов.
В итоге мы изменили состав команды, сместив фокус на стек картографии и геоаналитики. Это помогло нам добиться идеального микса компетенций и ресурсов. Теперь в команде маршрутизатора и работы с картой около 15 человек, некоторые из которых привлекаются частично в нужные моменты разработки. Из них 7 человек — геоаналитики, картографы и продуктовые аналитики, 8 — продуктовая команда: менеджер по продукту, Java, Python, Go разработчики, разработчики мобильных приложений (iOS, Android), UX/UI дизайнер, QA инженер.
На какие этапы поделить работу
Саму работу лучше всего строить от простого к сложному.
Как это было у нас:
- Сначала мы сделали функцию поиска адреса в приложении без построения маршрута.
- Добавили возможность построить пеший маршрут до ближайшего самоката с оценкой времени на дорогу.
- Разработали полноценный маршрутизатор, который прокладывает дорогу до нужной точки с учетом специфики езды на электросамокатах — это нынешний этап.
- Следующий шаг — добавить функцию навигатора, который будет «вести» пользователя по построенному маршруту с голосовыми подсказками, как в классических навигаторах.
Время, которое уйдет на работу, зависит от размера команды, ее компетенций и объема имеющихся данных. У нас весь процесс разработки от создания команды до внедрения занял около 9 месяцев. Но была предыстория: мы уже пробовали подступиться к созданию собственного маршрутизатора ранее и даже участвовали с этой задачей на хакатонах. Там мы искали ребят, которых заинтересует эта идея и которые предложат свежее решение.
Что делать дальше
Как и для многих продуктов, особенно тех, что рассчитаны на широкую аудиторию, работу над маршрутизатором нельзя завершить. Маршруты нужно постоянно дорабатывать, анализируя, где людям действительно удобно ездить, а где нет. Это бесконечный процесс улучшения, который подпитывается обратной связью, новыми данными о пользовательских поездках и городской инфраструктуре.
Обязательно нужно думать на пару шагов вперед и делать такой продукт, который можно в дальнейшем апгрейдить, улучшать, добавлять новые фичи. Потому что индустрия не стоит на месте: пользователи очень чувствительны к комфорту, к скорости работы приложений и привыкли к улучшениям.
Наш следующий шаг — создать на основе маршрутизатора классический навигатор, который будет «вести» пользователя по маршруту. Мы также планируем добавить в наш маршрутизатор промежуточные точки на пути и создать нескольких вариантов маршрута. Пользователь сможет выбрать, например, «самый удобный», где не будет переходов и лестниц, или «самый быстрый». Если в навигаторе для автомобилей есть опция «без платных дорог», то в случае другого вида транспорта это может быть фильтр «без подземных переходов» или «без зон ограничения скорости».
В любом случае все новые продукты должны строиться на аналитике поездок пользователей и быть гибкими для улучшений алгоритмов и внедрения новых разработок. Только так получится дать пользователям тот функционал, который им действительно нужен.
Фото на обложке: Freepik
-
Деньги Персональные данные и цифровой след: кто и как на них зарабатывает 27 марта 2026, 10:11
-
Технологии Подключённые автомобили: как интернет меняет автопром 25 марта 2026, 13:17
-
Карьера Зумеры в управлении — не мода, а необходимость 28 февраля 2026, 01:00
-
Тренды Будущее под камерами: шесть сценариев, как видеонаблюдение перепишет реальность к 2036 году 19 января 2026, 10:57
-
Бизнес 40% — локальные, 60% — зарубежные: как Lamoda растит бренды и почему не превращается в «русский Amazon» 19 декабря 2025, 16:19
-
Деньги 3-НДФЛ в 2026 году: как подать, получить вычет и избежать штрафов — полное руководство с комментариями экспертов 15 апреля 2026, 21:54
-
Деньги Декларация по УСН: правила заполнения, сроки подачи и образцы-2026 13 апреля 2026, 17:50
-
Маркетинг Как брендам достучаться до зумеров: почему старые инструменты больше не работают и что делать 12 апреля 2026, 22:11
-
Технологии Apple готовит самый дешёвый мини-ПК в мире Mac Neo — он будет решать базовые пользовательские задачи 15 апреля 2026, 20:00
-
Банки В России запустили эксперимент с «белыми» банкоматами — первые терминалы уже появились в Тамбовской области 15 апреля 2026, 19:25
-
Реклама «Яндекс Директ» обучил ИИ-ассистента запускать рекламные кампании — конверсии выросли на 30% 15 апреля 2026, 18:51
-
Искусственный интеллект OpenAI представила GPT-5.4-Cyber — ИИ-модель для поиска уязвимостей в ПО и защиты от киберугроз 15 апреля 2026, 18:00
-
Искусственный интеллект Инициатива требует доработки: Госдума отклонила закон об обязательной маркировке ИИ-видео в России 15 апреля 2026, 17:30
-
Бизнес Госдума освободила малые предприятия общепита от НДС до конца 2026 года — но сохранила лимит дохода в 60 млн ₽ 15 апреля 2026, 16:30
-
Россия В работе «Ростелекома» произошёл масштабный сбой из-за DDoS-атаки — пользователи жалуются на проблемы с интернетом 06 апреля 2026, 23:59