Каждый хотя бы раз сталкивался с тем, что при вызове такси водитель приезжал не на ту точку, которая была указана в приложении. Или автобус не приехал на остановку, хотя в программе отображается, что он уже должен быть на месте. Эта проблема связана с тем, что при передаче местоположения через мобильную сеть данные теряются или пересылаются с большой задержкой из-за слабого сигнала, сильной нагрузки внутри сети или большого расстояния между адресатом и отправителем, что также вызывает дополнительные временные затраты. Студенты Пермского Политеха создали алгоритм, который позволит свести эти запоздания к минимуму. Разработка проведена в рамках программы стратегического академического лидерства «Приоритет 2030».
Статья с результатами исследования была представлена на всероссийской студенческой научно-технической конференции «Автоматизированные системы управления и информационные технологии».
Проблема неточности определения местоположения на стороне пользователя проявляется тем, что реальные координаты объекта отличаются от тех, которые отображаются на экране. Из-за этого может возникнуть множество негативных ситуаций. Например, при позиционировании местонахождения автобуса на карте будут отображаться устаревшие сведения, а затем при получении актуальных данных окажется, что он уже проехал необходимую остановку. Чтобы этого избежать, сервисы отображения используют различные методы компенсации задержек, но в их основе лежат лишь прогнозируемые значения, то есть модель может не сработать, если транспорт свернет в сторону или на его пути встанет какая-либо помеха.
— В основе действующих методов отображается только последнее полученное местоположение объекта. Это влечет за собой ситуацию, при которой различие фактических данных и координат на клиенте может быть значительным. Предлагается использовать 2 последние точки местоположения объекта, что поможет вычислить вектор его направления и, тем самым, еще больше компенсировать задержки, — рассказывает кандидат технических наук, доцент кафедры «Информационные технологии и автоматизированные системы» ПНИПУ Александр Петренко.
Для вычисления координат разработчики запрограммировали алгоритм на псевдоязыке, который включает в себя: текущее и новое местоположение, задержку между ними и другие значения. Модель гораздо точнее определяет правильное нахождение, например автобуса на стороне пользователя при минимальном использовании ресурсов. Также разработчики создали игру, которая помогла оценить эффективность созданного алгоритма.
— Для получения результатов и оценки эффективности внедрения методов сглаживания задержки разработана многопользовательская двухмерная игра с использованием движка Godot. В ней сервер отправляет координаты персонажа двум клиентам с периодичностью 3 раза в секунду. На первом пользователе применяется разработанный алгоритм, где местоположение персонажа выставляется при каждом обновлении со стороны сервера. На втором, реализована линейная интерполяция и прогнозирование с обычным методом. Результаты показали, что модель для определения местоположения привела к увеличению средней точности на 36 % относительно исходных методов без сглаживания задержек, при минимальном использовании ресурсов на стороне клиента. Также рассмотрен вариант прямолинейного движения игрового персонажа, в роли которого может выступать, например, трамвай. В сценарии точность координат на клиенте увеличивается до 3 раз, — говорит Матвей Богданов, студент кафедры «Информационные технологии и автоматизированные системы» ПНИПУ.
Алгоритм, созданный разработчиками ПНИПУ, может быть использован в приложениях на стороне клиента, например в GPS-навигаторах, онлайн-картах с отображением автотранспорта, а также многопользовательских онлайн-играх, таких как Dota2 или Counter-Strike.
Для справки:
Пермский Политех стал обладателем гранта «Приоритет 2030» в 2021 году. Его размер составил 100 млн. рублей. «Приоритет 2030» является самой масштабной в истории России программой государственной поддержки и развития высших учебных заведений. Ее цель — формирование к 2030 году в России более 100 прогрессивных современных университетов, которые станут центрами научно-технологического и социально-экономического развития страны. Всего комиссия Минобрнауки РФ включила в программу «Приоритет 2030» 106 вузов из 49 городов страны, из них 60 % — региональные университеты.