РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ УПРАВЛЕНИЯ АДАПТИВНЫМИ СВЕТОФОРАМИ - Студенческий научный форум

IX Международная студенческая научная конференция Студенческий научный форум - 2017

РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ УПРАВЛЕНИЯ АДАПТИВНЫМИ СВЕТОФОРАМИ

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
ЗАДАНИЕ

по дипломному проекту

Салаватова Илнара Хамзевича

(фамилия, имя, отчество)

  1. Тема проекта: «Разработка интеллектуальной системы управления адаптивными светофорами» утверждена приказом по вузу от «» 2015 г. № .

  2. Срок сдачи студентом законченного проекта «__» ________ 20____ г.

  3. Исходные данные к проекту материалы преддипломной практики .

  4. Содержание расчетно-пояснительной записки (перечень подлежащих разработке вопросов):

  1.  
    • Аналитический обзор средств управления транспортной системой;

    • Проектирование системы управления адаптивными светофорами;

    • Разработка информационной системы;

    • Информационная безопасность;

    • Экономическое обоснование разработки системы;

  1. Календарный план

№ п/п

Наименование этапов дипломного проекта

Срок выполнения этапов проекта

Примечание

1.

Аналитический обзор средств управления транспортной системой

   

2.

Проектирование системы управления адаптивными светофорами

   

3.

Разработка информационной системы

   

4.

Информационная безопасность

   

5.

Экономическое обоснование разработки системы

   

Студент-дипломник Салаватов Илнар Хамзевич

Руководитель проекта Беляев Эдуард Ирекович

  1. Консультанты по проекту, с указанием относящихся к ним разделов проекта

Раздел

Консультант

Дата, подпись

Задание выдал

Задание принял

Аналитический обзор средств управления транспортной системой

Беляев Э.И.

   

Проектирование системы управления адаптивными светофорами

Беляев Э.И.

   

Разработка информационной системы

Беляев Э.И.

   

Информационная безопасность

Беляев Э.И.

   

Экономическое обоснование разработки системы

Беляев Э.И.

   
  1. Дата выдачи задания

Руководитель

(подпись)

Задание принял к исполнению

(подпись)

Аннотация

Дипломный проект на тему: «Разработка интеллектуальной системы управления адаптивными светофорами» содержит 85 страниц пояснительной записки, рисунков – 32, таблиц – 13, формул – 8, использованных источников – 13.

Объектом исследования является транспортная система городов и регионов. Целью дипломного проекта является разработка интеллектуальной системы управления адаптивными светофорами.

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

Результаты экономических расчетов позволяют сделать вывод об эффективности капиталовложения, так как показатели экономической эффективности равны: чистый поток денежных средств – 198 тыс. руб.; срок окупаемости (простой) – 1,29 года, срок окупаемости (дисконтированный) – 1,86 года.

Оглавление

Аннотация 4

Введение 7

1. Аналитический обзор средств управления транспортной системой 9

1.1. Транспортная система городов и регионов 10

1.2. Анализ методов и средств управления транспортной системой города 11

1.3. Светофорное регулирование: функции и виды светофоров 14

1.1.1. Назначение светофоров 14

1.1.2. Виды светофоров 17

1.1.3. Виды светофорного регулирования 19

1.4. Совершенствование управления с помощью интеллектуальных светофоров 20

1.5. Выводы по разделу 21

2. Проектирование и моделирование системы управления адаптивными светофорами 23

2.1. Разработка концептуальной схемы системы управления адаптивными светофорами 24

2.2. Функциональное моделирование предметной области с использованием методологии IDEF 24

2.3. Описание модели разрабатываемой информационной системы с использованием методологии UML 32

2.4. Выбор и обоснование средств разработки прикладного программного обеспечения 35

2.5. Выбор системы управления данными мониторинга 37

2.6. Создание логической модели данных 40

2.7. Выводы по разделу 44

3. Разработка информационной системы подсчета параметров ТП 45

3.1. Структура информационной системы. Функции подсистем информационной системы. 46

3.2. Разработка конфигурации 1С Предприятия 49

3.3. Описание программных модулей 58

3.1. Выводы по разделу 64

4. Информационная безопасность 66

4.1. Виды информационных рисков и методы защиты от них 67

4.2. Расчет уровня уязвимости системы и вероятности возникновения информационных угроз 71

4.3. Перечень контрмер и расчет их эффективности 74

4.4. Выводы по разделу 77

5. Экономическое обоснование разработки системы 78

5.1. Расчет суммарных затрат на разработку, внедрение и сопровождение системы 79

5.2. Расчет прибыли и оценка эффективности капиталовложения 80

5.3. Выводы по разделу 85

Заключение 86

Список использованной литературы 87

Введение

Процессы глобализации промышленного производства, рост числа и размеров мегаполисов, вызывают необходимость организации перемещения пассажиров и грузов. Рост уровня автомобилизации характерен как для развитых, так и для развивающихся стран, причем, в соответствии с прогнозами, приведенными в докладе ЮНЕП[1], к 2050 году численность мирового автопарка утроится, причем почти весь рост придется на развивающиеся страны.

