driving.scenario.targetsToScenario

Преобразуйте целевые положения из ego в координаты сценария

Описание

targetPosesScenarioCoords = driving.scenario.targetsToScenario(targetPosesEgoCoords,egoPose) преобразует положения целевых актёров из координат относительно положения эго актёра в мировые координаты сценария вождения. А pose - это положение, скорость и ориентация актёра. Для получения дополнительной информации о системах координат актёров, смотрите Автомобиль , Оборудованный Датчиком и Targets.

пример

targetPosesScenarioCoords = driving.scenario.targetsToScenario(targetPosesEgoCoords,egoActor) преобразует целевые положения при помощи положения заданного эго-актёра.

Примеры

свернуть все

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

Создайте сценарий вождения.

scenario = drivingScenario;

Создайте целевых актёров.

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

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

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

egoActor = actor(scenario,'ClassID',1, ...
    '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: 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]

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

targetPosesScenarioCoords = driving.scenario.targetsToScenario(targetPosesEgoCoords,egoActor);
targetPosesScenarioCoords(1)
ans = struct with fields:
            ActorID: 1
            ClassID: 1
           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]

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

свернуть все

Целевые положения в координатах актёра ego, заданные как структура или массив структур.

Каждая структура целевого положения должна содержать по крайней мере эти поля.

ОбластьОписание
ActorID

Определяемый сценарием идентификатор актёра, заданный как положительное целое число.

Position

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

Velocity

Скорость (<reservedrangesplaceholder9>) актера в x - y - и z - направления, определенные как вектор с реальным знаком формы [<<reservedrangesplaceholder5> <reservedrangesplaceholder4> <reservedrangesplaceholder3> <reservedrangesplaceholder2> <reserved angesplaceholder1> <reservedrangesplaceholder0> ]. Модули указаны в метрах в секунду.

Roll

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

Pitch

Угол тангажа актёра, заданный как действительный скаляр. Модули указаны в степенях.

Yaw

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

AngularVelocity

Скорость вращения (<reservedrangesplaceholder9>) актера в x - y - и z - направления, определенные как вектор с реальным знаком формы [<<reservedrangesplaceholder5> <reservedrangesplaceholder4> <reservedrangesplaceholder3> <reservedrangesplaceholder2> <reserved angesplaceholder1> <reservedrangesplaceholder0> ]. Модули указаны в степенях в секунду.

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

Актёр Ego поставил в мировых координатах сценарий вождения, заданный как структура.

Структура положения ego actor должна содержать по крайней мере эти поля.

ОбластьОписание
ActorID

Определяемый сценарием идентификатор актёра, заданный как положительное целое число.

Position

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

Velocity

Скорость (<reservedrangesplaceholder9>) актера в x - y - и z - направления, определенные как вектор с реальным знаком формы [<<reservedrangesplaceholder5> <reservedrangesplaceholder4> <reservedrangesplaceholder3> <reservedrangesplaceholder2> <reserved angesplaceholder1> <reservedrangesplaceholder0> ]. Модули указаны в метрах в секунду.

Roll

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

Pitch

Угол тангажа актёра, заданный как действительный скаляр. Модули указаны в степенях.

Yaw

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

AngularVelocity

Скорость вращения (<reservedrangesplaceholder9>) актера в x - y - и z - направления, определенные как вектор с реальным знаком формы [<<reservedrangesplaceholder5> <reservedrangesplaceholder4> <reservedrangesplaceholder3> <reservedrangesplaceholder2> <reserved angesplaceholder1> <reservedrangesplaceholder0> ]. Модули указаны в степенях в секунду.

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

Эго-актёр в мировых координатах сценария вождения, заданный как Actor или Vehicle объект. Функция преобразует координаты целевых актёров относительно положения egoActor. Информация о положении хранится в Position, Velocity, Roll, Pitch, Yaw, и AngularVelocity свойства эго актёра.

Полные определения свойств положения см. в actor и vehicle функций.

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

свернуть все

Целевой актёр ставит в мировых координатах сценарий вождения, возвращаемый как структура или массив структур.

Как минимум, каждая возвращенная структура целевого положения имеет эти поля.

ОбластьОписание
ActorID

Определяемый сценарием идентификатор актёра, заданный как положительное целое число.

Position

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

Velocity

Скорость (<reservedrangesplaceholder9>) актера в x - y - и z - направления, определенные как вектор с реальным знаком формы [<<reservedrangesplaceholder5> <reservedrangesplaceholder4> <reservedrangesplaceholder3> <reservedrangesplaceholder2> <reserved angesplaceholder1> <reservedrangesplaceholder0> ]. Модули указаны в метрах в секунду.

Roll

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

Pitch

Угол тангажа актёра, заданный как действительный скаляр. Модули указаны в степенях.

Yaw

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

AngularVelocity

Скорость вращения (<reservedrangesplaceholder9>) актера в x - y - и z - направления, определенные как вектор с реальным знаком формы [<<reservedrangesplaceholder5> <reservedrangesplaceholder4> <reservedrangesplaceholder3> <reservedrangesplaceholder2> <reserved angesplaceholder1> <reservedrangesplaceholder0> ]. Модули указаны в степенях в секунду.

Возвращенный targetPosesScenarioCoords структуры включают те же поля, что и в вход targetPosesEgoCoords структуры. Для примера, если входы структуры включают в себя ClassID поле, затем возвращенные структуры также включают ClassID.

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

Подробнее о

свернуть все

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

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

Введенный в R2020a