Автономное экстренное торможение с cочетанием датчиков

В этом примере показано, как реализовать автономное экстренное торможение (AEB) с алгоритмом cочетания датчиков при помощи Automated Driving Toolbox.

В этом примере, вас:

  1. Интегрируйте Simulink® и Stateflow® базирующийся контроллер AEB, алгоритм cочетания датчиков, динамика автомобиля, оборудованного датчиком, ведущее средство чтения сценария, и радар и генераторы обнаружения видения.

  2. Протестируйте систему AEB в модели Simulink с обратной связью с помощью ряда сценариев тестирования, созданных приложением Driving Scenario Designer

  3. Сконфигурируйте настройки генерации кода для программного обеспечения в симуляции цикла, и автоматически сгенерируйте код С для алгоритма управления.

Введение

Автономное экстренное торможение (AEB) является усовершенствованной активной системой безопасности, которая помогает драйверам избежать или смягчить столкновения с другими транспортными средствами или уязвимыми водителями. Системы AEB повышают уровень безопасности:

  1. Предотвращение несчастных случаев путем идентификации критических ситуаций рано и предупреждения драйвера.

  2. Сокращение серьезности неизбежных катастрофических отказов путем понижения скорости столкновения. В некоторых случаях системы AEB готовят транспортное средство и системы сдержанности для удара [1].

Европейская Новая Автомобильная Программа Оценки (Евро NCAP) включала город AEB и междугородную систему в ее оценке безопасности от 2 014. Евро NCAP продолжает продвигать системы AEB для защиты уязвимых водителей, таких как пешеходы и велосипедисты.

Сегодняшние системы AEB в основном используют радар и датчики видения, чтобы идентифицировать потенциальных партнеров по столкновению перед автомобилем, оборудованным датчиком. Несколько датчиков часто требуются для точных, надежных, и устойчивых обнаружений при минимизации ложных положительных сторон. Именно поэтому технология cочетания датчиков играет важную роль для системы AEB.

Обзор модели Simulink для испытательного стенда AEB

Добавьте папку в качестве примера в путь поиска файлов MATLAB®. Затем откройте основную модель Simulink, используемую в этом примере.

После загрузки модель Simulink выполняет функцию обратного вызова, helperAEBSetUp, создать сценарий симуляции с дорогой и несколькими агентами, перемещающимися на дороге.

Можно также запустить функцию обратного вызова путем нажатия на Run Setup Script от верхнего уровня модели. Чтобы изменить используемый сценарий по умолчанию, задайте один из этих сценариев как вход к helperAEBSetup функция:

'AEB_CCRs_100overlap'
'AEB_CCRm_100overlap'
'AEB_CCRb_2_initialGap_12m_stop_inf'
'AEB_CCRb_6_initialGap_40m_stop_inf'
'AEB_PedestrianChild_Nearside_50width_overrun'

Откройте модель, которая симулирует пешеходный сценарий столкновения.

open_system('AEBTestBenchExample')

Модель состоит из двух основных подсистем:

  1. AEB с Cочетанием датчиков, которое содержит алгоритм cочетания датчиков и контроллер AEB.

  2. Транспортное средство и Среда, которая моделирует динамику автомобиля, оборудованного датчиком и среду. Это включает ведущее средство чтения сценария и радар и генераторы обнаружения видения. Эти блоки обеспечивают синтетические данные о датчике для объектов.

Чтобы построить синтетические обнаружения датчика, отслеживаемые объекты и достоверные данные, используют Bird ' s-Eye Scope. Bird ' s-Eye Scope является инструментом визуализации уровня модели, который можно открыть из панели инструментов модели Simulink. На вкладке Simulation, рассматриваемых Результатах, нажимают Bird's-Eye Scope. После открытия осциллографа нажмите Find Signals, чтобы настроить сигналы. Панель Инструментальной панели отображает скорость автомобиля, оборудованного датчиком, ускорение и состояние контроллеров прямого предупреждения столкновения (FCW) и автономного экстренного торможения (AEB).

Контроллер AEB с cочетанием датчиков

Откройте контроллер AEB с подсистемой Cочетания датчиков.

open_system('AEBTestBenchExample/AEB with Sensor Fusion')

Эта подсистема содержит отслеживание и алгоритм cочетания датчиков и скорость и контроллеры AEB.

  • Видение процессов подсистемы Отслеживания и Cочетания датчиков и радарные обнаружения, прибывающие из подсистемы Транспортного средства и Среды и, генерируют положение и скорость дорожки самого важного объекта (MIO) относительно автомобиля, оборудованного датчиком.

  • Подсистема контроллера Скорости делает перемещение автомобиля, оборудованного датчиком при скорости набора драйвера при помощи контроллера пропорционального интеграла (PI).

  • Подсистема Робота Акселератора выпускает акселератор транспортного средства, когда AEB активируется.

  • Подсистема контроллера AEB реализует прямое предупреждение столкновения (FCW) и алгоритм управления AEB на основе останавливающегося подхода вычисления времени.

