- PVSM.RU - https://www.pvsm.ru -

Из пункта А в пункт Б на все зелёные сигналы светофора

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

Предлагаю рассмотреть две возможные ситуации:

1. Движение по автомагистрали

image

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

2. Движение в городе

image

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

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

Логика работы моей системы

image

Рассмотрим рисунок подробнее. Изначально мы имеем текстовый файл (или другой формат — это не принципиально), в котором мы будем хранить всю информацию по каждому конкретному светофору, а именно:

-время переключение с красного сигнала на зелёный
-время работы красного сигнала
-время работы зелёного сигнала

Затем эти данные из файла, мы будем обсчитывать, анализировать. Как? Сейчас узнаем.

Наш светофор №1 (на рисунке он слева от автомобиля) загорелся зелёным в 22:00:00, горел зелёным 45 секунд, горел красным 15 секунд, отсюда получаем, что в будущем, например, как на картинке в 22:01:34, светофор будет гореть зелёным сигналом. Тут стоит обратить внимание на следующие вещи. Светофор и через десять лет в это время (22:01:34) будет гореть зелёным и через двадцать, если только он не будет переведён в ручной режим работы, в этом случае все наши временные нормативы сбросятся. Хорошо, у нас есть файл, в котором собрана вся информация о каждом светофоре, встречающимся на нашем пути. Получается, если данные у нас есть, маршрут заранее спланирован, необходимо прибыть на точку старта, запустить на исполнение программу, и согласно данным, полученным на выходе, начать двигаться.

Для написания программного кода использовал язык C#, среду разработки Microsoft Visual Studio. Вот скриншот работы программы

image

Мы находимся в точке А, нажатием клавиши F5 запускаем программу. В консоль выводятся сообщения по каждому светофору, заводим авто, начинаем двигаться, система подсказывает в данный момент, какой сигнал светофора горит, мы в свою очередь принимаем решение, как нам двигаться: увеличить скорость или уменьшить. Хотелось бы напомнить, что данная система работает при свободных дорогах. Таким образом, когда мы подъедем к первому светофору, он будет гореть зелёным сигналом, и так каждый светофор. В итоге, согласно логике работы программы, мы сможем преодолеть все светофоры на зелёный сигнал.

От теории к практике

Маршрут, на котором я тестировал работу системы.

image

Точками отмечены все 5 светофоров (точка А старт, точка G финиш).

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

Как я вижу в дальнейшем развитие системы

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

image

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

P.S.: Моя идея к никаким движениям или государственным программам вроде «зелёный коридор» не относится.

Как это всё работало:

Автор: zGorikzz

Источник [1]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/120025

Ссылки в тексте:

[1] Источник: https://geektimes.ru/post/275366/