Научная статья на тему 'Разработка информационной системы мониторинга состояния дорожного покрытия'

Разработка информационной системы мониторинга состояния дорожного покрытия Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
828
120
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОНИТОРИНГ / НАГРУЗКА / POSTGRESQL / POSTGIS / ПЛАТФОРМА / ВЕБ-СЕРВИС / REST / API / MONITORING / LOAD / PLATFORM / WEB SERVICE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Якименко Александр Александрович, Малявко Александр Антонович, Богомолов Дмитрий Александрович, Морозов Антон Евгеньевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Якименко Александр Александрович, Малявко Александр Антонович, Богомолов Дмитрий Александрович, Морозов Антон Евгеньевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF AN INFORMATION SYSTEM FOR MONITORING ROAD CONDITIONS

In the article, the process of developing a tool for monitoring the condition of the road surface, in particular, solving problems of storage and processing of data. The article confirms the relevance of the development. A prototype of an experimental system working on the basis of this platform was developed.

Текст научной работы на тему «Разработка информационной системы мониторинга состояния дорожного покрытия»

УДК 004.031.43:004.75

РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ МОНИТОРИНГА СОСТОЯНИЯ ДОРОЖНОГО ПОКРЫТИЯ

© 2017 А.А. Якименко1,2, А. А. Малявко1, Д. А. Богомолов1, А.Е. Морозов1

1 Новосибирский государственный технический университет 2 Институт вычислительной математики и математической геофизики СО РАН, Новосибирск

Статья поступила в редакцию 11.12.2017

В статье процесс разработки инструмента мониторинга состояния дорожного покрытия, в частности решение проблем хранения и обработки данных. В статье утверждается актуальность разработки. Разработан прототип экспериментальной системы, работающей на основе данной платформы. Работа выполнена при поддержке гранта РФФИ 16-37-00240 мол_а. Ключевые слова: мониторинг, нагрузка, PostgreSOL, PostGIS, платформа, веб-сервис, REST, API.

1. ВВЕДЕНИЕ

Согласно статистике, наибольшее количество дорожно-транспортных происшествий случается по причине неудовлетворительного состояния дорожного покрытия. В связи с этим всё большую значимость приобретает контроль состояния дорожного покрытия. Актуальность исследования определяется также потребностью города Новосибирска в инструменте стратегического планирования дорожно-ремонтных работ, в связи с участием региона в пилотном проекте комплексного развития транспортной инфраструктуры «Безопасные и качественные дороги» [4]. В качестве основных целей данной программы ставится задача по приведению к 2018 году в нормативное состояние не менее половины дорог агломерации (к 2025 году таких дорог должно быть не менее 85%), снижение к 2018 году число мест концентрации ДТП на дорогах агломерации до половины (к 2025 году количество аварийно-опасных участков должно сократиться до 10% от уровня 2016 года). Разработанная система позволяет в режиме реального времени отслеживать текущее качество дорожного покрытия и динамику образования неровностей на отдельных участках.

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

Якименко Александр Александрович, кандидат технических наук, доцент кафедры вычислительной техники. E-mail: yakimenko@corp.nstu.ru

Мялявко Александр Антонович, кандидат технических

наук, доцент кафедры вычислительной техники.

E-mail: a.malyavko@corp.nstu.ru

Богомолов Дмитрий Александрович, магистрант.

E-mail: Dimones951@yandex.ru

Морозов Антон Евгеньевич, магистрант.

E-mail: tony-morozov@mail.ru

Данная система позволяет прогнозировать образование новых неровностей с помощью сбора статистических данных о характере неровностей (0-3, 0 - нет неровностей, 3 - глубокая яма). Она помогает более корректно получать данные о пробках на дорогах, оперативно выполнять ремонт дорожного покрытия, а также существенно сократить трату средств на ремонт автомобиля, так как его техническое состояние зависит от состояния пройденного дорожного покрытия. Для достижения цели поставлены следующие задачи: выбор СУБД для хранения данных, которая должна отвечать высоким требованиям к скорости работы, выбор и установка дополнительных библиотек для СУБД, разработка SOL-запросов на получение данных, тестирование разработанных запросов и сравнение времени потраченных на их выполнение у различных СУБД.