Значительный рост интенсивности движения на городских улицах влечет за собой ухудшение условий движения, приводит к росту числа дорожно-транспортных происшествий (ДТП) и пострадавших в них людей, а также резкому ухудшению уровня транспортного обслуживания города в целом. По статистике, свыше 60% всех ДТП приходится на города и другие населенные пункты. При этом на перекрестках, занимающих незначительную часть территории города, концентрируется более 30% всех ДТП.

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

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

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

  1. загруженность полос дорожного движения;

  2. средняя скорость потока в участке улично-дорожной сети (УДС);

  3. плотность транспортного потока;

  4. интенсивность потока;

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

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

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

  1. Аналитический обзор средств управления транспортной системой
  1.  
    1. Транспортная система городов и регионов

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

Также элементами транспортной системы являются:

  • городской транспорт, представляющий собой комплекс разных видов транспорта (метрополитен, трамвай, троллейбус, автобус и другие), функционирующих обособленно в различных городах;

  • промышленный (производственный) транспорт, к которому относятся все виды транспорта, обслуживающего непосредственно внутренние нужды собственно промышленных, сельскохозяйственных, строительных, торговых и других предприятий и организаций[2].

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

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

Городской транспорт представляет собой сложную систему, поскольку включает в себя ряд подсистем: магистральную сеть и сооружения, подвижной состав, депо, гаражи, парки и ремонтную базу, а также подсистему управления.

Подсистема управления предназначена для организации эффективной работы каждого вида транспорта при условии соблюдения требований экологии и безопасности движения[3]. Под управлением понимается контроль над системой, например сигналы светофора, стрелки на железнодорожных путях, управление полётами и т. д., а также правила (среди прочего, правила финансирования системы: платные дороги, налог на топливо и т. д.). Управление транспортной системой – совокупность мероприятий направленных на эффективное функционирование данной системы посредством координации, организации, упорядочения элементов данной системы, как между собой, так и с внешней средой[4].

  1.  
    1. Анализ методов и средств управления транспортной системой города

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

Вместе с тем значительно улучшить транспортную ситуацию на уже существующей улично-дорожной сети (УДС) позволяет внедрение современных технологий Автоматизированных Систем Управления Дорожным Движением (АСУДД), иначе называемых Интеллектуальными транспортными системами (ИТС).

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

С помощью ИТС решаются следующие основные задачи:

  1. Обеспечение максимальной пропускной способности существующей дорожно-уличной сети города;

  2. Оптимизация градостроительных решений путем учета особенностей организации движения на стадии ТЭО;

  3. Приоритизация маршрутов движения, совершенствование систем пропуска спецтранспорта и реагирования на инциденты;

  4. Снижение экологической нагрузки на город;

Управление реализуется путем использования технологии локального адаптивного управления дорожным движением – ЛАУД, которая предполагает наличие:

  1. Центрального пункта управления (ЦПУ);

  2. Точек адаптивного управления дорожным движением, оборудованных интеллектуальными контроллерами и детекторами транспорта, обеспечивающих:

  •  
    1. Локальное адаптивное управление наиболее сложными и важными пересечениями и участками УДС;

    2. Информационное взаимодействие с ЦПУ;

  1. Системных детекторов, сообщающих в ЦПУ сведения о транспортных потоках;

  2. Системных контроллеров, управляемых из ЦПУ постоянно или периодически;

В состав аппаратного обеспечения, необходимого для реализации системы управления входят:

  1. Радиолокационные и видео- детекторы транспорта (системные детекторы);

  2. Дорожные контроллеры (PSI), осуществляющие переключение фазовых таблиц и/или включение светофорных сигналов по расписанию или по команде (системные контроллеры);

  3. Микропроцессорные комплексы (МПК) «детектор-контроллер», состоящие из интеллектуальных контроллеров и локальных видеодетекторов, и осуществляющие переключение фазовых таблиц и изменение распределения внутри цикла по расписанию, или по команде, или по сигналам локальных детекторов;

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

Осознавая важность системного подхода к управлению дорожным движением, в особенности для мегаполисов и крупных городов, правительства разных стран вкладывают средства в создание служб, ответственных за управление транспортными системами городов. Такие центры появляются и в России. Так, в конце 2013 г. в Москве вступил в строй единый центр управления дорожным движением, созданный правительством Москвы для координации транспортных потоков мегаполиса[6]. Российская столица вошла в число крупнейших городов мира, организовавших интеллектуальные системы управления уличным трафиком. В ситуационный центр будет стекаться информация с видеодетекторов, расположенных во всех районах города. Диспетчеры, сориентированные на различные сегменты транспортной системы, смогут в режиме онлайн принимать решения по работе светофоров, ликвидации пробок, корректировать работу наземных средств сообщения. Работа единого центра управления будет скоординирована с управлением метрополитена, железных дорог и МЧС. По мнению С.Собянина, этот комплекс позволит создать самую современную модель управления движением в городе, включая пассажирский наземный, подземный и железнодорожный транспорт и взаимодействие в различных ситуациях.

