exponenta event banner

fusecovint

Ковариационное слияние с использованием ковариационного пересечения

Описание

пример

[fusedState,fusedCov] = fusecovint(trackState,trackCov) предохраняет состояния дорожки в trackState и соответствующие им ковариационные матрицы trackCov. Функция вычисляет конденсированное состояние и ковариацию как пересечение отдельных ковариаций. Он создает выпуклую комбинацию ковариаций и находит веса, которые минимизируют определитель конденсированной ковариационной матрицы.

пример

[fusedState,fusedCov] = fusecovint(trackState,trackCov,minProp) оценивает конденсированную ковариацию путем минимизации minProp, который может быть либо определителем, либо следом конденсированной ковариационной матрицы.

Примеры

свернуть все

Определите вектор состояния дорожек.

x(:,1) = [1;2;0];
x(:,2) = [2;2;0];
x(:,3) = [2;3;0];

Определите ковариационные матрицы дорожек.

p(:,:,1) = [10 5 0; 5 10 0; 0 0 1];
p(:,:,2) = [10 -5 0; -5 10 0; 0 0 1]; 
p(:,:,3) = [12 9 0; 9 12 0; 0 0 1]; 

Оцените вектор слитого состояния и его ковариацию.

[fusedState,fusedCov] = fusecovint(x,p);

Использовать trackPlotter для построения графика результатов.

tPlotter = theaterPlot('XLim',[-10 10],'YLim',[-10 10],'ZLim',[-10 10]);
tPlotter1 = trackPlotter(tPlotter, ...
    'DisplayName','Input Tracks','MarkerEdgeColor',[0.000 0.447 0.741]);
tPlotter2 = trackPlotter(tPlotter,'DisplayName', ...
    'Fused Track','MarkerEdgeColor',[0.850 0.325 0.098]);
plotTrack(tPlotter1,x',p)
plotTrack(tPlotter2,fusedState',fusedCov)
title('Covariance Intersection Fusion')

Figure contains an axes. The axes with title Covariance Intersection Fusion contains 2 objects of type line. These objects represent Input Tracks, Fused Track.

Определите вектор состояния дорожек.

x(:,1) = [1;2;0];
x(:,2) = [2;2;0];
x(:,3) = [2;3;0];

Определите ковариационные матрицы дорожек.

p(:,:,1) = [10 5 0; 5 10 0; 0 0 1];
p(:,:,2) = [10 -5 0; -5 10 0; 0 0 1]; 
p(:,:,3) = [12 9 0; 9 12 0; 0 0 1]; 

Оцените вектор слитого состояния и его ковариацию. Объедините исходные ковариации так, чтобы след конденсированной ковариационной матрицы был сведен к минимуму.

[fusedState,fusedCov] = fusecovint(x,p,'trace');

Использовать trackPlotter для построения графика результатов.

tPlotter = theaterPlot('XLim',[-10 10],'YLim',[-10 10],'ZLim',[-10 10]);
tPlotter1 = trackPlotter(tPlotter, ...
    'DisplayName','Input Tracks','MarkerEdgeColor',[0.000 0.447 0.741]);
tPlotter2 = trackPlotter(tPlotter, ...
    'DisplayName','Fused Track','MarkerEdgeColor',[0.850 0.325 0.098]);
plotTrack(tPlotter1,x',p)
plotTrack(tPlotter2,fusedState',fusedCov)
title('Covariance Intersection Fusion')

Figure contains an axes. The axes with title Covariance Intersection Fusion contains 2 objects of type line. These objects represent Input Tracks, Fused Track.

Входные аргументы

свернуть все

Состояния дорожек, указанные как матрица N-на-М, где N - размерность состояния, а M - количество дорожек.

Типы данных: single | double

Ковариационные матрицы дорожек, заданные как массив N-на-N-на-М, где N - размерность состояния, а M - количество дорожек.

Типы данных: single | double

Свойство для минимизации при оценке конденсированной ковариации, указанное как 'det' или 'trace'.

.

Типы данных: char | string

Выходные аргументы

свернуть все

Слитое состояние, возвращаемое как вектор N-by-1, где N - размерность состояния.

Конденсированная ковариационная матрица, возвращаемая как матрица N-на-N, где N - размерность состояния.

Ссылки

[1] Матцка, Стефан и Ричард Альтендорфер. «Сравнение алгоритмов слияния дорожек и дорожек для слияния автомобильных сенсоров». В документе Multisensor Fusion and Integration for Intelligent Systems, стр. 69-81. Спрингер, Берлин, Гейдельберг, 2009.

[2] Жюлье, Саймон и Джеффри К. Ульманн. «Общее децентрализованное слияние данных с ковариационным пересечением». В Handbook of multisensor data fusion, pp. 339-364. КПР Пресс, 2017.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

|

Представлен в R2018b