Остановка времени относится ко времени от того, когда автомобиль, оборудованный датчиком сначала применяет свои тормоза с замедлением$a_{brake}$, к когда дело доходит до полной остановки. Остановка времени может быть получена следующим уравнением:

$$\tau_{stop}=v_{ego}/a_{brake}$$

Система FCW предупреждает драйвер неизбежного столкновения с ведущим транспортным средством. Драйвер, как ожидают, будет реагировать на предупреждение и применять тормоз со временем задержки$\tau_{react}$.

Общее время прохождения автомобиля, оборудованного датчиком прежде, чем столкнуться с ведущим транспортным средством может быть описано:

$$\tau_{FCW}=\tau_{react}+\tau_{stop}=\tau_{react}+v_{ego}/a_{driver} $$

Когда время к столкновению (TTC) ведущего транспортного средства становится меньше, чем$\tau_{FCW}$, предупреждение FCW активируется.

Если драйверу не удается нажать на тормоза вовремя, такой как из-за отвлекающих факторов, системных действий AEB независимо от драйвера, чтобы избежать или смягчить столкновение. Системы AEB обычно применяют расположенное каскадом торможение, которое состоит из многоступенчатого частичного торможения, сопровождаемого полным торможением [2].

Откройте Подсистему контроллера AEB.

open_system('AEBWithSensorFusionMdlRef/AEB Controller')

Контроллер AEB состоит из нескольких функциональных блоков:

  • TTCCalculation, который вычисляет TTC использование относительного расстояния и скорости ведущего транспортного средства или самого важного объекта

  • StoppingTimeCalculation, который вычисляет останавливающиеся времена для FCW, сначала - и второе этапное частичное торможение (PB) и полное торможение (FB), соответственно

  • AEB_Logic, который является конечным автоматом, сравнивающим TTC с останавливающимися временами, чтобы определить FCW и активации AEB.

Транспортное средство и среда

Откройте подсистему Транспортного средства и Среды.

open_system('AEBTestBenchExample/Vehicle and Environment')

  • Подсистема Динамики аппарата моделирует динамику автомобиля, оборудованного датчиком с блоком Vehicle Body 3DOF (Vehicle Dynamics Blockset) Single Track из Vehicle Dynamics Blockset.

  • Драйвер, Регулирующий Подсистему модели, генерирует руководящий угол драйвера, чтобы сохранить автомобиль, оборудованный датчиком в его маршруте и идти по кривой дороге, заданной искривлением, K.

  • Подсистема Симуляции Агента и Датчика генерирует синтетические данные о датчике, требуемые для отслеживания и cочетания датчиков.

Имя сценария является функцией сценария, созданной Driving Scenario Designer.

[scenario,egoVehicle] = <scenarioName>;

Функция сценария выводит drivingScenario объект.

Блок Scenario Reader считывает данные о положениях агента из объекта сценария. Блок преобразует положения агента от мировых координат сценария в координаты автомобиля, оборудованного датчиком. Положения агента передаются потоком на шине, сгенерированной блоком. Блок Vision Detection Generator и блок Radar Detection Generator синтезируют видение и радарные обнаружения для целевых агентов соответственно.

Протестируйте систему AEB на основе евро тестовый протокол NCAP

Европейский NCAP предлагает ряд тестовых протоколов, которые проверяют производительность систем AEB в сценариях уязвимых водителей (VRU) и задней части от автомобиля к автомобилю (CCR).

  • Евро NCAP AEB - Задняя часть От автомобиля к автомобилю тестирует протокол [3]

  • Евро NCAP AEB - Уязвимый тестовый протокол [4] Водителя

Automated Driving Toolbox предоставляет предварительно созданные ведущие сценарии согласно Евро тестовые протоколы NCAP для системы AEB. Можно рассмотреть предварительно созданные сценарии с помощью Driving Scenario Designer.

Модель AEB Simulink читает ведущий файл сценария и запускает симуляцию.

Симулируйте модель в течение 0,1 секунд.

sim('AEBTestBenchExample','StopTime','0.1'); % Simulate 0.1 seconds

Bird ' s-Eye Scope показывает достоверные данные транспортных средств и дочернего пешехода. Это также показывает радарные обнаружения, обнаружения видения и объекты, прослеженные мультиобъектным средством отслеживания. Во времени симуляции 0,1 секунд видению и радарным датчикам не удается обнаружить дочернего пешехода, когда это затруднено транспортными средствами.

Симулируйте модель в течение 3,8 секунд.

sim('AEBTestBenchExample','StopTime','3.8'); % Simulate 3.8 seconds