Аналогичные работы ведутся и в Санкт-Петербурге. Так, в ноябре 2014 г. На площадке АНО «Дирекция по развитию транспортной системы Санкт-Петербурга и Ленинградской области» состоялось совещание «О создании Единого центра управления транспортом Санкт-Петербурга и Ленинградской области», по итогам которого было принято решение: АНО «Дирекция по развитию транспортной системы Санкт-Петербурга и Ленинградской области» сформировать проект технического задания на разработку концепции создания Единого центра управления транспортом Санкт-Петербурга и Ленинградской области[7].

  1.  
    1. Светофорное регулирование: функции и виды светофоров
  1. Назначение светофоров

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

  1. В местах, где встречаются конфликтующие транспортные, а также транспортные и пешеходные потоки (перекрестки, пешеходные переходы);

  2. По полосам, где направление движения может меняться на противоположное;

  3. На железнодорожных переездах, разводных мостах, причалах, паромах, переправах;

  4. При выездах автомобилей спецслужб на дороги с интенсивным движением;

  5. Для управления движением транспортных средств общего пользования;

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

Таким образом, светофоры — это мощное средство организации дорожного движения, предназначенное для решения двух основных задач:

  1. Повышения уровня безопасности дорожного движения и улучшения качества движения;

  2. Улучшения экологической ситуации;

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

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

  1. концентрация ДТП ввиду нарушения правил приоритета проезда пересечения:

  1.  
    1. при большой интенсивности или слишком высокой скорости движения по главной дороге;

    2. вследствие условий ограниченной видимости на пересечении или невозможности определения водителем правил приоритета на пересечении;

    3. при недостаточной пропускной способности пересечения;

  1. концентрация ДТП между поворачивающими налево транспортными средствами и встречным движением;

  2. концентрация ДТП между автомобилями и пересекающими дорогу велосипедистами или пешеходами;

С помощью светофорного регулирования может быть серьезно улучшено качество движения в целом по УДС, а также на перегонах и на пересечениях. Светофоры используются для управления въездом (заградительные светофоры) для того, чтобы:

  1. Защитить от перегрузки (заторов) участки улиц и дорог, а также целые районы УДС;

  2. Освободить участки улиц и дорог для приоритетного движения общественного транспорта;

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

Качество движения общественного транспорта и не моторизированных участников дорожного движения (велосипеды и пешеходы) также существенно улучшается при соответствующей настройке светофорного объекта на пересечениях.

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

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

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

Все мероприятия (например, дополнительные промежуточные светофоры, «зеленая волна » или адаптивное светофорное регулирование), такие как:

  1. Поддерживающие однородную скорость потока в пределах максимально допустимой скорости движения;

  2. Уменьшающие количество остановок;

  3. Обеспечивающие равномерное движение через несколько пересечений;

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

  1. Виды светофоров

Светофоры бывают двух типов: транспортные и пешеходные.

Транспортные светофоры различаются видом и назначением. На (рис.1) приведены наиболее распространенные их виды.

Т.1 и модификации со стрелками — стандартные светофоры для транспортных средств. Т.1 применяется также для пропуска пешеходов при отсутствии пешеходных светофоров.

Т.2 — применяют для регулирования движения в определенных направлениях в случаях, когда движущийся по их разрешающему сигналу транспортный поток не имеет пересечений (слияний) в пределах перекрестка с транспортными потоками других направлений движения, а также пересечений с пешеходными потоками (бесконфликтное регулирование).

Т.3 и модификации — уменьшенные светофоры Т.1. Являются повторителями Т.1 при затрудненном восприятии основного светофора.

Т1

Т1

Т3 и модификации

Т4

Т6

Т7

Т9

Т10

Т5

Т8

Рис. 1. Виды транспортных светофоров

Т.4 — устанавливаются для указания разрешенного направления движения для каждой полосы при устройстве реверсивного движения. Кроме того эти светофоры устанавливаются на въезде в туннели.

Т.5 — специальные светофоры для общественного транспорта, движущегося по выделенной полосе.

Т.6 и Т.10 — устанавливаются на железнодорожных переездах.

Т.7 — обозначает нерегулируемый перекресток или пешеходный переход.

Т.8 — применяется при временном сужении проезжей части (чаще всего при ремонте) для организации реверсивного движения по одной полосе.

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

Пешеходные светофоры (рис.2) предназначены исключительно для пропуска пешеходов.

Рис. 2. Пешеходный светофор

  1. Виды светофорного регулирования

Светофорное регулирование бывает:

  1. Постоянное регулирование;

  1.  
    1. Режим светофорного регулирования не меняется;

    2. Режим светофорного регулирования меняется в течении суток и/или в зависимости от дня недели;

  1. Адаптивное регулирование;

  1.  
    1. Частично зависящее от транспортного потока (изменяется или продолжительность фазы или последовательность фаз или количество фаз);

    2. Полностью зависящее от транспортного потока (изменяется и продолжительность фазы, ипоследовательность фаз и количество фаз);

Существует также режим сетевой координации светофоров типа «зеленая волна». Реализация «зеленой волны» возможна только при режиме постоянного светофорного регулирования и режиме адаптивного светофорного регулирования с изменяющейся продолжительностью фаз («pulsating green waves»).

  1.  
    1. Совершенствование управления с помощью интеллектуальных светофоров

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

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

В настоящее время в РФ нет обязательных норм, регламентирующих построение цикла светофорного регулирования. Есть рекомендации и учебники, которые не обязательны для использования и не используются. Кроме того, даже в имеющихся рекомендациях отсутствует полный набор инструментов для оценки пересечений (например, отсутствие оценки пешеходного движения), а современные ГОСТы в некоторых случаях неоправданно ограничивают круг решений (в частности, пересечение транспортных и пешеходных потоков).

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

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

