Система помощи водителю «БУБА» от АО «ПКК Миландр» представляет собой универсальное решение для автоматизации задач управления ТС. Устройство имеет широкие вычислительные возможности, богатый выбор отладочных интерфейсов и большой диапазон напряжений питания. Программное обеспечение, разработанное для этой системы, наглядно демонстрирует ее возможности.
Описание системы
В настоящее время одним из трендов развития автомобильной техники является автоматизация рутинных задач управления автомобилем в целях упрощения вождения и повышения его безопасности. Для решения задач автоматизации автомобили оснащаются датчиками, электронными средствами управления/актуаторами и специальными устройствами, управляющими некоторыми функциями движения автомобиля на основе данных от датчиков.
В АО «ПКК Миландр» ведется разработка линейки таких устройств – систем помощи водителю. Было разработано устройство «БУБА» (блок управления безопасностью автомобиля), который подключается к CAN-шине автомобиля и выполняет управление по следующим датчикам:
- многолучевые автомобильные радары АО «ПКК Миландр» МАРС‑2A1, подключенные к выделенной CAN-шине устройства. Угол обзора радаров составляет 60° по азимуту. Они обрабатывают цели, находящиеся на расстоянии 1,2–200 м, и поставляют в систему расширенные данные о 32 целях (дальность, скорость, размеры и т. д.). Блок одновременно поддерживает до трех подключенных к нему радаров;
- одна или две аналоговые камеры. Поддерживаются видеостандарты SD вплоть до PAL 576i;
- до четырех цифровых видеокамер, передающих видео по интерфейсу FPD-Link III. Поддерживаются видеоформаты HD до 1080p при 60 Гц;
- встроенный блок инерциальной навигации. Содержит трехосный акселерометр (предоставляет информацию о линейном ускорении в трех осях), трехосный гироскоп (предоставляет информацию об угловом ускорении в трех осях) и трехосный магнитометр (предоставляет информацию об ориентации автомобиля относительно магнитного поля Земли). Кроме того, блок может интегрировать показания датчиков и выдавать объединенные данные об ориентации устройства в пространстве в виде матрицы вращения или кватерниона.
БУБА представляет собой высокопроизводительный промышленный компьютер на базе процессора IMX6QP. Схема устройства представлена на рисунке 1. У устройства – следующие вычислительные характеристики:
- 4×ядра Cortex-A9 с рабочей частотой 1 ГГц; поддерживаются вычисления с плавающей точкой и векторные расширения NEON;
- DDR3 ОЗУ объемом 3840 Мбайт с рабочей частотой 532 МГц (DDR3–1066);
- четырехъядерный 3D-ускоритель GC2000 с рабочей частотой до 720 МГц, поддерживает API OpenCL 1.2, пригоден для ускорения параллельных задач;
- ускорители обработки изображения (вращение, изменение размера, преобразование цветовых пространств) для предварительной обработки данных с камер;
- ускоритель кодирования видеоданных; поддерживает, среди прочих, формат H264. Используется для сохранения видеожурналов поездок на внутренний накопитель.
В состав устройства входит высокоскоростной встроенный SSD-накопитель объемом 128 Гбит, позволяющий вести журналы данных со всех датчиков (камеры, радары, инерциальный блок), а также выходных воздействий на агрегаты автомобиля во время поездок.
Для организации разработки, а также вывода расширенной информации о состоянии системы в состав этого блока входят следующие интерфейсы:
- Ethernet и WiFi, которые предоставляют широкополосный доступ к системе, позволяют выводить видеопотоки, демонстрирующие состояние алгоритмов, обновлять системное ПО, выгружать журналы поездок и т. д. WiFi позволяет выполнять описанные выше действия без физического соединения с устройством, что удобно в полевых условиях;
- HDMI, который позволяет отображать состояние системы на дисплее для демонстрации возможностей системы;
- USB Host и USB-OTG порты обеспечивают подключение к системе внешних устройств – органов управления для управления системой (например, включения и выключения круиз-контроля), а также позволяют экспериментировать с ускорителями алгоритмов (например, ускорителями распознавания изображений). Эти порты совместимы со стандартом USB 2.0 HighSpeed;
- USB-UART подключен к системной консоли, позволяет осуществить аварийный доступ в случае неправильной работы системы.
Все отладочные порты выведены на одну панель (см. рис. 2), защищенную технологическим люком. Люк ограничивает физический доступ к портам, а также обеспечивает герметичность корпуса.
У БУБА – широкий диапазон напряжений питания 9–36 В, что позволяет ему работать от уже существующих в системе источников питания, в т. ч. от автомобильной бортовой сети.
Корпус блока (см. рис. 3) выполнен из металла, устойчив к внешним воздействиям. При закрытии технологического люка с отладочными интерфейсами он становится герметичным, устойчивым к условиям эксплуатации внутри автомобиля. Все внешние соединения, в т. ч. соединение с источником питания, осуществляются через специальный герметичный автомобильный разъем на передней части устройства.
Системное ПО
ПО блока управления работает на базе ОС Linux, дистрибутив Debian, версия 10.0 (stretch). Алгоритмы управления выполнены в виде системных сервисов – независимых программ, запускаемых при старте системы. Критические части алгоритмов (например, непосредственное управление автомобилем путем отправки CAN-сообщений) выделены в отдельные программы, выполненные с повышенной степенью надежности и использующие механизмы самопроверки и самовосстановления.
Текущая версия управляющего ПО поддерживает следующие функции помощи водителю:
- экстренное торможение – остановка автомобиля перед движущимся впереди транспортным средством в случае сближения с ним на определенное расстояние. Использует управление тормозной системой автомобиля;
- следование за ТС («адаптивный круиз-контроль») – регулирование скорости автомобиля в зависимости от расстояния и скорости движущегося впереди транспортного средства. Использует управление двигателем ТС (педалью газа).
- Для работы алгоритма требуются следующие внешние датчики:
- один многолучевой автомобильный радар МАРС‑2A1, который поставляет в алгоритм основные отметки целей, а также параметры целей (дальность, размеры, скорость);
- одна камера (например, аналоговая камера PAL 576i), направленная по ходу движения автомобиля; после выполнения алгоритма распознания она предоставляет дополнительную новую (тип и высота цели) и избыточную (дальность, ширина, скорость) информацию о целях. Использование этой информации позволяет уменьшить количество ложных срабатываний системы и повысить качество определения параметров цели.
Краткое описание работы алгоритма
- Кадры с камеры (с частотой 20–30 Гц) проходят предобработку и поступают на вход алгоритма для распознания объектов дорожной обстановки. Полученные данные дополнительно сравниваются с данными из прошлых циклов распознания, в результате чего определяются параметры целей – номер, дальность, размер и т. д.
- Отметки с радара (поступают каждые 10 мс) объединяются в массивы отметок – кадры. Они дополнительно кластеризуются для исключения множественного детектирования целей и сравниваются с данными из предыдущих циклов получения данных. Таким образом, данные приводятся в единообразную форму для следующих этапов алгоритма.
- Подготовленные данные с камеры и радара объединяются в общие отметки целей.
- Отметки целей сортируются в соответствии с зонами интереса (полоса, в которой движется цель, дальность до цели и пр.). Из отсортированных целей выбирается самая «интересная» – ближайшая цель в той же полосе.
- Параметры этой цели (дальность, скорость и т. д.) поступают на вход регулятора движения автомобиля. Основная ветка алгоритма регулятора выполняет управление «педалью газа», дополнительная («экстренная») – тормозом для выполнения алгоритма экстренного торможения.
- Выходные параметры регуляторов (воздействия на системы автомобиля) передаются в CAN-сеть автомобиля.
- Результаты выполнения частей алгоритма можно просматривать во время работы алгоритма:
- результат соединения целей демонстрируется как видеопоток, передаваемый через Ethernet по протоколу RTP; этот поток вместе со списками целей (в виде БД) записывается во внутренний накопитель;
- входные и выходные данные регуляторов можно увидеть при помощи специального приложения;
- обмен данными на CAN-шинах можно просмотреть при помощи специального приложения; этот обмен записывается во внутренний накопитель.
Таким образом, алгоритм выполняет управление автомобилем, а также регистрацию всех входных и выходных данных, включая видеоданные с камеры (т. е. работает дополнительно как видеорегистратор).
Выводы
Описанное устройство предоставляет расширенные возможности системы помощи водителю. К ним относятся не только вычислительные возможности (высокая производительность, большой объем памяти, а также дополнительные вычислители для оптимального выполнения специальных алгоритмов), но и интерфейсные (поддержка релевантных интерфейсов ввода видео, связи с автомобильными датчиками и системами управления автомобилем). Кроме того, блок оснащен большим количеством дополнительных интерфейсов, которые облегчают задачу разработки, контроля и демонстрации ПО для управления ТС. Было разработано ПО для управления ТС, выполняющее несколько функций системы помощи водителю.
АО «ПКК Миландр» продолжает развитие данного направления – разрабатываются новые, еще более производительные и универсальные устройства для систем помощи водителю, создаются усовершенствованные автомобильные датчики (радары). Расширяются возможности ПО для управления автомобилем не только в направлении увеличения надежности и качества управления ТС, но и расширения функционала системы управления.
Таким образом, АО «ПКК Миландр» участвует в автоматизации задач вождения транспортных средств. В будущем такие разработки разовьются в технологии автономного вождения ТС с минимальным участием водителя, что позволит увеличить доступность транспорта и значительно повысить его безопасность.
Литература
- Ю. Мякочин, М. Бирюков. Миллиметровые радары АО «ПКК Миландр» для применения на автотранспорте и в системах безопасности//Электроника: НТБ. 2019. № 8.
- Ю. Мякочин, М. Бирюков. Автомобильные радары частотных диапазонов 24 и 77 ГГц//Электроника: НТБ. 2018. № 8.
- ГОСТ Р ИСО 15623–2017. Интеллектуальные транспортные системы. Системы предупреждения столкновений с движущимся впереди транспортным средством.