Общий алгоритм работы системы:

1. Анализ в реальном времени данных получаемых аппаратно-программным комплексом «PitBox», далее АПК «PitBox»

2. При нахождении АПК «PitBox» ощутимых неровностей, отправка данных с характеристикой неровности на сервер

3. Отображение состояния дорожного покрытия, посредством выборки данных из СУБД и отображением в web-приложении

2. ПРИМЕНЯЕМЫЕ ТЕХНОЛОГИИ И УСТРОЙСТВА

Для реализации информационной части системы была выбрана технология построения веб-сервисов как RESTful API (REST, REpresentational State Transfer - архитектурный стиль взаимодействия между компонентами распределенного приложения в сети) [6]. Использование методологии разработки веб-сервисов позволяет разрабатывать различные инструменты, доступные через Интернет. Данная технология ис-

Выборка и отображение данных пользователям

Рис. 1. Общая схема работы системы

пользуется в обмене информацией между АПК «PitBox», она является кроссплатформенной, что делает ее использование возможной на любых языках программирования.

Информационная система базируется на связке Apache 2.4+mod_wsgi+Python, где Apache -свободный кроссплатформенный веб-сервер, позволяющий подключать внешние модули, Python 3 - высокоуровневый язык программирования, ориентированный на производительность разработчика и читаемость кода, а также связка этих элементов, mod_wsgi - модуль для Apache позволяющий запускать Python приложения под Apache, осуществляя это безопасно и быстро.

В качестве аппаратной платформы используется микрокомпьютер Raspberry Pi и их близкие аналоги - Orange Pi. Данные микрокомпьютеры базируются на процессорах ARM (от англ.

WSGI server

Advanced RISC Machine — усовершенствованная RISC-машина; иногда — Acorn RISC Machine) и количеством оперативной памяти более 512 Мб, также для нужд пользователя доступно большое количество выводов GPIO (интерфейс ввода/вывода общего значения). В качестве операционной системы используется система, основанная на ядре Linux - Raspbian,

Использование портов GPIO дает возможность использования внешний модулей таких как акселерометр/гироскоп и GPS-модуль, для осуществления поставленных целей. Для работы с сетью передачи данных может использоваться любой USB-модем. Данное решение позволяет сделать АПК «PitBox». Для реализации приложения сбора и категорирования данных используется высокоуровневый язык программирования Python версии 3.

browser

Рис. 2. Архитектура приложений с использованием mod_wsgi

Рис. 3. Микрокомпьютер Raspberry Pi 2 поколения

3. ДАННЫЕ. ХРАНЕНИЕ, ОБМЕН И ОБРАБОТКА

Обмен данными осуществляется в современном формате JSON-структур (JavaScript Objective Notation), который произошел от JavaScript. Выгодно отличается от XML [1], отсутствием избыточности данных, а также поддержкой во всех современных браузерах. Этот формат данных является достаточно популярным во многих Web API, представляет в своей основе одну из двух структур: словарь ключ-значение или упорядоченный массив значений. Рисунок 4 демонстрирует пример JSON-структуры используемой в системе.

Для хранения данных были выбраны две СУБД - MySQL и PostgreSOL, среди которых для определения наиболее производительной СУБД, был проведен тест на реальных данных. В информационной системе мониторинга используются данные дорог в формате GeoJSON (открытый формат, предназначенный для хранения географических структур данных, основан на JSON) [2] полученные из системы OpenStreetMap (сокращённо OSM — некоммерческий веб-картографический проект по созданию силами сообщества участников — пользователей Интернета подробной свободной и бесплатной географической карты мира) [3] , в формате разбитых на сегменты по 20 или менее метров. Каждый из сегментов дороги связан логически с объектом дороги, который имеет принадлежность улице,