В настоящее время проводятся мероприятия по внедрению «умных» светофоров, под которыми подразумевается адаптивное регулирование движения. Так, в Санкт-Петербурге Комитет по развитию транспортной инфраструктуры внедряет на светофорах, входящих в состав автоматизированной системы управления дорожным движением, локальные адаптивные режимы управления. Основной принцип действия адаптивных режимов управления — изменение продолжительности работы сигналов светофора. При помощи показаний детекторов транспорта система сама выбирает продолжительность режима горения того или иного сигнала светофора.

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

Дирекцией по организации дорожного движения в 2015 году запланировано провести работу на 163 светофорных объектах, подключенных к центру управления дорожным движением в 2012—2014 годах и оборудованных видеодетекторами транспорта. В комплекс работ входит анализ эффективности работы светофорного объекта на основании показаний детекторов, выбор алгоритма адаптивного управления, его расчет, загрузка в контроллер и отладка. В настоящее время адаптивные режимы уже реализованы на 53 адресах[8].

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

  1.  
    1. Выводы по разделу

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

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

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

Целью дипломного проекта является разработка программного обеспечения для мониторинга параметров транспортного потока. Разработка конфигурации 1С Предприятия для ввода и хранения параметров улично-дорожной сети города Набережные Челны.

  1. Проектирование и моделирование системы управления адаптивными светофорами
  1.  
    1. Разработка концептуальной схемы системы управления адаптивными светофорами

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

В рамках данного дипломного проекта была разработана концептуальная схема системы управления адаптивными светофорами (Рисунок 3).

Рис. 3. Концептуальная схема системы управления адаптивными светофорами

Система управления адаптивными светофорами состоит из трех основных составляющих:

  1. Мониторинг движения;

  2. Центр управления движением;

  3. Интеллектуальная система управления (оптимизация);

  1.  
    1. Функциональное моделирование предметной области с использованием методологии IDEF

Для построения функциональной схемы и определения входных и выходных потоков подсистем в системе мониторинга движения применим методологии IDEF0 в программной среде All Fusion Process Modeler.

Описание системы с помощью IDEF0 называется функциональной моделью. Функциональная модель предназначена для описания существующих бизнес-процессов, в котором используются как естественный, так и графический языки. Для передачи информации о конкретной системе источником графического языка является сама методология IDEF0.[9]

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

Обследование предприятия является обязательной частью любого проекта создания или развития корпоративной информационной системы. Построение функциональной модели «КАК ЕСТЬ» позволяет четко зафиксировать, какие деловые процессы осуществляются на предприятии, какие информационные объекты используются при выполнении деловых процессов и отдельных операций. Функциональная модель «КАК ЕСТЬ» является отправной точкой для анализа потребностей предприятия, выявления проблем и "узких" мест и разработки проекта совершенствования деловых процессов.

На рисунке 4 показана функциональная модель «Как есть» системы управления светофорами города Набережные Челны.

Рис. 4. Функциональная схема системы управления светофорами 1-го уровня

Далее система разбита на три основные процессы: фиксация увеличения плотности транспортного потока, расчет фазы светофора, изменение режима светофора. (Рисунок 5).

Рис. 5. Функциональная схема 2-го уровня

Рис. 6. Функциональная схема 3-го уровня (детализирован процесс «фиксации плотности транспортного потока»)

Рис. 7. Функциональная схема 3-го уровня (детализирован процесс «расчет фазы светофора»)

Рис. 8. Функциональная схема 3-го уровня (детализирован процесс «изменение режима светофора»)

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

Работа по построению модели «как должно быть» может проводиться по разным сценариям в зависимости от желания и готовности клиента к переменам и текущего положения дел:

  • Оптимизация существующих процессов в основном путем устранения технологических недостатков. Это так называемый «легкий реинжениринг».

  • Построение системы заново, основываясь на «идеальной» модели будущего состояния, «жесткий реинжениринг».

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

Детализации бизнес процессов в модели «как должно быть» производится как можно более полным образом. Охватывается даже то, что не было детально охвачено при построении модели «как есть». Процесс создания модели обычно осуществляется итеративным способом, на каждой итерации производится все большая детализация и уточнение модели.

На рисунках 9-15 показана функциональная схема «как должно быть» системы управления адаптивными светофорами.

Рис. 9. Функциональная схема системы управления адаптивными светофорами

Рис. 10. Функциональная схема 2-го уровня

Рис. 11. Функциональная схема 3-го уровня (детализация процесса «организация мониторинга»)

Рис. 12. Функциональная схема 3-го уровня (детализация процесса «управление данными»)

Рис. 13. Функциональная схема 3-го уровня (детализация процесса «оптимизация параметров»)

  1.  
    1. Описание модели разрабатываемой информационной системы с использованием методологии UML

UML - язык графического описания для объектного моделирования в области разработки программного обеспечения.

Диаграммы деятельности - это один из пяти видов диаграмм, применяемых в UML для моделирования динамических аспектов поведения системы. Диаграмма деятельности - это, по существу, блок-схема, которая показывает, как поток управления переходит от одной деятельности к другой.