Bird ' s-Eye Scope во времени симуляции 3,8 секунд показывает, что cочетание датчиков и алгоритм отслеживания обнаружили дочернего пешехода как самый важный объект и что система AEB нажала на тормоза, чтобы избежать столкновения.

Панель инструментальной панели, отображенная наряду с Bird ' s-Eye Scope, показала, что система AEB применила каскадный тормоз, и автомобиль, оборудованный датчиком остановился прямо перед столкновением. Цвет состояния AEB указывает на уровень активации AEB.

  • Серый - Никакой AEB не активируется.

  • Желтый - Первая стадия частичный тормоз активируется.

  • Оранжевый - Второй этап частичный тормоз активируется.

  • Красный - Полный тормоз активируется.

Завершите симуляцию полностью в конец, чтобы собрать результаты.

sim('AEBTestBenchExample'); % Simulate to end of scenario

Просмотрите результаты симуляции.

helperPlotAEBResults(logsout);

  • Первый график (TTC по сравнению с Останавливающимся Временем) показывает сравнение между временем к столкновению (TTC) и останавливающимися временами для FCW, первая стадия частичный тормоз, второй этап частичный тормоз и полный тормоз соответственно.

  • Второй график показывает, как конечный автомат AEB определяет активации для FCW, и AEB на основе сравнения следует из первого графика.

  • Третий график показывает скорость автомобиля, оборудованного датчиком.

  • Четвертый график показывает ускорение автомобиля, оборудованного датчиком.

  • Пятый график показывает прогресс между автомобилем, оборудованным датчиком и MIO.

За первые 2 секунды автомобиль, оборудованный датчиком убыстряется, чтобы достигнуть скорости набора. В 2,3 секунды алгоритм cочетания датчиков начинает обнаруживать дочернего пешехода. Сразу после обнаружения, FCW активируется.

В 2,4 секунды применяется первая стадия частичного тормоза, и автомобиль, оборудованный датчиком начинает замедляться. Второй этап частичного тормоза снова применяется в 2,5 секунды.

Когда автомобиль, оборудованный датчиком наконец останавливается в 3,9 секунды, прогресс между автомобилем, оборудованным датчиком и дочерним пешеходом составляет приблизительно 2,4 метра. Система AEB сделала полное предотвращение столкновения в этом сценарии.

Сгенерируйте код для алгоритма управления

AEBWithSensorFusionMdlRef модель сконфигурирована, чтобы поддержать генерирующийся код С с помощью программного обеспечения Embedded Coder®. Чтобы проверять, есть ли у вас доступ к Embedded Coder, запуску:

hasEmbeddedCoderLicense = license('checkout','RTW_Embedded_Coder')

Можно сгенерировать функцию C для модели и исследовать отчет генерации кода путем выполнения:

if hasEmbeddedCoderLicense
    rtwbuild('AEBWithSensorFusionMdlRef')
end

Можно проверить, что скомпилированный код С ведет себя, как ожидается использование программного обеспечения в цикле (SIL) симуляция. Симулировать ACCWithSensorFusionMdlRef модель, на которую ссылаются, в режиме SIL, используйте:

if hasEmbeddedCoderLicense
    set_param('AEBTestBenchExample/AEB with Sensor Fusion',...
        'SimulationMode','Software-in-the-loop (SIL)')
end

Когда вы запускаете AEBTestBenchExample модель, код сгенерирован, скомпилирован и выполнен для AEBWithSensorFusionMdlRef модель. Это позволяет вам протестировать поведение скомпилированного кода посредством симуляции.

Заключение

В этом примере вы реализовали систему AEB с моделью Simulink с обратной связью. Модель состояла из Simulink и Stateflow базирующийся контроллер AEB, алгоритм cочетания датчиков, динамика автомобиля, оборудованного датчиком, ведущее средство чтения сценария и радар и генераторы обнаружения видения.

Вы протестировали систему AEB с помощью ряда сценариев тестирования, созданных Driving Scenario Designer.

Можно теперь протестировать систему AEB с другим Евро сценарии тестирования NCAP для AEB. К ним можно получить доступ от Driving Scenario Designer.

Ссылки

[1] Евро NCAP | европейская новая автомобильная программа оценки. Евро NCAP

[2] В. Хулсхоф, и др., "Автономные Результаты испытаний Экстренного торможения", 23-я Международная Техническая Конференция по Расширенной Безопасности Транспортных средств (ESV), Бумага Номер 13-0168, 2013

[3] Евро Тестовый Протокол NCAP - системы AEB, ver. 2.0.1, ноябрь 2017.

[4] Евро Тестовый Протокол NCAP - системы AEB VRU, ver. 2.0.2, ноябрь 2017.

Смотрите также

Приложения

Блоки

Объекты

Похожие темы