принадлежащая району города, данная структура представлена на рис. 5.

В таблице, хранящей данные о сегментах дорог, хранится 3612588 записей с геометрическими типами данных Новосибирской области, начала/середины/конца сегмента и относящейся к нему идентификатор дороги, ее содержимое для первых записей отображено на рис. 6. Как можно видеть из рис. 6, данные начала/середины/ конца сегмента являются бинарными геометрическими типами данных, а точнее типом POINT. Для тестирования производительности двух СУБД был выбран сценарий вставки большого количества данных и проход в дальнейшем по этим данным. Для вставки потребуется создать копию таблиц без индексов, а также предусмотреть копию таблицы с использованием примитивных данных типа int/double/float, для сравнения производительности вставки.

После подготовленного массива данных в формате JSON занимающий 740 Мб в файловой системе APFS (файловая система, разработанная Apple Inc. для замены, ранее использовавшейся HFS+), необходимо вставить их СУБД. В табл. 1 приведено время, понадобившееся на вставку 3612588 записей в СУБД и конечный объем этих таблиц в байтах в различных СУБД. Все измерения проводились с одного компьютера до одного сервера с установленными обеими СУБД, поочередно, скорость сетевого соединения составляет на момент тестирования 100 Мбит/с.

[[{"id" : 1, "паше" : "Кировский район" > , {"id" :2, "пате"

:"Первомайский район"},{"id":3,"пате":"Ленинский район"} ,{"id":4,"пате":"Советский район">,{"id":5,"пате" : "Заелы:оэсхий район"},{"id":6,"пате":"Центральный район"} ,{"id":7,"пате":"Октябрьский район"},{"id":8,"пате" :"Дзержинский район"},{"id":9,"пате":"Железнодорожный район"}]

Рис. 4. JSON-структура, хранимая районы города

Рис. 5. Структура данных, хранимых в системе

id V begin

1004256 010100000062D51903BB5B53405580441BE5A34B40

1004257 0101000000AA1663CDB85B5340106A6FB2E4A34B40 1004255 0101000000F257AC97B65B5340CA539A49E4A34B40

1004259 01010000003A99F561B45B5340843DC5EaE3A34B40

1004260 GlOl0O000Oe2DA3E2CB25B53403E27F077E3A34B40

1004261 OKHOOOOOOCBlBa8FeAFSBS340F8lOlBOFE3A34B40

1004262 0W10O000O135DO1C0AD5B5340B3FA45ABE2A34B40

1004263 Q1010000005B9E1A8BAB5B53406DE4703DE2A34B40

1004264 0101000000A3DF6355A95B534027CE9BD4E1A34B40

1004265 010100D0006F960E20A75B5340044E546DE1A34B40 100426B Q1010000003B4DB9EAA45B5340E2CDQCQ6E1A34B40 1004267 01O10O0000O60464B5A2SB534QBF4DC59EE0A34B40

end

01010000 D0AA16 63CDBB5B5 340106A6FB2E4 A34B40 0101000000F257AC97B65B5340CA539A49E4A34B40 □1010000O03A99F551B45B5340843DC5E0E3A34B40 01010000 0082DA3E2CB25B53403E27F077E3A34B40 0l0l0000O0CB1BeBF6AF5B5340F8l0lB0FE3A34B40 Q101000000135DD1COAD5B5340B3FA45A6E2A34B40 01010000DG5B9E1A8BAB5B5340SDE4703DE2A34B40 01010000 OOA3 DF6 355A95B534027CE9B04 E1A34B40 01010000006F960E20A75B534 0044 E546DE1A34B40 01010000O03B4DB9EAA45B5340E2COOCO6E1A34B4Q 0101000000060464B5A25B5340B F4DC59EE0A34B40 01Q10000O0D2BA0E80A05B534O9CCD7D37EOA34B4O

center

0101QQOQ0006763EE8B95B534032F5D9E6E4A34B4Q 01010000004E B787B2B75B5340EDDE047EE4 A34B40 010100000096FSD07CB55B5340A7C82F15E4A34B40 0101OGOOOODE391A47B35B534061B25 ААСЕЗ A34B40 0101000000267В6311В15В53401ВЭС8543ЕЗА34В40 Ol0l00O0006FBCACDBAESB5340D6a5B0DAE2A34B40 0101000000B7FDF5A5AC5B5340906FDB71E2A34B40 0101OOOOOOFF3E 3F70AA5B53404A590609E2 A34B40 01010000000 93BB93AAB5B534 016QEFBAOE1A34B40 0101OOOOOOD5F16305A65 B5340F38DB039E1A34 B40 0101OQOQOOAQABOEDOA35B5340DOODB9D2 E0 A34 B40 O1010OOQ006C5FB99AA15B5340AEBD216BE0A34B40

Рис. 6. Данные таблицы сегментов дорог Таблица 1. Эксперимент со вставкой большого количества данных

roadjd step

37636 1328

37636 1329

37636 1330

37636 1331

37636 1332

37636 1333

37636 1334

37636 1335

37636 1337

37636 1338

37636 1339

37636 1340

СУБД Тип данных Время исполнения, сек Объем таблицы, Мб Разница по времени, % Разница в размере, %

MySQL Обычный 3.58 294.84 0% 0%

MySQL Геометрический 5.11 396.94 0% 0%

PostgreSQL Обычный 6.42 578 79.4% 96%

PostgreSQL Геометрический 7.24 463 41.58% 16.64%

Данные вставляются множественной командой INSERT по 5000 строк в каждой. Соотношение разниц по времени в таблице производится соответственно типам данных над которыми проведен эксперимент.

Исходя из полученных экспериментальным путем данных, следует отметить что занимаемый размер геометрических типов данных,

больше, что дает основание полагать о преимуществе в данном виде операции у СУБД MySQL, но использование геометрических типов данных дает возможность использовать различные встроенные функции, которые облегчают разработку запросов. Также нужно проверить операцию выборки данных, из сформированных таблиц. На рис. 7 представлен SQL запрос,

SELECT

res.road_seg_id, res.qual,

res,messu re_count, } ST_X< rs. BEGIN) begin_lng, ] ST_y(rs. BEGIN) beg insist, ST_Xlrs. END) end_lngt ST_Y<rs. END) end_lat,

