Следующее за маршрутом управление с монокулярным восприятием камеры

Этот пример позволяет вам моделировать совместное воздействие основанного на видении алгоритма восприятия со следующим за маршрутом контроллером.

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

  1. Интегрируйте алгоритм управления Simulink®-based, алгоритм восприятия видения MATLAB®-based и фотореалистическую среду на основе Нереального Engine®

  2. Исследуйте эффекты детектора маршрута на следующем за маршрутом управлении

  3. Исследуйте эффект детектора автомобиля при разрядке управления

Введение

Алгоритмы управления, используемые в автоматизированных ведущих приложениях, часто разрабатываются и тестируются с моделями Simulink на симуляцию с обратной связью. Симуляция с обратной связью включает динамику аппарата моделирования и вероятностные модели датчика в упрощенной виртуальной среде. Для получения дополнительной информации об этом рабочем процессе смотрите, что Маршрут Следует за Управлением с Fusion Датчика и Обнаружением Маршрута. В том примере контроллер разделен как модель - ссылка, которая поддерживает симуляцию и генерацию кода.

Алгоритмы восприятия в автоматизированных ведущих приложениях часто разрабатываются и тестируются с кодом MATLAB с помощью зарегистрированных данных. Например, основанные на видении алгоритмы восприятия часто разрабатываются и тестируются против записанного видео. Для получения дополнительной информации об этом рабочем процессе смотрите, что Визуальное Восприятие Использует Монокулярную Камеру (Automated Driving Toolbox). В том примере зарегистрированное видео используется, чтобы протестировать алгоритм обработки видения, разделенный как класс MATLAB.

Системные инженеры часто хотят исследовать, как комбинация восприятия и алгоритмов регулятора влияет на производительность системы. Чтобы протестировать интегрирование контроллера с основанным на видении алгоритмом восприятия, интеграция с фотореалистической средой симуляции требуется. В этом примере вы включаете симуляцию уровня системы посредством интеграции с Нереальным Engine. 3-D механизм визуализации требует Windows® 64-битная платформа.

if ~ispc
    error('Vehicle Dynamics Blockset 3D visualization engine requires a Windows 64-bit platform');
end

Добавьте папку в качестве примера в путь MATLAB®.

addpath(fullfile(matlabroot,'examples','mpc','main'));

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

rng(0)

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

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

open_system('LaneFollowingWithMonoCameraTestBench')

Тестовая модель интегрирует алгоритм управления путем ссылки на модель LFRefMdl Simulink от Маршрута После Управления с Fusion Датчика и Обнаружения Маршрута. Динамика аппарата также сопоставима с тем примером.

Тестовая модель интегрирует контур маршрута и алгоритм обнаружения автомобиля с помощью блока Vision Perception Algorithm. Блок Vision Perception Algorithm основан на docid:driving_examples#mw_b13b3ce9-9de9-4d94-a014-13a01f2ca568 примере. Главной разницей от примера является сложение функции обертки, monoSensorWrapper.m, который упаковывает выходные данные в шины, требуемые LfRefMdl.

Тестовая модель интегрирует Нереальный Engine с помощью методов, описанных в Опросе Сцены с Примером готовых узлов Камеры и Трассировки лучей (Vehicle Dynamics Blockset), которые включают управление положения автомобиля, оборудованного датчиком и предназначаются для положения автомобиля. Целевое положение автомобиля следует за предопределенным путем. Идеальная камера от Нереального Engine используется в качестве входа к алгоритму восприятия.

Тестовая модель не включает модель датчика для радарных обнаружений. Поэтому блок Zero Radar Detections выводит шину, сопоставимую с нулевыми радарными обнаружениями.

Моделируйте маршрут в соответствии со сценарием

Чтобы видеть эффекты обнаружения маршрута, независимого от поглощения газов автомобиля, отключите целевой автомобиль, затем запустите симуляцию.

set_param('LaneFollowingWithMonoCameraTestBench/Target Vehicle Pose',...
          'EnableTargetVehicle','off')
sim('LaneFollowingWithMonoCameraTestBench')
   Assuming no disturbance added to measured output channel #3.
-->Assuming output disturbance added to measured output channel #2 is integrated white noise.
   Assuming no disturbance added to measured output channel #1.
