Известно, что в России две проблемы: дураки и дороги. Пробуем решить и инвертировать проблемы — получаем умные светофоры. Этот термин весьма популярен. Например, в прессе за 2017 год можно увидеть такие громкие заголовки: «Умные» светофоры испортят жизнь российским водителям», «Умный светофор — хорошо, а надежный милиционер — лучше…», «В России сделан умный светофор, который управляется с iPhone».
Все эти заголовки говорят о том, что трактовка этого термина может быть весьма вольной. И часто этим пользуются, чтобы привлечь внимание, обеспечить продвижение для весьма посредственных решений. Это порождает негативное отношение общественности к установке очередного «интеллектуального» решения. Во многих материалах журналисты только косвенно касаются сути технологии и, кажется, до конца не понимают, что такое умные светофоры.
Сам я вообще настороженно отношусь к этому термину. «Умный» скорее относится к живому организму, но никак не к механизму. Но поскольку наша компания уже давно занимается светофорами со сложной начинкой, я пытался найти для себя оптимальное определение: что же делает светофор умным.
Свойства «умного» светофора я перечислю на примере механизма, который сделала наша команда — периферийный контроллер светофоров «СПЕКТР-2».
Активное управление по направлениям вместо фаз
В России принята по-фазная схема управления — некая последовательность состояний (светофорный цикл), которые чередуется по кругу. Каждое из состояний называется фазой светофорного регулирования. В сложившейся отечественной практике фазы объединяют сразу несколько независимых маневров движений, разрешают или запрещают движение сразу для целой совокупности элементарных траекторий. Раньше, когда вычислительные возможности управляющего оборудования были скромными, такое упрощение было уместно. Но в результате такого искусственного объединения мы отходим от рассмотрения физической сути управления процессом движения автомобилей. И, как показала практика, это создает сложности для «красивого» описания алгоритма управления.
Проблема проявляется и в том, что по-фазная схема часто приводит к заторам на дороге — в ситуации, когда детектор анализирует наличие потока машин сразу с нескольких направлений и включает «зеленый». При этом часто складывается ситуация взаимной блокировки потоков.
В зарубежной практике, особенно в американском подходе НСМ2000 — Highway Capacity Manual, используют подход так называемого «многокольцевого контроллера», с активным адаптивным управлением по детекторам транспорта. То есть иностранцы отказались от традиционного для нас понимания фаз и начали рассматривать каждый маневр движения отдельно. Управляя маневрами независимо, они перешли к управлению по направлениям движения.
Преимущество этой системы в том, что мы можем эффективнее использовать пропускную способность перекрестка. Пока машины продолжают ехать по одному из маневров, им горит зеленый. Если за время красного мы не обнаружили ни одной машины на левый поворот, по стрелке, то зачем ее вообще зажигать? Мы выбрасываем одно из направлений из цикла, если на него не было запросов — как со стороны транспорта, так и от кнопок пешехода.
Использование матриц InterGreen для описания переходных состояний
В отечественных и американских контроллерах это свойство вообще отсутствует. Когда вы создаете режимы светофорного поста, нужно рассмотреть два аспекта. Первый — параметры безопасности. То есть минимальные времена горения сигналов и времена между зелеными для конфликтных направлений. Второй аспект — длительности основных тактов. Их рассчитывают исходя из потоков, которые нужно обслуживать. Параметры безопасности имеют отношение к геометрическим характеристикам. Берутся два конфликтных маневра и рассматривается точка, где возможно столкновение. Таким образом, если рассматривать попарно все возможные маневры, получаем полную матрицу конфликтов. Где есть конфликт — ставим в матрице значение, равное количеству секунд до возможного столкновения. Это время надо будет выдержать контроллеру, прежде чем он включит зеленый сигнал.
Матрица описывает не абстрактный промежуточный такт, а вполне приближенные к реальности физические параметры: длину траектории и скорость движения. Контроллер может пользоваться данными матрицы для расчета на лету.
Можно сказать, что в своей технологии гибкого управления перекрестком по каждому из направлений движения мы скрестили две сильных стороны зарубежных подходов. Лаконичный американский подход к типизированному описанию алгоритма с немецким обстоятельным подходом задания промежуточных тактов. Я не был в США, но говорят, что у них перекрестки одинаковые. Нет и в помине такого разнообразия сложных перекрестков, как у нас или в Европе. Поэтому без сочетаний исходные подходы оказываются малопригодны к использованию в наших условиях.
Расширяемая открытая инфраструктура
Наша система работает на базе Linux и имеет открытую архитектуру. Благодаря этому мы можем подключать дорожные контроллеры к виртуальной среде и делать пользовательские сценарии. Если не хватает того подхода, который алгоритмически реализован нами, всегда можно реализовать какую-то свою алгоритмическую фантазию на базе аппаратной платформы, пользуясь возможностями написания сценариев пользователя на языке высокого уровня JavaScript.
Возвращаясь к нашему первому вопросу об «умных» светофорах, необходимо вспомнить о том, а что такое вообще интеллект? Это способность адаптироваться в меняющихся условиях дорожного движения, независимо от контроллера. Открытая платформа как раз обеспечивает возможность дальнейшего развития. Не сама по себе, а давая возможность использования творческого потенциала умного разработчика, давая ему возможность модифицировать и улучшать базовый алгоритм в ногу со временем.
Но для такого ума есть обратная сторона — система очень усложнилась. Не то что пользователи, наши разработчики признаются, что не всегда быстро понимают сложные конфигурации. Чем сложнее контроллер, тем сложнее его разрабатывать и применять — гораздо проще ошибиться в паре сотен параметров сложного алгоритма, чем в десятке параметров традиционных пофазных конфигураций.
Работа со светофорами в виртуальной среде
Но нам интересно применять свои сложные разработки. Особенно полезной для понимания сложных алгоритмов оказалась возможность работать в виртуальной реальности и использовать инструменты программно-аппаратного моделирования. Эти инструменты позволяют в контексте виртуальной среды запустить точную копию дорожного контроллера. Когда он функционирует, он даже не знает, что делает это в виртуальной среде. Мы задаем некую сцену и запускаем по ней виртуальные машинки. Дальше они взаимодействуют друг с другом, с пешеходами, со знаками и светофорами. Взаимодействуют и с детекторами тоже: машина едет по дороге — наезжает на детектор. В этот момент детектор реагирует и выдает сигнал в подключенный дорожный контроллер. Который, в свою очередь, управляет светофорами модели.
В виртуальной среде можно реализовывать и более сложные контуры управления. Например, подключать к ней логику управляющего центра. Мы часто используем эту функцию при отладке работы системы приоритетного пропуска для общественного транспорта.
Как это работает? Во многом благодаря SUMO — инновационной среде моделирования транспортного процесса от немецких разработчиков. Эта среда примечательна открытостью — разработчики предоставляют ее со всеми исходными кодами. Мы провели много времени, «шаманя» различные добавления для работы над собственными проектами.
Как мы применяем SUMO в реальных проектах?
Например, мы работали над проектом скоростного трамвая «Чижик»: взялись проработать концепцию алгоритма управления на основе нашего оборудования до того, как новые трамваи начнут движение в городе. В виртуальной среде мы подключили все 23 светофорных поста по пути следования трамваев и использовали все новаторские подходы: и направления вместо фаз, и матрицы, и новые типы детекторов. Отладка в виртуальной среде помогла убедиться в состоятельности принятых решений, а также убедить заказчика в его работоспособности.
Что будет в недалеком завтра?
Скорее всего мы будем обходиться без светофоров в классическом понимании. Вместо них — инфраструктурное и принимающее радиосигналы оборудование внутри каждой машины. Индивидуальный «светофор» внутри каждой машины покажет и даст информацию для решения: ехать дальше или пропустить другую машину на перекрестке. Будет ли такой индивидуальный светофор светить живому водителю, или это будет полноценный автопилот — скоро увидим.
Похожую технологию прямо сейчас разрабатывают в институте Карнеги-Меллона в Питтсбурге. Исследователи хотят управлять движением на перекрестках при помощи радио. Машины двигаются плавно и безопасно без применения светофоров с помощью систем обмена сообщениями на борту. Они передают данные о движении и определяют, какая из машин — координатор. Пока координатор стоит на красном, он раздает коррективы другим участникам движения и оценивает, кто проедет первым. В этом проекте примечательно, что перед тестированием в условиях улицы авторы также пользовались экспериментированием в виртуальной среде SUMO!
Вторая интересная технология — соединять машины в колонны по некоему общему признаку, вроде одинаковых динамических характеристик. Для такой собранной, организованной колонны можно подготовить сигнал заранее и обслужить поток более эффективно .
Так что да, «умным» светофорам уже снятся беспилотные автомобили. И переход этих снов в явь видится сейчас не таким уж далеким делом.
Но что же снится тогда «глупым» светофорам? Большой вопрос.