(SELECT d."id" FROM "DISTRICTS" d WHERE 5t_contains(d.borders, rs.BEGIN) LIMIT 1) districted

FROM

1 (

SELECT

у.road_seg_id,

5UM(y.qua\) / COUNT(y.qual) AS qual, COUNTiy.qual) as measure_count

FROM

"YAMS" у WHERE

y. road_seg_id = a| GROUP BY

у.road_seg_id

) res,

"R0AD5_SEGMEWTS" rs WHERE

rs."id" = res.road_seg_id

Рис. 7. SOL запрос на выбор данных по неровностям по всем сегментам

Таблица 2. Эксперимент с выборкой данных по таблицам

СУБД Время исполнения, сек Разница по времени, %

MySQL 33.309 0%

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

PostgreSQL 0.504 -6508.9%

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

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

4. РАБОТА АЛГОРИТМА ОПРЕДЕЛЕНИЯ НЕРОВНОСТЕЙ

Для получения информации о дорожном покрытии используются акселерометр и гироскоп.

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

личине этого ускорения.

Гироскоп - прибор, способный реагировать на изменение углов ориентации тела в пространстве относительно инерциальной системы отсчета.

Оба датчика реализованы в виде MEMS-микросхем в плате МРи-6050, используемой для получения данных. Информация с них поступает на контроллер, в котором производится классификация полученного сигнала. На рис. 8 показано расположение осей датчика МРи-6050 при его установке внутри автомобиля.

—Л

