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