Получение положения геодезической траектории на определенное время
[
возвращает информацию о положении траектории путевой точки в заданные шаги расчета. Если любой шаг расчета превышает длительность траектории, соответствующая информация о положении возвращается следующим position
,orientation
,velocity
,acceleration
,angularVelocity
,ecef2ref
] = lookupPose(traj
,sampleTimes
)NaN
.
[___] = lookupPose(
дополнительно позволяет вам задать формат traj
,sampleTimes
,coordinateSystem
)position
выход.
geoTrajectory
и посмотрите вверх положениеСоздайте geoTrajectory
с начальным LLA в [15 15 0] и конечным LLA в [75 75 100]. Установите время рейса на десять часов. Дискретизируйте траекторию каждые 1000 секунд.
startLLA = [15 15 0];
endLLA = [75 75 100];
timeOfTravel = [0 3600*10];
sampleRate = 0.001;
trajectory = geoTrajectory([startLLA;endLLA],timeOfTravel,'SampleRate',sampleRate);
Вывод путевых точек LLA траектории.
positionsLLA = startLLA; while ~isDone(trajectory) positionsLLA = [positionsLLA;trajectory()]; end positionsLLA
positionsLLA = 37×3
15.0000 15.0000 0
16.6667 16.6667 2.7778
18.3333 18.3333 5.5556
20.0000 20.0000 8.3333
21.6667 21.6667 11.1111
23.3333 23.3333 13.8889
25.0000 25.0000 16.6667
26.6667 26.6667 19.4444
28.3333 28.3333 22.2222
30.0000 30.0000 25.0000
⋮
Проверьте Декартовы точки пути траектории в системе координат ECEF с помощью lookupPose
функция.
sampleTimes = 0:1000:3600*10;
n = length(sampleTimes);
positionsCart = lookupPose(trajectory,sampleTimes,'ECEF');
Визуализируйте результаты в системе координат ECEF.
figure() km = 1000; plot3(positionsCart(1,1)/km,positionsCart(1,2)/km,positionsCart(1,3)/km, 'b*'); hold on; plot3(positionsCart(end,1)/km,positionsCart(end,2)/km,positionsCart(end,3)/km, 'bo'); plot3(positionsCart(:,1)/km,positionsCart(:,2)/km,positionsCart(:,3)/km,'b'); plot3([0 positionsCart(1,1)]/km,[0 positionsCart(1,2)]/km,[0 positionsCart(1,3)]/km,'k:'); plot3([0 positionsCart(end,1)]/km,[0 positionsCart(end,2)]/km,[0 positionsCart(end,3)]/km,'k:'); xlabel('x (km)'); ylabel('y (km)'); zlabel('z (km)'); legend('Start position','End position', 'Trajectory')
traj
- Геодезическая траекторияgeoTrajectory
объектГеодезическая траектория, заданная как geoTrajectory
объект.
sampleTimes
- Шаги расчетаВремя дискретизации в секундах, заданное как K -элементный вектор неотрицательных скаляров.
coordinateSystem
- Система координат для отчета о положении'LLA'
(по умолчанию) | 'ECEF'
Система координат для отчета о положении, заданная как:
'LLA'
- Сообщить о положении в градусах, долготе в степенях и высоте над WGS84 эталонным эллипсоидом в метрах.
'ECEF'
- Сообщить о положении в Декартовых координатах в координатной системе координат ECEF (Earth-Centered-Earth-Fixed) в метрах.
.
position
- Положения в локальной опорной системе координат (град. м)Геодезические положения в локальной ссылке опорных координат, возвращенные как матрица K -by-3. K - количество SampleTimes
.
Когда coordinateSystem
вход задается как 'LLA'
три элемента в каждой строке представляют широту в степенях, долготу в степенях и высоту над WGS84 эталонным эллипсоидом в метрах геодезической путевой точки.
Когда coordinateSystem
вход задается как 'ECEF'
три элемента в каждой строке представляют координаты Декартовых позиций в координатной системе координат ECEF (Earth-Centered-Earth-Fixed) в метрах.
Типы данных: double
orientation
- Ориентация в локальной системе координат ссылкиОриентация в локальной системе координат ссылки, возвращенная как K -by-1 quaternion
Вектор-столбец или как 3х3-бай- K вещественный массив, в котором каждая матрица 3х3 является матрицей вращения.
Каждый кватернион или матрица вращения является поворотом кадра из локальной системы отсчета (NED или ENU) в точке пути к каркасу кузова цели на траектории.
K - количество SampleTimes
.
Типы данных: double
velocity
- Скорость в локальной системе опорных координат (м/с)Скорость в локальной ссылочной системе координат в метрах в секунду, возвращенная как матрица M -by-3.
K определяется SamplesPerFrame
свойство.
Типы данных: double
acceleration
- Ускорение в локальной системе координат ссылки (м/с2)Ускорение в локальной системе координат ссылки в метрах в секунду в квадрате, возвращаемое как M-на-3 матрица.
K - количество SampleTimes
.
Типы данных: double
angularVelocity
- Скорость вращения в локальной опорной системе координат (рад/с)Скорость вращения в локальной системе координат ссылки в радианах в секунду, возвращенная как матрица K на 3.
K - количество SampleTimes
.
Типы данных: double
ecef2ref
- Ориентация системы отсчета относительно системы координат ECEFОриентация системы отсчета относительно системы координат ECEF (Earth-Centered-Earth-Fixed), возвращенная как K -by-1 quaternion
Вектор-столбец или как 3х3-бай- K вещественный массив, в котором каждая матрица 3х3 является матрицей вращения.
Каждый кватернион или матрица вращения 3 на 3 является поворотом кадра от системы координат ECEF к локальной системе отсчета (NED или ENU) в текущем положении траектории.
K - количество SampleTimes
.
Типы данных: double
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.