targetPoses

Целевые положения и ориентации относительно автомобиля, оборудованного датчиком

Синтаксис

Описание

пример

poses = targetPoses(ac) возвращает положения всех целей в ведущем сценарии относительно агента автомобиля, оборудованного датчиком, ac. Дополнительную информацию см. в Автомобиле, оборудованном датчиком и Целях.

Примеры

свернуть все

В простом ведущем сценарии получите положения целевых транспортных средств в системе координат автомобиля, оборудованного датчиком. Затем преобразуйте эти положения назад в мировые координаты ведущего сценария.

Создайте ведущий сценарий.

scenario = drivingScenario;

Создайте целевых агентов.

actor(scenario,'Position',[10 20 30], ...
    'Velocity',[12 113 14], ...
    'Yaw',54, ...
    'Pitch',25, ...
    'Roll',22, ...
    'AngularVelocity',[24 42 27]);

actor(scenario,'Position',[17 22 12], ...
    'Velocity',[19 13 15], ...
    'Yaw',45, ...
    'Pitch',52, ...
    'Roll',2, ...
    'AngularVelocity',[42 24 29]);

Добавьте агента автомобиля, оборудованного датчиком.

egoActor = actor(scenario,'Position',[1 2 3], ...
    'Velocity',[1.2 1.3 1.4], ...
    'Yaw',4, ...
    'Pitch',5, ...
    'Roll',2, ...
    'AngularVelocity',[4 2 7]);

Используйте actorPoses функционируйте, чтобы возвратить положения всех агентов в сценарии. Изложите свойства (положение, скорость и ориентация) находятся в мировых координатах ведущего сценария. Сохраните целевых агентов в отдельную переменную и смотрите положение первого целевого агента.

allPoses = actorPoses(scenario);
targetPosesScenarioCoords = allPoses(1:2);
targetPosesScenarioCoords(1)
ans = struct with fields:
            ActorID: 1
           Position: [10 20 30]
           Velocity: [12 113 14]
               Roll: 22
              Pitch: 25
                Yaw: 54
    AngularVelocity: [24 42 27]

Используйте driving.scenario.targetsToEgo функционируйте, чтобы преобразовать целевые положения в эгоцентрические координаты агента эго. Смотрите положение первого агента.

targetPosesEgoCoords = driving.scenario.targetsToEgo(targetPosesScenarioCoords,egoActor);
targetPosesEgoCoords(1)
ans = struct with fields:
            ActorID: 1
           Position: [7.8415 18.2876 27.1675]
           Velocity: [18.6826 112.0403 9.2960]
               Roll: 16.4327
              Pitch: 23.2186
                Yaw: 47.8114
    AngularVelocity: [-3.3744 47.3021 18.2569]

В качестве альтернативы используйте targetPoses функция, чтобы получить все целевые положения агента в координатах автомобиля, оборудованного датчиком. Отобразите первое целевое положение, которое совпадает с ранее расчетным положением.

targetPosesEgoCoords = targetPoses(egoActor);
targetPosesEgoCoords(1)
ans = struct with fields:
            ActorID: 1
            ClassID: 0
           Position: [7.8415 18.2876 27.1675]
           Velocity: [18.6826 112.0403 9.2960]
               Roll: 16.4327
              Pitch: 23.2186
                Yaw: 47.8114
    AngularVelocity: [-3.3744 47.3021 18.2569]

Используйте driving.scenario.targetsToScenario преобразовывать цель позирует назад к мировым координатам сценария. Отобразите первое целевое положение, которое совпадает с исходным целевым положением.

targetPosesScenarioCoords = driving.scenario.targetsToScenario(targetPosesEgoCoords,egoActor);
targetPosesScenarioCoords(1)
ans = struct with fields:
            ActorID: 1
            ClassID: 0
           Position: [10.0000 20.0000 30.0000]
           Velocity: [12.0000 113.0000 14.0000]
               Roll: 22
              Pitch: 25.0000
                Yaw: 54
    AngularVelocity: [24.0000 42.0000 27.0000]

Входные параметры

свернуть все

Агент, принадлежащий drivingScenario объект в виде Actor или Vehicle объект. Чтобы создать эти объекты, используйте actor и vehicle функции, соответственно.

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

свернуть все

Целевые положения, в координатах автомобиля, оборудованного датчиком, возвратились как структура или как массив структур. Положение агента автомобиля, оборудованного датчиком, ac, не включен.

target pose задает положение, скорость и ориентацию цели в координатах автомобиля, оборудованного датчиком. Целевые положения также включают скорости изменения в положение агента и ориентацию.

Каждая структура положения имеет эти поля.

Поле Описание
ActorID

Заданный сценарием идентификатор агента в виде положительного целого числа.

ClassIDИдентификатор классификации в виде неотрицательного целого числа. 0 представляет объект неизвестного или неприсвоенного класса.
Position

Положение агента в виде вектора с действительным знаком формы [x y z]. Модули исчисляются в метрах.

Velocity

Скорость (v) агента в x - y - и z - направление в виде вектора с действительным знаком формы [v x v y v z]. Модули исчисляются в метрах в секунду.

Roll

Угол вращения агента в виде действительного скаляра. Модули в градусах.

Pitch

Передайте угол агента в виде действительного скаляра. Модули в градусах.

Yaw

Угол отклонения от курса агента в виде действительного скаляра. Модули в градусах.

AngularVelocity

Скорость вращения (ω) агента в x - y - и z - направление в виде вектора с действительным знаком формы [ω x ω y ω z]. Модули в градусах в секунду.

Для полных определений этих полей структуры смотрите actor и vehicle функции.

Больше о

свернуть все

Автомобиль, оборудованный датчиком и цели

В ведущем сценарии можно задать одного агента как наблюдатель всех других агентов, похожих на то, как драйвер автомобиля наблюдает все другие автомобили. Агент наблюдателя называется ego actor или, более конкретно, ego vehicle. С точки зрения автомобиля, оборудованного датчиком все другие агенты (такие как транспортные средства и пешеходы) являются наблюдаемыми агентами, названными targets. Координаты автомобиля, оборудованного датчиком сосредоточены и ориентированы со ссылкой на автомобиль, оборудованный датчиком. Координаты ведущего сценария являются мировыми координатами.

Введенный в R2017a