Диаграммы деятельности можно использовать для моделирования динамических аспектов поведения системы. Как правило, они применяются, чтобы промоделировать последовательные (а иногда и параллельные) шаги вычислительного процесса. С помощью диаграмм деятельности можно также моделировать жизнь объекта, когда он переходит из одного состояния в другое в разных точках потока управления. Диаграммы деятельности могут использоваться самостоятельно для визуализации, специфицирования, конструирования и документирования динамики совокупности объектов, но они пригодны также и для моделирования потока управления при выполнении некоторой операции. Если в диаграммах взаимодействий акцент делается на переходах потока управления от объекта к объекту, то диаграммы деятельности описывают переходы от одной деятельности к другой. В конечном итоге деятельность сводится к некоторому действию, которое составлено из атомарных вычислений, приводящих к изменению состояния системы или возврату значения.

Диаграммы деятельности важны не только для моделирования динамических аспектов поведения системы, но и для построения выполняемых систем посредством прямого и обратного проектирования.[10]

Рис. 14. Диаграмма деятельности ИС

Диаграмма прецедентов UML — диаграмма, отражающая отношения между актёрами и прецедентами и являющаяся составной частью модели прецедентов, позволяющей описать систему на концептуальном уровне.

Рис.15. Диаграмма прецедентов

  1.  
    1. Выбор и обоснование средств разработки прикладного программного обеспечения

Прикладное программное обеспечение – это компьютерная программа, предназначенная для решения определенных задач конкретной предметной области. Виды прикладного программного обеспечения:

  • Специальные – программы, написанные для определенной области, относящиеся к специальному программному обеспечению;

  • Общего назначения – программы независящие от области профессионального интереса пользователя. К таким программным обеспечениям относятся текстовые, графические, табличные процессоры, системы управления базами данных, экспертные системы, программы моделирования и.т.д.

Средство разработки программного обеспечения – это набор приемов, методов, а так же инструментальных программ (библиотеки, компиляторы и.т.д.) используемые для создания программного кода.

