Угловые измерения постоянной угловой скорости вращения прямоугольная цель
Задайте систему координат датчика путем определения sensorParameters входной параметр.
sensorPosition = [-5;10;0]; sensorOrientation = rotmat(quaternion([30 0 0],'eulerd','ZYX','frame'),'frame'); sensorParams = struct('Frame','Rectangular', ... 'OriginPosition',sensorPosition,... 'Orientation',sensorOrientation);
Задайте постоянное состояние угловой скорости вращения для прямоугольной цели.
state = [10;5;1.6;30;0.5;4.7;1.8];
Вычислите угловые положения в системе координат датчика.
corners = ctrectcorners(state,sensorParams);
Настройте среду визуализации с помощью theaterPlot.
% Create a theater plot. tp = theaterPlot; % Plot the state using a track plotter. statePlotter = trackPlotter(tp,'DisplayName','Target State'); % Plot the corners using a detection plotter. cornerPlotter = detectionPlotter(tp,'DisplayName','Corners');
Вычислите входные параметры и график.
targetPos = [state(1) state(2) 0]; targetOrientation = rotmat(quaternion([state(4) 0 0],'eulerd','ZYX','frame'),'frame'); targetDims = struct('Length',state(6),... 'Width',state(7),... 'Height',5,... 'OriginOffset',[0 0 0]); cornerPosGlobal = sensorOrientation*corners(:,:) + sensorPosition; statePlotter.plotTrack(targetPos,targetDims,targetOrientation); cornerPlotter.plotDetection(cornerPosGlobal');

states — Текущие прямоугольные целевые состоянияТекущая прямоугольная цель утверждает в виде 7 N матрицей с действительным знаком, где N является количеством состояний. Семь размерных прямоугольных состояний заданы как [x; y; s; θ; ω; L; W. Значение этих переменных и их модулей:
| Переменная | Значение | Модуль |
| x | Положение прямоугольника сосредотачивается в направлении x | m |
| y | Положение прямоугольника сосредотачивается в направлении y | m |
| s | Скорость в направляющемся направлении | m/s |
| θ | Угол ориентации прямоугольника относительно направления x | градус |
| ω | Угловая скорость вращения | degree/s |
| L | Длина прямоугольника | m |
| W | Ширина прямоугольника | m |

Пример: [1;2;2;30;1;4.7;1.8]
Типы данных: single | double
sensorParameters — Параметры для датчика преобразовывают функциюПараметры для датчика преобразовывают функцию, возвращенную как структура или массив структур. Если только необходимо преобразовать состояние однажды, задайте его как структуру. Если необходимо преобразовать времена n состояния, задайте его как n-by-1 массив структур. Например, чтобы преобразовать состояние из сценария структурируют к системе координат датчика, обычно необходимо сначала преобразовывать состояние из сценария прямоугольная система координат на платформу прямоугольная система координат, и затем преобразовывать состояние с платформы прямоугольная система координат к датчику сферическая система координат.
Поля структуры:
| Поле | Описание |
Frame | Система координат координаты нижестоящего элемента вводит в виде |
OriginPosition | Дочерняя позиция системы координат выражена в родительской системе координат в виде вектора 3 на 1. |
OriginVelocity | Дочерняя скорость системы координат описывается в родительской системе координат в виде вектора 3 на 1. |
Orientation | Относительная ориентация между системами координат в виде 3х3 матрицы вращения. Если |
IsParentToChild | Отметьте, чтобы указать на направление вращения между родительской и дочерней системой координат в виде |
HasAzimuth | Указывает, содержат ли выходные параметры компоненты азимута в виде |
HasElevation | Указывает, содержат ли выходные параметры компоненты вертикального изменения в виде |
HasRange | Указывает, содержат ли выходные параметры компоненты области значений в виде |
HasVelocity | Указывает, содержат ли выходные параметры скоростные компоненты в виде |
Обратите внимание на то, что здесь система координат сценария является родительской системой координат системы координат платформы, и система координат платформы является родительской системой координат системы координат датчика.
Когда frame 'Rectangular', HasVelocity определяет, возвращено ли измерение в форме [x; y; z; v x; v y; v z] или [x; y; z.
Когда frame 'spherical', возвращенные измерения находятся в порядке [азимут, вертикальное изменение, область значений, уровень области значений]. Элементы возвращенных измерений определяются:
HasAzimuth — Определяет, содержит ли выведенный измерение азимута.
HasElevation — Определяет, содержит ли выведенный измерение вертикального изменения.
HasRange — Определяет, содержит ли выведенный измерение области значений.
HasVelocity — Определяет, содержит ли выведенный измерение уровня области значений при условии, что HasRange 'true'. Если HasRange 'false', возвращенное измерение не содержит уровень области значений (даже при том, что HasVelocity 'true').
Типы данных: struct
zCorners — Состояния угловСостояния углов, возвращенных как M с действительным знаком-by-N-by-4 массив. Каждая страница (M-by-N матрица) массива соответствует одному углу для всех состояний, данных во входе состояний. N является количеством состояний. M является размерностью выхода, заданного sensorParameters входной параметр. Если незаданный, значение по умолчанию M равняется трем, которые соответствуют 3-D Декартовым координатам положения.
gmphd | trackerPHD | ctrect | ctrectmeas | ctrectmeasjac | ctrectjac | initctrectgmphd
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.