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