Выбор средства разработки ПО зависит от языка программирования и поставленной задачи. Языки имеют кардинальные отличия между собой, некоторые из них имеют большее быстродействие, по сравнению с другими (Assembler, C++), некоторые имеют возможность создания мульти платформенных приложений для настольных компьютеров, мобильной техники, и различных операционных систем (Java, последнее время шаги по этому пути предпринимают Delphi и С#).

Сравним несколько инструментальных средств разработки программного обеспечения: MASM32, C++, Java, Delphi.

MASM32 – используется для разработки ПО на языке assembler. Он имеет высокое быстродействие разработанных программ, но на разработку уходит очень много времени, поэтому он не очень распространен. Имеет простой интерфейс и используется очень редко.

На втором месте по быстродействию идет C++, который имеет удобные средства для быстрого проектирования благодаря Visual Studio. Данное средство разработки программного обеспечения имеет широкие возможности, которые реально упрощают жизнь программисту: авто дополнение кода, красочный, приятный и интуитивно понятный интерфейс, мощнейшие средства отладки, конструктор ресурсов, возможность использования плагинов систем контроля версий, и многое другое. Ещё одним, неоспоримым преимуществом Visual Studio является то, что она поддерживает несколько различных языков программирования (C++, C#, при установке дополнительного ПО - Python, и другие), а также имеет возможность разработки под Windows Desktop, Windows 8/8.1/8RT, Windows Phone. В последнее время широко используется кроссплатформенная библиотека Qt для языка программирования C++. Она также хорошо встраивается в Visual Studio, что позволяет разрабатывать программное обеспечение для операционных систем Linux и Android.

Java – занимает огромную долю на рынке, работает благодаря виртуальной java машине на любой платформе. Но, к сожалению, его главное преимущество является и его недостатком. Использование виртуальной java машины сильно снижает быстродействие приложений. Анализируя доступные средства разработки программного обеспечения по данному направлению, можно сказать, что самым популярным является Eclipse IDE, который имеет на борту удобную систему отладки, понятный интерфейс, а его работа организовывается с помощью большого количества плагинов.

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

  1.  
    1. Выбор системы управления данными мониторинга

Система управления базами данных (СУБД) — это совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.

Основные функции СУБД:

  1. управление данными во внешней памяти (на дисках);

  2. управление данными в оперативной памяти с использованием дискового кэша;

  3. журнализация изменений, резервное копирование и восстановление базы данных после сбоев;

  4. поддержка языков БД (язык определения данных, язык манипулирования данными);

Обычно современная СУБД содержит следующие компоненты:

  1. ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию;

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

  3. подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД;

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

В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость или невозможность централизованного управления; затруднённость или невозможность обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД; в системах с низкой интенсивностью обработки данных и низкими пиковыми нагрузками на БД.

На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком.

Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность.

В качестве системы управления была выбрана платформа 1С: Предприятие 8.2.

База данных 1С: Предприятия имеет ряд особенностей, отличающих ее от классических систем управления базами данных.

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

  • описывать структуры данных в конфигураторе;

  • манипулировать данными с помощью объектов встроенного языка;

  • составлять запросы к данным, используя язык запросов;

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

Важной особенностью работы с базой данных является то, что в 1С: Предприятии реализована общая система типов языка и полей баз данных. Иными словами, разработчик одинаковым образом определяет поля базы данных и переменные встроенного языка и одинаковым образом работает с ними.

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

При манипулировании данными, хранящимися в базе данных 1С: Предприятия, зачастую используется объектный подход. Это значит, что обращение (чтение и запись) к некоторой совокупности данных, хранящихся в базе, происходит как к единому целому. Например, используя объектную технику, можно манипулировать данными справочников, документов, планов видов характеристик, планов счетов и т.д.

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

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

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

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

Штатной возможностью 1С: Предприятия является поддержка двух способов доступа к данным — объектного (для чтения и записи) и табличного (для чтения).

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

  1.  
    1. Создание логической модели данных

Одним из способов представления логической модели базы данных является построение ER-диаграмм (сущность-связь). В этой модели сущность определяется как дискретный объект, для которого сохраняются элементы данных, а связь описывает отношение между двумя объектами.

Для построения логической модели данных используем программную среду Microsoft Visio 2007.

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

  • Участок. Содержит информацию обо всех участках города Набережные Челны, где проводятся натурные исследования.

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

  • Режим светофора. Хранит информацию об изменении фазы и режима работы светофоров в течение суток.

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

  • Отчет. Хранит информацию о параметрах транспортного потока за определенный период времени.

  • Оптимизация. Послеоптимизации режимов работы светофора в имитационной модели города определяются оптимальные режимы светофора. Таблица хранит информацию об этих режимах.

Выявим структурные связи информационных объектов:

  • Для каждого участка создается один или несколько (много) параметров движения;

  • Для каждого участка может быть один или несколько (много) режимов светофора;

  • Для каждого направления движения создается один или несколько (много) параметров движения;

  • Каждый параметр движения используется в оптимизации один или несколько (много) раз;

Объекты и отношения между ними представлены в таблице 1.

Табл. 1. Структурные связи

Главный ИО

Подчиненный

Тип связи

1

Участок

Параметр движения

1:М

2

Участок

Режим светофора

1:М

3

Направление движения

Параметр движения

1:М

4

Параметр движения

Оптимизация

1:М

5

Параметр движения

Отчет

1:1

Атрибуты объекта - это элементы данных, относящиеся к определенному объекту, которые должны сохраняться. Анализируем составленный словарь данных, выделяем в нем объекты и их атрибуты, расширяем словарь при необходимости. Атрибуты для каждого объекта в рассматриваемом примере представлены в таблице 2.

Табл. 2. Объекты и атрибуты базы данных

Объект

Участок

Направление движения

Режим светофора

Параметр движения

Оптимизация

Отчет

Атрибуты

Код участка

Код направления

Код режима

Код параметра

Код параметра

Период

Наименование

Наименование

Код участка

Дата

Красный

Код участка

   

Дата

Код участка

Зеленый

Код направления

   

Красный

Код направления

 

Интенсивность

   

Зеленый

Интенсивность

   
   

Доп.секция

Плотность

   
   

Фаза

Скорость

   

Логическая модель базы данных представлена на рисунке 16.

Рис. 16. Логическая модель данных

  1.  
    1. Выводы по разделу

Во второй главе разработана концептуальная модель системы управления адаптивными светофорами. На основе данной модели построены функциональные модели с использованием методологии IDEF. Функциональная модель «Как должно быть» определила структуру разрабатываемой системы и связи между процессами. С помощью методологии UML мы описали работу информационной системы.

  1. Разработка информационной системы подсчета параметров ТП
  1.  
    1. Структура информационной системы. Функции подсистем информационной системы.

Структуру информационных систем – совокупность элементов, части системы, которые называются подсистемами.

Существуют функциональные и обеспечивающие подсистемы.

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

В состав обеспечивающих подсистем входят:

  • информационное обеспечение — методы и средства для строения информационной базы системы. Он включает: системы классификации и кодирования информации, унифицированные системы документов, схемы информационных потоков, принципы и методы создания баз данных;

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

  • программное обеспечение - совокупность программ регулярного применения, необходимых для решения функциональных задач, и программ, позволяющих наиболее эффективно использовать вычислительную технику, обеспечивая пользователям наибольшие удобства в работе;

  • математическое обеспечение — совокупность методов, моделей и алгоритмов обработки информации, используемых в системе;

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

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

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

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

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

  • организационное обеспечение — комплекс решений, регламентирующих процессы создания и функционирования как системы в целом, так и ее персонала.[11]

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

Информационная система состоит из следующих основных обеспечивающих подсистем:

  • Конфигурация 1С предприятия;

  • Программное обеспечение для подсчета параметров транспортного потока;

  • Программный продукт ManyCam;

Схема информационных потоков при анализе параметров транспортной сети представлена на рисунке 17.

Рис. 17. Схема информационных потоков

Для подключения и получения изображений из камер видеонаблюдения используется программа ManyCam. Подключение к камерам реализуется с помощью IP адреса камеры. Так же имеется возможность загрузки и воспроизведения видео-файла.

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

  • Интенсивность движения (количество проехавших автомобилей за заданный период времени);

  • Плотность потока (где расстояние между точками А и Б задается пользователем);

  • Скорость транспортного средства;

Для хранения данных мониторинга используется конфигурация 1С предприятия, созданная в рамках данного дипломного проекта. С помощью данной конфигурации можно: вывести графики изменения параметров транспортного потока за определенный период времени; формировать поиск по заданным параметрам ТП и получить оптимальные режимы работы светофора.

  1.  
    1. Разработка конфигурации 1С Предприятия

В программе 1С: Предприятие 8.2 была разработана новая конфигурация базы данных. Были созданы следующие объекты:

  • Подсистемы:

  • справочники,

  • документы,

  • отчеты,

  • оптимизация;

  • Справочники:

  • участки,

  • направления движения;

  • Документы:

  • параметр движения,

  • режим светофоров;

  • Обработки:

  • главная форма,

  • загрузка данных;

  • Регистры накоплений:

  • параметр движения;

  • Регистры сведений:

  • режимы светофоров,

  • оптимизированные режимы светофоров;

  • Отчеты:

  • статистические данные;

Для создания объектов управления и таблиц используем режим конфигуратора (рис. 18).

Рис. 18. Режим конфигуратора

В конфигурации открываем вкладку «Общие» и создаем четыре подсистемы (рис. 19): «Справочники», «Документы», «Отчеты», «Оптимизация».

Подсистемы – это общие объекты конфигурации. С помощью них платформа создает командный интерфейс прикладного решения и разделяет всю функциональность программы на разные блоки (крупные и мелкие). Подсистемы могут иметь иерархическую структуру, т.е. одна подсистема может включать в себя несколько других подсистем[12].

Рис.19. Подсистемы конфигурации

Справочники - позволяют хранить в информационной базе данные, имеющие одинаковую структуру и списочный характер[12]. Создаем два справочника: «Участки» и «Направление движения» (рис.20). Справочники принадлежат подсистеме «Справочники» и имеют стандартные реквизиты: код и наименования. Справочник «Участки» является владельцем для справочника «Направление движения». Это означает что для каждой записи в справочнике «Участки» имеются записи в справочнике «Направление движения».

Рис. 20. Процесс создания справочников

Документы - позволяют хранить в прикладном решении информацию о совершенных операциях или о событиях[12]. Для записи новых данных мониторинга создадим два документа: «Параметры движения» и «Режимы светофоров». Оба документа относятся к подсистеме «Документы».

Документ «Параметры движения» включает в себя девять реквизитов и две формы (форма записи, форма элементов). Записи в документе создаются программно в обработке «Загрузка данных». На рисунке 21 изображена форма документа.

Рис. 21. Форма документа «Параметры движения»

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

Рис. 22. Модуль объекта

Документ «Режимы светофоров» включает в себя 7 реквизитов и форму документа. Форма элементов для данного документа создается автоматически. На рисунке 23 изображена форма документа.

Рис. 23. Форма документа «Режимы светофоров»

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

Рис. 24. Модуль объекта

Отчеты- это прикладные объекты конфигурации. Они предназначены для обработки накопленной информации и получения сводных данных в удобном для просмотра и анализа виде. Конфигуратор позволяет формировать набор различных отчетов, достаточных для удовлетворения потребности пользователей системы в достоверной и подробной выходной информации[12]. Для выявления наиболее загруженных участков создадим отчет «Статистические данные». Отчет относится к подсистеме «Отчеты». Для формирования выходных данных используем систему компоновки данных (рис. 25). Набор данных формируем с помощью запроса.

Рис. 25. Схема компоновки данных

Обработки – предназначены для выполнения различных действий над информацией. С их помощью можно выполнять импорт информации из других источников[12]. Для загрузки данных мониторинга с текстового файла создадим обработку «Загрузка данных» (рис. 26), он относится к подсистеме документы, и является сервисом для документа «Параметры движения». В обработке созданы два реквизита (дата, интервал записи), а так же кнопка (загрузить данные).

Рис. 26. Форма обработки «Загрузка данных»

Загрузка параметров транспортного потока, полученные в результате мониторинга осуществляется с помощью программного кода (рис.27).

Рис. 27. Модуль обработки «Загрузка данных»

  1.  
    1. Описание программных модулей

Все программы, написанные на языке C++, начинаются с функции main(). Функция реализуется пользователем и в общем виде выглядит так: int main(). Для того чтобы передать какую-либо информацию используются параметры: argv[] и argc. Параметр argc имеет тип данных int, и содержит количество параметров, передаваемых в функцию main. Причем argc всегда не меньше 1, даже когда мы не передаем никакой информации, так как первым параметром считается имя функции. Параметр argv[] это массив указателей на строки. Через командную строку можно передать только данные строкового типа.

В разработанной программе эта функция имеет следующий вид:

int main (int argc, char **argv);

При запуске программы необходимо ввести следующие входные параметры:

  • Int kolichestvo_kamer - количество подключенных камер видеонаблюдения);

  • Int time_minits - время для первого сохранения данных подсчета;

  • int interval - интервал сохранения данных;

  • int roi_x0, int roi_y0, int roi_x1, int roi_y1 - координаты линии подсчета;

Рис. 28. Ввод входных параметров

Для рисования линии подсчета вызывается функция FAV1.

Код функции FAV1:

Namespace FAV1

{

IplImage* img_input1 = 0;

IplImage* img_input2 = 0;

int roi_x0 = 0;

int roi_y0 = 0;

int roi_x1 = 0;

int roi_y1 = 0;

int numOfRec = 0;

int startDraw = 0;

bool roi_defined = false;

bool use_roi = true;

void VehicleCouting_on_mouse(int evt, int x, int y, int flag, void* param)

{

if (!use_roi)

return;

if (evt == CV_EVENT_LBUTTONDOWN)

{

if (!startDraw)

{

roi_x0 = x;

roi_y0 = y;

startDraw = 1;

}

else

{

roi_x1 = x;

roi_y1 = y;

startDraw = 0;

roi_defined = true;

}

}

if (evt == CV_EVENT_MOUSEMOVE && startDraw)

{

img_input2 = cvCloneImage(img_input1);

cvLine(img_input2, cvPoint(roi_x0, roi_y0), cvPoint(x, y), CV_RGB(255, 0, 255));

cvShowImage(vehicle.window_name2, img_input2);

cvReleaseImage(&img_input2);

}

}

}

Рис. 29. Ввод линии подсчета

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

Для сохранения входных параметров используется функция saveConfig(). Код функции saveConfig():

void VehicleCouting::saveConfig()

{

CvFileStorage* fs = cvOpenFileStorage (VehicleCouting::address_Sohranenia, 0, CV_STORAGE_WRITE);

CvWriteInt (fs, "showOutput", showOutput);

cvWriteInt (fs, "showAB", showAB);

cvWriteInt (fs, "fav1_use_roi", FAV1::use_roi);

cvWriteInt (fs, "fav1_roi_defined", FAV1::roi_defined);

CvWriteInt (fs, "fav1_roi_x0", FAV1::roi_x0);

cvWriteInt (fs, "fav1_roi_y0", FAV1::roi_y0);

cvWriteInt (fs, "fav1_roi_x1", FAV1::roi_x1);

cvWriteInt (fs, "fav1_roi_y1", FAV1::roi_y1);

cvReleaseFileStorage(&fs);

}

Параметры сохраняются в «xml» документе, который расположен в корневой папке «vehicle_data».

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

Для передачи изображения к «bgs_library» используется функция:

void BlobTracking::process(const cv::Mat &img_input, const cv::Mat &img_mask, cv::Mat &img_output)

где img_input - это входное изображение (входной параметр), img_mask - это бинарное изображение, img_output - это изображение с выделением объекта (выходной параметр).

Каждый распознанный объект выделяется прямоугольником и для него устанавливается центр тяжести. Если размер объекта не соответствует заданным параметрам объекта, которые могут быть распознаны, то этот объект не распознается. Размеры объекта сохраняет функция saveConfig().

Код функции saveConfig():

void BlobTracking::saveConfig()

{

CvFileStorage* fs = cvOpenFileStorage("./config/BlobTracking.xml", 0, CV_STORAGE_WRITE);

cvWriteInt(fs, "minArea", minArea);

cvWriteInt(fs, "maxArea", maxArea);

cvWriteInt(fs, "debugTrack", debugTrack);

cvWriteInt(fs, "debugBlob", debugBlob);

cvWriteInt(fs, "showBlobMask", showBlobMask);

cvWriteInt(fs, "showOutput", showOutput);

cvReleaseFileStorage(&fs);

}

Линия подсчета разделяет окно камеры на две области (A,B). Это необходимо для определения положения и фиксации транспорта. В случае, когда центр тяжести транспорта пересекает прямую линию, происходит подсчет. Определение положение транспорта относительно линии выполняет функция getVehiclePosition(const CvPoint2D64f centroid). Здесь «centroid.x» это координата распознанного объекта, а «FAV1::roi» координаты линии.

Код функции:

VehiclePosition VehicleCouting::getVehiclePosition (const CvPoint2D64f centroid)

{

VehiclePosition vehiclePosition = VP_NONE;

if (LaneOrientation == LO_HORIZONTAL)

{

if (centroid.x < FAV1::roi_x0)

{

vehiclePosition = VP_A;

}

if (centroid.x > FAV1::roi_x0)

{

vehiclePosition = VP_B;

}

}

if (LaneOrientation == LO_VERTICAL)

{

if (centroid.y > FAV1::roi_y0)

{

vehiclePosition = VP_A;

}

if (centroid.y < FAV1::roi_y0)

{

vehiclePosition = VP_B;

}

}

return vehiclePosition;

}

Для подсчета используется функция void VehicleCouting::process(). Входными параметрами для функции являются «img_input» (изображение), линия подсчета, выходные параметры функции saveConfig(). Выходным является параметр «countAB», который хранит данные подсчета.

Рис. 30. Отладка программы

Для сохранения данных используется функция void detect(int minits, int sec, int interval, VehicleCouting* vehicleCouting, int nomer_okna).

Код функции:

void detect(int minits, int sec, int interval, VehicleCouting* vehicleCouting, int nomer_okna)

{

time_t t = time(NULL);

tm* aTm = localtime(&t);

int TotalSec;

char total_vehicles[70];

sprintf(total_vehicles, "vehicle_data/Camera%d.txt", nomer_okna);

if ((((aTm->tm_min) == minits) && (aTm->tm_sec) == sec) && start_file_rec == false)

{

cout tm_min) * 60 + (aTm->tm_sec);

}

TotalSec = abs((aTm->tm_min) * 60 + (aTm->tm_sec)) - TotalSec1;

if ((numberCam666 == 0) && ((lastmin != (aTm->tm_min)) || (lastSec != (aTm->tm_sec))) && ((TotalSec) % interval == 0) && (start_file_rec == true))

{

numberCam666 = kolichestvo_kamer;

}

if ((numberCam666 != 0) || ((start_file_rec == true) && ((TotalSec) % interval == 0) && ((lastmin != (aTm->tm_min)) || (lastSec != (aTm->tm_sec)))))

{

cout

Просмотров работы: 1690