Рис. 8. Расположение осей датчиков АПК в автомобиле

Алгоритм классификации выглядит следующим образом:

• Данные поступают с датчиков на контроллер

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

• На основании полученной информации за определенный период времени производится классификация неровности на дороге

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

Для классификации сигнала планируется использовать рекуррентные нейронные сети, хорошо зарекомендовавшие себя в работе с временными рядами. В качестве возможных архитектур НС предлагаются LSTM (Long short-term memory) [7] и GRU (Gated recurrent unit). Обучение планируется производить на собранных и размеченных данных за определенный период времени. На рисунке 9 показаны собранные данные об углах наклона. После обучения НС будет использоваться для определения ускорения и замедления автомобиля, поворотов и неровностей на дороге.

5. ПЛАНЫ РАЗВИТИЯ

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

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

ЗАКЛЮЧЕНИЕ

Разработан прототип платформы для мониторинга состояния дорожного покрытия по Новосибирской области. Проведены начальные этапы тестирования, которые показали работоспособность системы. Обозначены цели и планы по развитию платформы.

Рис. 9. Графики данных об углах наклона: красный (вверху) - наклон по оси Х; зеленый (внизу) - наклон по оси У

СПИСОК ЛИТЕРАТУРЫ 5. Roy T. Fielding, Richard N. Taylor, Justin Erenkrantz,

Michael M. Gorlick, E. James Whitehead, Rohit

1. Google Trends JSON, XML [Electronic resource] // Khare, Peyman Oreizy "Reflections on the REST Google, 2017. URL: https://trends.google.ru/trends/ АгсЫН^Шга1 Style and "Prinripled Design °f exp1ore?q=JSON,XML (дата обращения 11.10.2017) the Modern Web Architecture" - Proceedings of

2. GeoJSON [Electronic resource] // Wikipedia, 2017. the 2017 11th Joint Meeting on Foundations of URL: https://ru.wikipedia.org/wiki/GeoJSON (дата Software Engmeering (ESEC/FSE 2017), pp. 4-11, обращения 11.10.2017) 2017.

3. OpenStreetMap [Electronic resource] // Wikipedia, 6 PostGIS - Documetation [Electronic resource] 2017. URL: https://ru.wikipedia.org/wiki/ // PostGIS, 2017. URL: http://postgis.net/ OpenStreetMap (дата обращения 11.10.2017) documentation/ (дата обращения 11.10.2017)

4. Официальный сайт города Новосибирска 7. Hasim Sak, Andrew Senior, Francoise Beaufays "Long [Electronic resource] // Новосибирск, 2017. URL: Short-Term Memory Recurrent Neural Network http://novo-sibirsk.ru/major/news_1153/71024/ Architectures for Large Scale Acoustic Modeling" -(дата обращения 11.10.2017) Google USA, 2012

DEVELOPMENT OF AN INFORMATION SYSTEM FOR MONITORING ROAD CONDITIONS

© 2017 A.A. Yakimenko1'2, A.A. Malyavko1, D.A. Bogomolov1, A.E. Morozov1

1 Novosibirsk State Technical University 2 Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk

In the article, the process of developing a tool for monitoring the condition of the road surface, in particular, solving problems of storage and processing of data. The article confirms the relevance of the development. A prototype of an experimental system working on the basis of this platform was developed. The work was supported by the RFBR grant 16-37-00240 Mol_a. Keywords: monitoring, load, PostgreSOL, PostGIS, platform, web service, REST, API.

Aleksander Yakimenko, Candidate of Technics, Associate Professor at the Computing Machinery. E-mail: yakimenko@corp.nstu.ru

Aleksander Malyavko, Candidate of Technics, Associate

Professor at the Computing Machinery Department.

E-mail: a.malyavko@corp.nstu.ru

Dmitriy Bogomolov, Master Student.

E-mail: Dimones951@yandex.ru

Anton Morozov, Master Student.

E-mail: tony-morozov@mail.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.