В этом примере показано, как выполнить сплав от дорожки к дорожке в Simulink® с Sensor Fusion and Tracking Toolbox™. В контексте автономного управления автомобилем пример иллюстрирует, как создать децентрализованную архитектуру отслеживания с помощью блока термофиксатора дорожки. В примере каждое транспортное средство выполняет отслеживание независимо, а также информацию об отслеживании предохранителя, полученную от других транспортных средств. Этот пример сопровождает Fusion От дорожки к дорожке для Автомобильного примера Safety Applications MATLAB®.
Автомобильные приложения безопасности в основном используют ситуативную осведомленность о транспортном средстве. Лучшая ситуативная осведомленность предоставляет базис успешному принятию решений для различных ситуаций. Чтобы достигнуть этого, транспортные средства могут извлечь выгоду из сплава данных о межтранспортном средстве. Этот пример иллюстрирует рабочий процесс в Simulink для того, чтобы объединить данные от двух транспортных средств, чтобы улучшить ситуативную осведомленность о транспортном средстве.
До выполнения этого примера, drivingScenario
объект использовался, чтобы создать тот же сценарий, заданный в Fusion От дорожки к дорожке для Автомобильных Приложений Безопасности. Дороги и агенты из этого сценария были затем сохранены в объектный файл сценария TrackToTrackFusionScenario.mat
.
В разделе Tracking и Fusion модели существует две подсистемы, который реализует целевые возможности отслеживания и сплава Vehicle1
и Vehicle2
в этом сценарии.
Vehicle1
Эта подсистема включает блок Scenario Reader (Automated Driving Toolbox), который считывает данные о положении агента из сохраненного файла. Блок преобразует положения агента от мировых координат сценария в координаты автомобиля, оборудованного датчиком. Положения агента передаются потоком на шине, сгенерированной блоком. Положения агента используются подсистемой Симуляции Датчика, которая генерирует обнаружения видения и радар. Эти обнаружения затем передаются JPDA Tracker V1
блокируйтесь, который обрабатывает обнаружения, чтобы сгенерировать список дорожек. Дорожки затем передаются в Track Concatenation1
блокируйтесь, который конкатенирует эти входные дорожки. Первый вход к Track Concatenation1
блок является локальными дорожками от средства отслеживания JPDA, и второй вход является дорожками, полученными от термофиксатора дорожки другого транспортного средства. Чтобы преобразовать локальные дорожки к центральным дорожкам, термофиксатору дорожки нужна информация о параметре о локальных дорожках. Однако эта информация не доступна от прямых выходных параметров средства отслеживания JPDA. Поэтому блок Update Pose помощника используется, чтобы предоставить их информация путем чтения данных из v1Pose.mat файла. Обновленные дорожки затем широковещательно переданы к T2TF Tracker V1
блокируйтесь как вход. Наконец, trackFuser
T2TF Tracker V1
блок плавит локальные дорожки транспортного средства с дорожками, полученными от термофиксатора дорожки другого транспортного средства. После каждого обновления термофиксатор дорожки на каждом транспортном средстве широковещательно передает свои сплавленные дорожки, которые будут поданы в обновление термофиксатора дорожки другого транспортного средства в следующей метке времени.
Vehicle2
Vehicle2
подсистема следует за подобной настройкой как за Vehicle1
подсистема, аналогичная описанному выше.
Визуализация
Блок Visualization реализован с помощью блока MATLAB System и задан с помощью HelperTrackDisplay
блок. Блок использует RunTimeObject
параметр блоков, чтобы отобразить их выводы. Смотрите доступ к Данным о Блоке В процессе моделирования (Simulink) для получения дополнительной информации о том, как получить доступ, блокируют выходные параметры в процессе моделирования.
После выполнения модели вы визуализируете результаты как на фигуре. Анимация ниже показов результаты для этой симуляции.
Визуализация включает две панели. Левые телевикторины обнаружения, локальные дорожки и сплавленные дорожки, что Vehicle1
сгенерированный во время симуляции и представляет ситуативную осведомленность о Vehicle1
. Правильные телевикторины ситуативная осведомленность о Vehicle2
.
Записанные обнаружения представлены черными кругами. Локальные и сплавленные дорожки от Vehicle1
представлены квадратом и ромбом соответственно. Локальные и сплавленные дорожки от Vehicle2
представленный чистым черным квадратом и ромбом. Заметьте, что во время запуска симуляции, Vehicle1
обнаруживает транспортные средства, припаркованные на правой стороне улицы, и отслеживает сопоставленный с припаркованными транспортными средствами, подтверждены. В настоящее время Vehicle2
только обнаруживает Vehicle1
который сразу является перед ним. Когда симуляция продолжает подтвержденные дорожки от Vehicle1
широковещательные сообщения к термофиксатору на Vehicle2
. После плавления дорожек, vehicle2
узнает объекты до обнаружения этих объектов самостоятельно. Точно так же Vehicle2
дорожки являются широковещательными сообщениями к Vehicle1
. Vehicle1
предохранители эти дорожки и узнают объекты до обнаружения их самостоятельно.
В частности, вы замечаете, что пешеход, стоящий между сине-фиолетовым автомобилем на правой стороне улицы, обнаружен и прослежен Vehicle1
. Vehicle2
сначала узнает пешехода путем плавления дорожки от Vehicle1
приблизительно в 0,8 секунды. Это берет Vehicle2
примерно за 3 секунды до того, как это начинает обнаруживать пешехода, использующего его собственный датчик. Способность отследить пешехода на основе входных параметров от Vehicle1
позволяет Vehicle2
расширять его ситуативную осведомленность и снижать риск несчастного случая.
Этот пример показал, как выполнить сплав от дорожки к дорожке в Simulink. Вы изучили, как выполнить отслеживание с помощью децентрализованной архитектуры отслеживания, где каждое транспортное средство ответственно за поддержание его собственных локальных дорожек, дорожек предохранителя от других транспортных средств, и передайте дорожки к другому транспортному средству. Вы также использовали блок средства отслеживания JPDA, чтобы сгенерировать локальные дорожки.