Отслеживайте слияние для приложений безопасности автомобилей в Simulink

В этом примере показано, как выполнить слияние трека/трека в Simulink ® с Sensor Fusion и Tracking Toolbox™. В контексте автономного управления автомобилем пример иллюстрирует, как создать децентрализованную архитектуру отслеживания с использованием блока track fuser. В этом примере каждое транспортное средство выполняет отслеживание независимо, а также информацию слежения за взрывателем, полученную от других транспортных средств. Этот пример внимательно следует примеру Track-to-Track Fusion for Automotive Safety Applications (Sensor Fusion and Tracking Toolbox) MATLAB ®.

Введение

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

Setup и обзор модели

Перед запуском этого примера drivingScenario объект использовался для создания того же сценария, определенного в Track-to-Track Fusion for Automotive Safety Applications (Sensor Fusion and Tracking Toolbox). Дороги и актёры из этого сценария затем были сохранены в файле объекта сценария Scene.mat.

Отслеживание и слияние

В разделе Tracking and Fusion модели существуют две подсистемы, которая реализует возможности отслеживания и слияния целей Vehicle1 и Vehicle2 в этом сценарии.

Vehicle1

Эта подсистема включает блок Scenario Reader (Automated Driving Toolbox), который считывает данные положения актёра из сохраненного файла. Блок преобразует положения актёра из мировых координат сценария в автомобиль , оборудованный датчиком координаты. Положения актёра транслируются по шине, сгенерированной блоком. Положения актёра используются Подсистемой Симуляция, которая генерирует обнаружения радара и зрения. Эти обнаружения затем передаются в JPDA Tracker V1 блок, который обрабатывает обнаружения, чтобы сгенерировать список дорожек. Затем дорожки передаются в Track Concatenation1 блок, который объединяет эти входные дорожки. Первый вход в Track Concatenation1 блок является локальными треками от трекера JPDA, а второй вход - треками, полученными от трек- фузера другого транспортного средства. Чтобы преобразовать локальные дорожки в центральные, фузеру дорожки нужна информация о параметре локальных дорожек. Однако эта информация недоступна с прямых выходов трекера JPDA. Поэтому блок helper Update Pose используется, чтобы предоставить эту информацию путем чтения данных из файла v1Pose.mat. Затем обновленные треки транслируются на T2TF Tracker V1 блок как вход. Наконец, trackFuser (Sensor Fusion and Tracking Toolbox) T2TF Tracker V1 блок запирает локальные дорожки транспортного средства с дорожками, полученными от трек- фьюзера другого транспортного средства. После каждого обновления трек-фьюзер на каждом транспортном средстве транслирует свои слитые дорожки, которые должны быть поданы в обновление трек-фьюзера другого транспортного средства в следующую метку времени.

Vehicle2

Vehicle2 подсистема следует такой же настройке, как Vehicle1 подсистема, как описано выше.

Визуализация

Блок Visualization реализован с помощью блока MATLAB System и определяется с помощью HelperTrackDisplay блок. Блок использует RunTimeObject параметр блоков для отображения их выходов. Смотрите Доступ к Блочным Данным во Время Симуляции (Simulink) для получения дополнительной информации о том, как получить доступ к выходам блоков во время симуляции.

Результаты

После запуска модели вы визуализируете результаты как на рисунке. В анимации ниже показаны результаты для этой симуляции.

Визуализация включает две панели. На левой панели показаны обнаружения, локальные треки и слитые треки, которые Vehicle1 сгенерирован во время симуляции и представляет ситуационную осведомленность Vehicle1. Правая панель показывает ситуационную осведомленность о Vehicle2.

Зарегистрированные обнаружения представлены черными кругами. Локальные и сросшиеся дорожки от Vehicle1 представлены квадратными и алмазными соответственно. Локальные и сросшиеся дорожки от Vehicle2 представлено сплошным чёрным квадратом и бриллиантом. Заметьте, что во время начала симуляции Vehicle1 обнаруживает транспортные средства, припаркованные на правой стороне улицы, и подтверждаются дорожки, связанные с припаркованными транспортными средствами. В настоящее время Vehicle2 обнаруживает только Vehicle1 который находится непосредственно перед ним. Когда симуляция продолжает подтвержденные дорожки от Vehicle1 являются ли трансляции на fuser on Vehicle2. После сплавления дорожек vehicle2 становится известно об объектах до обнаружения этих объектов самостоятельно. Точно так же Vehicle2 треки являются трансляциями в Vehicle1. Vehicle1 предохраняет эти дорожки и становится известно об объектах до обнаружения их самостоятельно.

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

Сводные данные

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