Функция измерения для движения постоянного ускорения
возвращает измерение, для модели движения Фильтра Калмана постоянного ускорения в прямоугольных координатах. measurement
= cameas(state
)state
аргумент задает текущее состояние фильтра.
также задает систему координат измерения, measurement
= cameas(state
,frame
)frame
.
также задает положение датчика, measurement
= cameas(state
,frame
,sensorpos
)sensorpos
.
также задает скорость датчика, measurement
= cameas(state
,frame
,sensorpos
,sensorvel
)sensorvel
.
задает параметры измерения, measurement
= cameas(state
,measurementParameters
)measurementParameters
.
Задайте состояние объекта в 2D движении постоянного ускорения. Состояние является положением, скоростью и ускорением в обеих размерностях. Измерения находятся в прямоугольных координатах.
state = [1,10,3,2,20,0.5].'; measurement = cameas(state)
measurement = 3×1
1
2
0
Измерение возвращено в трех измерениях с обнуленным z-компонентом.
Задайте состояние объекта в 2D движении постоянного ускорения. Состояние является положением, скоростью и ускорением в обеих размерностях. Измерения находятся в сферических координатах.
state = [1,10,3,2,20,5].';
measurement = cameas(state,'spherical')
measurement = 4×1
63.4349
0
2.2361
22.3607
Вертикальное изменение измерения является нулем, и уровень области значений положителен. Эти результаты показывают, что объект переезжает от датчика.
Задайте состояние объекта, перемещающегося в 2D движение постоянного ускорения. Состояние состоит из положения, скорости и ускорения в каждой размерности. Измерения находятся в сферических координатах относительно системы координат, расположенной в (20; 40; 0) метры от источника.
state = [1,10,3,2,20,5].';
measurement = cameas(state,'spherical',[20;40;0])
measurement = 4×1
-116.5651
0
42.4853
-22.3607
Вертикальное изменение измерения является нулем, и уровень области значений является отрицательным указанием, что объект перемещается к датчику.
Задайте состояние объекта, перемещающегося в 2D движение постоянного ускорения. Состояние состоит из положения, скорости и ускорения в каждой размерности. Измерения находятся в сферических координатах относительно системы координат, расположенной в (20; 40; 0) метры от источника.
state2d = [1,10,3,2,20,5].';
Вертикальное изменение измерения является нулем, и уровень области значений является отрицательным указанием, что объект перемещается к датчику.
frame = 'spherical'; sensorpos = [20;40;0]; sensorvel = [0;5;0]; laxes = eye(3); measurement = cameas(state2d,'spherical',sensorpos,sensorvel,laxes)
measurement = 4×1
-116.5651
0
42.4853
-17.8885
Вертикальное изменение измерения является нулем, и уровень области значений отрицателен. Эти результаты показывают, что объект перемещается к датчику.
Поместите параметры измерения в структуру и используйте альтернативный синтаксис.
measparm = struct('Frame',frame,'OriginPosition',sensorpos,'OriginVelocity',sensorvel, ... 'Orientation',laxes); measurement = cameas(state2d,measparm)
measurement = 4×1
-116.5651
0
42.4853
-17.8885
state
— Вектор состояния фильтра КалманаВектор состояния фильтра Калмана для движения постоянного ускорения в виде 3N с действительным знаком - вектор элемента. N является количеством пространственных степеней свободы движения. Для каждой пространственной степени движения вектор состояния принимает форму, показанную в этой таблице.
Пространственные размерности | Структура вектора состояния |
---|---|
1D | [x;vx;ax] |
2D | [x;vx;ax;y;vy;ay] |
3-D | [x;vx;ax;y;vy;ay;z;vz;az] |
Например, x
представляет x - координата, vx
представляет скорость в x - направление и ax
представляет ускорение в x - направление. Если модель движения находится на одномерном пробеле, y - и z - оси приняты, чтобы быть нулем. Если модель движения находится в двумерном пространстве, значениях вдоль z - ось принята, чтобы быть нулем. Координаты положения исчисляются в метрах. Скоростные координаты находятся в метрах/секунда. Ускоряющие координаты находятся в meters/second2.
Пример: [5;0.1;0.01;0;-0.2;-0.01;-3;0.05;0]
Типы данных: double
frame
— Measurement система координат выхода'rectangular'
(значение по умолчанию) | 'spherical'
Measurement система координат выхода в виде 'rectangular'
или 'spherical'
. Когда системой координат является 'rectangular'
, измерение состоит из x, y и Декартовых координат z. Когда задано как 'spherical'
, измерение состоит из азимута, вертикального изменения, области значений и уровня области значений.
Типы данных: char
sensorpos
— Положение датчика
(значение по умолчанию) | вектор-столбец 3 на 1 с действительным знакомПоложение датчика относительно навигации структурирует в виде вектор-столбца 3 на 1 с действительным знаком. Модули исчисляются в метрах.
Типы данных: double
sensorvel
— Скорость датчика
(значение по умолчанию) | вектор-столбец 3 на 1 с действительным знакомСкорость датчика относительно навигации структурирует в виде вектор-столбца 3 на 1 с действительным знаком. Модули находятся в m/s.
Типы данных: double
laxes
— Локальные оси координат датчика
(значение по умолчанию) | 3х3 ортогональная матрицаЛокальные оси координат датчика в виде 3х3 ортогональной матрицы. Каждый столбец задает направление локального x - y - и z - оси, соответственно, относительно системы координат навигации. Таким образом, матрица является матрицей вращения от глобальной системы координат до системы координат датчика.
Типы данных: double
measurementParameters
— Параметры измеренияПараметры измерения в виде структуры или массива структур. Поля структуры:
Поле | Описание | Пример |
---|---|---|
Frame | Система координат раньше сообщала об измерениях в виде одного из этих значений:
| 'spherical' |
OriginPosition | Смещение положения источника системы координат относительно родительской системы координат в виде [x y z] вектор с действительным знаком. | [0 0 0]
|
OriginVelocity | Скоростное смещение источника системы координат относительно родительской системы координат в виде [vx vy vz] вектор с действительным знаком. | [0 0 0]
|
Orientation | Структурируйте матрицу вращения в виде 3х3 ортонормированной матрицы с действительным знаком. | [1 0 0; 0 1 0; 0 0 1]
|
HasAzimuth | Логический скаляр, указывающий, включен ли азимут в измерение. | 1
|
HasElevation | Логический скаляр, указывающий, включено ли вертикальное изменение в измерение. Для измерений, о которых сообщают в прямоугольной системе координат, и если HasElevation является ложным, измерения, о которых сообщают, принимают 0 градусов вертикального изменения. | 1
|
HasRange | Логический скаляр, указывающий, включена ли область значений в измерение. | 1
|
HasVelocity | Логический скаляр, указывающий, включают ли обнаружения, о которых сообщают, скоростные измерения. Для измерений, о которых сообщают в прямоугольной системе координат, если HasVelocity является ложным, об измерениях сообщают как [x y z] . Если HasVelocity true , об измерениях сообщают как [x y z vx vy vz] . | 1
|
IsParentToChild | Логический скаляр, указывающий, если Orientation выполняет вращение системы координат от системы координат координаты вышестоящего элемента до системы координат координаты нижестоящего элемента. Когда IsParentToChild false , затем Orientation выполняет вращение системы координат от системы координат координаты нижестоящего элемента до системы координат координаты вышестоящего элемента. | 0
|
Если вы только хотите выполнить одно координатное преобразование, такое как преобразование от системы координат тела до системы координат датчика, только необходимо задать структуру параметра измерения. Если вы хотите выполнить несколько координатных преобразований, необходимо задать массив структур параметра измерения. Чтобы изучить, как выполнить несколько преобразований, смотрите Обнаружения Преобразования к objectDetection примеру Формата.
Типы данных: struct
measurement
— Вектор измеренияВектор измерения, возвращенный как N-by-1 вектор-столбец. Форма измерения зависит, на который синтаксис вы используете.
Когда синтаксис не использует measurementParameters
аргумент, вектором измерения является [x,y,z]
когда frame
входной параметр установлен в 'rectangular'
и [az;el;r;rr]
когда frame
установлен в 'spherical'
.
Когда синтаксис использует measurementParameters
аргумент, размер вектора измерения зависит от значений frame
, HasVelocity
, и HasElevation
поля в measurementParameters
структура.
система координат | измерение | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
'spherical' | Задает угол азимута, az, угол возвышения, el, область значений, r, и уровень области значений, rr, объекта относительно локальной системы координат автомобиля, оборудованного датчиком. Положительные значения для уровня области значений указывают, что объект переезжает от датчика. Сферические измерения
Угловые модули в градусах, модули области значений исчисляются в метрах, и модули уровня области значений находятся в m/s. | |||||||||||||||
'rectangular | Задает Декартовы координаты положения и скорости отслеживаемого объекта относительно системы координат автомобиля, оборудованного датчиком. Прямоугольные измерения
Модули положения исчисляются в метрах, и скоростные единицы находятся в m/s. |
Типы данных: double
Задайте азимут и углы возвышения, используемые в тулбоксе.
azimuth angle вектора является углом между x - ось и ее ортогональной проекцией на плоскость xy. Угол положителен в движении от оси x к оси y. Углы азимута находятся между –180 и 180 градусами. elevation angle является углом между вектором и его ортогональной проекцией на xy - плоскость. Угол положителен при движении к положительному z - ось от плоскости xy.
cameasjac
| constacc
| constaccjac
| constturn
| constturnjac
| constvel
| constveljac
| ctmeas
| ctmeasjac
| cvmeas
| cvmeasjac
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.