-->Assuming output disturbance added to measured output channel #4 is integrated white noise.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.

Постройте боковые результаты производительности контроллера.

plotLFLateralResults(logsout)

Для этой симуляции:

  • Обнаруженный график смещений ответвления контура маршрута показывает боковые смещения для обнаруженных левых и правых контуров маршрутов. Обнаруженные значения близко к истине маршрута, который 4 метра шириной.

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

  • Относительный угол отклонения от курса строит относительный угол отклонения от курса между автомобилем, оборудованным датчиком и средней линией маршрута. Относительный угол отклонения от курса очень близко к 0, который подразумевает, что направляющийся угол автомобиля, оборудованного датчиком совпадает с углом отклонения от курса средней линии тесно.

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

Алгоритм восприятия обнаруживает контуры правильного маршрута, и автомобиль, оборудованный датчиком тесно следует за центром маршрута.

Моделируйте маршрут после с разрядкой сценария управления

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

set_param('LaneFollowingWithMonoCameraTestBench/Target Vehicle Pose','EnableTargetVehicle','on')
sim('LaneFollowingWithMonoCameraTestBench')
   Assuming no disturbance added to measured output channel #3.
-->Assuming output disturbance added to measured output channel #2 is integrated white noise.
   Assuming no disturbance added to measured output channel #1.
-->Assuming output disturbance added to measured output channel #4 is integrated white noise.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.

Постройте продольные результаты производительности контроллера.

plotLFLongitudinalResults(logsout,time_gap,default_spacing)

Для этой симуляции:

  • Обнаруженное относительное расстояние, чтобы предназначаться для графика показывает обнаруженное относительное расстояние между целевым ведущим автомобилем и автомобилем, оборудованным датчиком. Обнаруженные значения расстояния являются шумными.

  • Скоростной график показывает скорости автомобиля, оборудованного датчиком и цель. Из-за шума в обнаружении относительного расстояния, обнаруженная ведущая скорость автомобиля является также шумной. Среднее значение обнаруженной ведущей скорости автомобиля около истины, которая составляет 10 м/с. Далее, чтобы поддержать безопасное расстояние между ведущим автомобилем и автомобилем, оборудованным датчиком, контроллер для автомобиля, оборудованного датчиком может следовать за скоростью набора или привести скорость автомобиля.

  • Расстояние между эго и целевым графиком автомобилей показывает расстояние между ведущим автомобилем и автомобилем, оборудованным датчиком. Наиболее часто относительное расстояние больше, чем безопасное расстояние.

  • Ускоряющий график показывает ускорение автомобиля, оборудованного датчиком. Когда относительное расстояние является меньше, чем безопасное расстояние, контроллер замедляет максимум использования, тормозящий (например, от 4 секунд почти до 8 секунд).

Постройте боковые результаты производительности контроллера.

plotLFLateralResults(logsout)

Подобно случаю, когда целевой автомобиль не включен, автомобиль, оборудованный датчиком имеет удовлетворительную боковую производительность. Сложение целевого автомобиля немного влияет на обнаружение контуров маршрута в некоторых условиях. В Обнаруженном графике смещений ответвления контура маршрута скачки в обнаружениях маршрута происходят из-за увеличенного шума при добавлении целевого автомобиля. Учитывая шумные измерения, боковое отклонение (второй график), и относительный угол отклонения от курса (третий график) менее точно сравнительно. Производительность контроллера (нижний график) является удовлетворительной в этом случае также. В реальных приложениях средство отслеживания часто добавляется к обнаружениям маршрута, чтобы компенсировать шум обнаружения.

Заключение

Этот пример показывает, как включить симуляцию уровня системы средств управления и основанных на видении алгоритмов восприятия путем интеграции основанного на Simulink алгоритма управления (использующий эталонную модель) с контуром маршрута и алгоритмом обнаружения автомобиля с помощью блока Vision Perception Algorithm. Пример также исследует эффекты уровня системы объединения этих алгоритмов путем симуляции динамики аппарата и восприятия в фотореалистической среде с помощью Нереального Engine.

Удалите папку в качестве примера из пути MATLAB.

rmpath(fullfile(matlabroot,'examples','mpc','main'));

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

Блоки

Похожие темы