V2X: УМНОЕ ДОРОЖНОЕ ДВИЖЕНИЕ
15 июня 2022 года состоялтся вебинар с выпускником магистратуры ВИШ МИФИ Александром Гольдваргом, который рассказал о том, чем занимается после окончания ВИШ МИФИ.
Самоуправляемые транспортные средства – один из самых современных трендов. Автомобили будущего должны быть оснащены сенсорами, считывающими всевозможную информацию о дорожной обстановке: ближайших транспортных средствах, погодных условиях, состоянии асфальта, дорожных знаках и так далее. На основе этих данных управление поездкой можно будет осуществлять в автоматическом режиме.
Одна из технологий, которая необходима для такого автомобиля - V2X (Vehicle-to-Everytning). Технология V2X позволяет автомобилям обмениваться друг с другом различной информацией. Связь 5G, благодаря более низкой задержке при установке соединения, сделает взаимодействие через V2X более эффективным, а движение самоуправляемых автомобилей на интеллектуальных дорогах – более безопасным.
Александр работает именно в этой области, в должности software developer (разработчик ПО) в ГКУ "Центр организации дорожного движения". Он рассказал о том, что такое V2X, о пилотных проектах и о проблемах внедрения, об ожидаемых результатах и о том, как разрабатывать такие умные системы.
Запись вебинара:
Расшифровка вебинара.
О.: Мы начинаем наш вебинар, в котором принимают участие выпускник Высшей инжиниринговой школы НИЯУ МИФИ Александр Гольдварг. Я знаю, что Александр пришел к нам с очень интересной темой, мы ее между собой называем «Умное дорожное движение».
Александр, я так понимаю, что это платформенная решение, определенное программное обеспечение для безопасности, для эффективности дорожного движения, а также это достаточно большой шаг к беспилотным автомобилям будущего, поскольку это программное решение подразумевает собой увязку сенсоров, радаров, технологий связи, получения данных, обработки данных.
А.: В общем-то, правильно, однако не стоит называть это программным решением, потому что оно таковым не является. На самом деле это совокупность технологий, которые позволяют как раз-таки общаться автомобилям, да и любому объекту или субъекту, который принимает участие прямо либо косвенно в дорожном движении. Эта технология позволяет таким вот объектам и субъектам общаться между собой. Состоит она из пяти подтехнологий, но я расскажу об этом на презентации.
О.: Хорошо. Давайте немножечко поговорим о вас. Скажите, вот вы учились в магистратуре ВИШ МИФИ, а кроме того, насколько я знаю, вы работали в «Атомстройэкспорте», вместе со всеми нашими студентами, и где-то еще…
А.: Да, была еще «Кофемания», сеть кофеен, там я занимался модернизацией оборудования, не кофемашин, а сложного технического оборудования, радиоэлектроники.
О.: Я помню, что один из проектов, которые вы представляли в АСЭ, как раз умный прибор для регистрации чего-то, связанного с логистикой …
А.: Да, мы разрабатывали систему, которая позволила бы отслеживать грузоперевозки при строительстве каких-либо объектов. Один из сценариев – это отслеживание и измерение веса груза на точке А, предположим, на заводе, который отгружает, отслеживание пути груза на автомобиле, а также дальнейшая приемка груза в точке В. Мы использовали плату arduino, к которой был подключен GPS плюс ГЛОНАСС. В качестве визуализации был представлен маршрут от моего дома до здания Атомстройэкспорта.
О.: У вас тогда еще не было дисциплины «Интернет вещей», мы позже ввели этот предмет...
А.: На тот на тот момент ничего такого не было, обучался самостоятельно.
О.: Вот тут у меня есть свой перечень дисциплин, какие-то у вас были, какие-то появились позже. Что вам запомнилось, пригодилось в дальнейшей работе? А я скажу, что Александр сейчас работают software developer – разработчиком ПО – в Центре организации дорожного движения. Если мы представим себе дорожное движение, иногда в фильмах показывают вид сверху, это огромная система со множеством элементов, которые взаимодействуют друг с другом. А скорее всего, все еще сложнее, чем я сейчас пытаюсь представить.
А.: Что качается изученных дисциплин, я не могу выделить что-то конкретное, поскольку сейчас мне приходится выполнять очень специфические задачи. В работе мне нужно все – от agile до архитектуры высоконагруженных приложений. Помню, нам преподавали Java, и мне не нравилось, что был необходим запуск виртуальной машины. Я с ним и сейчас не работаю.
О.: А что вам нравится? С чем вы работаете?
А.: У нас проект на нескольких языках, потому что некоторых технологий нет, написанных на одном языке, поэтому приходится их тем или иным способом соединять. Я сейчас работают основном с Go (Golang). Это компилируемый язык программирования, достаточно низкоуровневый, с garbage (мусор, более неиспользуемые в работе данные) коллектором, то есть сборщиком «мусора», он не требует высвобождения памяти, после того, как она была выделена. Этот язык программирования заточен в первую очередь под работу с высоконагруженными приложениями. Также работаю с C, именно с чистым С, поскольку очень много приходится работать с «железом». А С предлагает очень широкие возможности работы с железом. Соответственно, С++, какие-то мелкие вещи совсем уж низкоуровневые пишутся на «плюсах».
О.: А вот с вами когда мы неделю назад с разговаривали, вы сказали, что хорошо бы вам в отдел еще одного человека, вот такого как вы – знающего, замотивированного. Что такой человек должен уметь? Мы надеемся, что он этому научится у нас, также как вы в свое время. Что он должен уметь, что ему нужно будет делать, и каковы должны быть его навыки?
А.: Да, мне действительно нужен человек в отдел, и возможно, не один. Задач очень много, иногда приходится буквально работать без выходных, когда нужно ввести какую-то фичу прямо сейчас, и выложить ее на продакшн, чтобы она работала…
О.: У вас же достаточно специфическая вещь, не только программирование. Вы сказали, что требуется знать еще и железо, требуется знать языки, которые могут совмещать железо с программным кодом…
А.: Человек должен в первую очередь обладать общими инженерами навыками, дружить с математикой, потому что многие математические модели, которые мы разрабатываем, подразумевают перевод того, что разработали, непосредственно в код. Поэтому нужно понимать, что переводишь. Человек должен знать, что такое тесты, как делать юнит-тесты, хотеть развиваться в этой области. Не в области транспорта, я имею в виду, хотя и в ней тоже, а в области IT, в области низкоуровневых решений. Хотя есть возможность перейти в классику, это распределенные высоконагруженные приложения, это уже чистый Go, Python. JavaScript, frontend, backend… Но сейчас нам нужен человек под чуть более низкий уровень – общение с дорожными контроллерами, это такая штука, которая управляет сигнальными группами светофорных объектов (красный/желтый/зеленый/стрелочка).
О.: Переходим к тематике. Давайте посмотрим, чем вы занимаетесь на своей работе, что такое V2X. Пока вы запускаете презентацию, я еще вспомнила, что у вас на дипломе был проект, связанный с реакцией человека на виртуальную реальность.
А.: У меня была более узкая задача по преобразованию биопотенциала (электрической активности) мышц лица в мощность, используя вейвлет-преобразования. Дальнейшим развитием этого проекта послужило бы приведение вот этой самой мощности к моделями эмоционального состояния.
О.: Давайте перейдем к вашей презентации. Скажите, что такое V2X и что нам от этого ожидать?
А.: Я назвал эту презентацию «Ожидания прогресса и реальность внедрения» – потому что, если рассказывать о технологии V2X, можно подумать, что идет рассказ о космических кораблях, бороздящих просторы Большого театра, но это совершенно не так.
Мне кажется, что за этой технологией – будущее дорожного движения. Потому что аналоговый съем каких-то данных (глазами человека, камерами, лидарами, радарами), съем окружающей обстановки, как на той же Тесле реализовано (камера смотрит и определяет сигнал – красный или зеленый), это уже устаревшая технология, она требует очень много ресурсов.
Наверное, вы видели, ездят автомобили Yandex, такие минивэнчики, с камерой, с радарами, вот они как раз составляют цифровой двойник инфраструктуры города. Это буквально ферма на колесах, ферма для майнинга, только она обсчитывает окружающую обстановку и заносит ее в базу данных.
Технология V2X достаточно непростая. Это совокупность технологий, обеспечивающая постоянную связь транспортного средства как с дорожной инфраструктурой, так и с другими объектами, участвующими в дорожном движении, будь то автомобиль, дорожные контроллеры, умный светофор, и даже пешеход с мобильным телефоном, на котором установлено соответствующее приложение. Это становится возможным благодаря установленным бортовым компьютерам со встроенными радио-модулями, работающими на частотах Wi-Fi (DSRC) и LTE (C-V2X). DSRC использует wifi 5-го и 6-го поколения, «лупит» на полкилометра запросто, задержек почти нет. C-V2X - это технология использует 4G или LTE, и недавно C-V2X получила возможность расширения до 5G.
О.: То есть это система, которая как бы связывает с точки зрения данных очень много других отдельных систем воедино?
А.: Именно так и есть. По сути это пиринговая сеть, в которой каждый объект сети является равноценным. Она может как отправлять информацию куда-либо, так и принимать. Дословно технология V2X называется Vehicle-to-Everytning, но последнее слово по аналогии с различными сокращениями (например, Christmas как X-Mas), заменено на букву-иероглиф X. Есть несколько основных направлений этой технологии - связь с дорожной инфраструктурой (V2I), связь с пешеходами (V2P), связь с сетью (V2N), связь с другими транспортными средствами (V2V).
Архитектура самой сети выглядит достаточно классическим образом. На каком-нибудь столбе стоит коробочка, которую по виду не отличить от промышленного wifi-роутера, этот самый RSU (Road Side Unit) общается с сервером, сервер отправляет ему какие-то данные, которые необходимы для обеспечения бесперебойного дорожного движения, RSU общается непосредственно с теми объектами, на которых установлено соответствующее оборудование и программное обеспечение для связи с сетью V2X (бортовой компьютер в автомобиле, или даже мобильный телефон).
О.: То есть не люди общаются друг с другом, а автомобили сами по сотовой связи или радиоканалам общаются друг с другом…
А.: Постоянный обмен информацией с участниками сети позволяет использовать эту технологию в следующих ситуациях: предупреждение о возможном столкновении, резком торможении ТС; предупреждение о смене полосы и слепой зоне ТС; уведомление о дорожным работах, состоянии светофорных объектов (красный, желтый, зеленый), дорожных знаков; выстраивание траспортных средств в колонны.
На картинке представлен вариант пользовательского интерфейса, приложения, которое разработали мои коллеги. Вы видите слева скорость текущую, справа – включены ли поворотники, стрелочка указывает на дорожные работы, на свободный поворот направо, либо через 6 секунд можно будет повернуть налево, потому что сейчас горит красный сигнал светофора и в течение шести секунд он еще будет гореть.
О.: Но решение принимает человек?
А.: Да человек. Хотя к нам уже приходили коллеги из Мостранспроекта, которые вместе с МАДИ разработали беспилотные автомобили и внедрили их на территории Первой городской больницы для перевозки биоматериалов из лаборатории в лабораторию.
Транспортное средство может взаимодействовать с окружением несколькими способами: незамедлительный контекст (камеры, лидары), который позволяет водителю оценить обстановку вокруг себя и принять немедленное решение; другой контекст – локальные сведения об окружающих объектах, передаваемые бинарными данными от RSU-модуля на автомобиль. Есть еще контекст цифрового двойника – это глобальная карта инфраструктуры города.
V2X достаточно эффективна для предотвращения дорожных происшествий. На верхнем рисунке мы видим автомобиль, который объезжает преграду – ДТП или дорожные работы. Он не оборудован V2X, соответственно, он никак кроме своих габаритных огней не может предупредить автомобиль сзади о торможении. А следующий автомобиль оборудован, и он предупреждает автомобили за собой, которые также оборудованы этой системой.
Ниже мы видим грузовик, оборудованный этой системой, одна из машин пытается на обгоне выйти на встречку. Грузовик, в слепой зоне которого находится эта машина, предупреждает ее, что встречная полоса на данный момент занята. Очень интересный вариант, над реализацией которого работают мои коллеги.
На нижнем рисунке мы видим предотвращение аварий на поворотах. Автомобиль внизу слайда V2X оборудован, он хочет совершить крутой поворот налево, но водитель не видит автомобили, которые в этот момент находятся слева вне зоны видимости. Благодаря общению между собой транспортных средств, автомобиль (водитель) будет иметь представление о том, что находится за поворотом.
О.: То есть он получает от других автомобилей сигнал «я здесь!»…
А.: Поговорим о проблемах. Есть три стандарта технологии V2X, которые используются в Европе, США и Китае. Европейский – самый ранний, показавший себя хорошо, американский, на мой взгляд, самый удобный, китайский – самый молодой. Они все очень объемные, подробные. И чтобы приступить к внедрению и разработке, нужно изучить много информации.
И в документации есть несостыковки. Например, посмотрим на тип данных Time Mark. Он используется для передачи о времени горения той или иной сигнальной группы. 1/10 секунды от времени UTC. Это даже не миллисекунды, это 1/10 секунды. Ограничение этого времени от 0 до 36 000 должно нам как бы намекать, что это 1/10 секунды от текущего часа. То есть этот тип данных зависит от другого типа данных, причем неявно. И во всей документации такая чертовщина творится.
О.: Как раз у нас есть вопрос о стандартизации. Наш гость, Максим, спрашивает: достигнута ли стандартизация программного интерфейса для серверных приложений и программного обеспечения автомобилей?
А.: Достигнута стандартизация в плане передачи данных.
О.: Следующий вопрос: есть на данный момент доступ к технологиям 5G с реализации выделенного канала V2X?
А.: На данный момент нет, хотя коллеги над этим работают.
Продолжим о проблемах. Перейдем к одному из сценариев, который мы рассматривали ранее. Человек хочет повернуть налево, другой автомобиль говорит «я здесь, за углом», и все вроде замечательно, ДТП можно избежать… пока не появляется вот такой персонаж. Неважно, подключен у него V2X или нет. Наличие такого персонажа приведет к ДТП. Наверное, поэтому мы плавно переходим от принятия решения водителем к принятию решения самим автомобилем.
О.: Расскажите о пилотных проектах.
А.: У нас предварительно на Алтуфьевском шоссе готовится внедрение технологии. Мы пока договорились о трёх сценариях. Это движение скорой помощи, включение режима «всем красный» для ее безостановочного прохода. Второй режим – организация безостановочного проезда спецтехники, например, есть достаточно медленные средства ЖКХ, которые чистят дорогу, если они где-то встают на светофоре, это проблема для едущих автомобилей. Третий режим – приоритезация движения для общественного транспорта.
Помимо этих трех сценариев хотелось мы также хотим собирать информацию о маршрутах движения транспорта, приоритезацию которого будем проводить и каким-то образом подстраивать дорожное движение непосредственно под этот транспорт заранее, а не в момент появления.
О.: Александр, что бы вы пожелали тем, кто сейчас думает, что изучать, куда пойти учиться, на что обратить внимание?
А.: Я бы порекомендовал большинству ребят становиться именно инженерами. Инженер – это звучит гордо. Инженер не пропадет нигде, он пригодится в любом случае, коммерция ли, государственное предприятие, или какие-то собственные стартапы. Если подходить ко всему именно так, то успех практически гарантирован. Изучайте не просто языки программирования, а то, что у этого языка «под капотом».