Запуск сценария вождения и запись состояний актёра
Создать сценарий вождения, при котором один автомобиль проезжает стационарный автомобиль по двухполосной дороге.
scenario = drivingScenario; road(scenario,[0 0; 10 0; 53 -20],'lanes',lanespec(2)); plot(scenario,'Waypoints','on'); stationaryCar = vehicle(scenario,'ClassID',1,'Position',[25 -5.5 0],'Yaw',-22); passingCar = vehicle(scenario,'ClassID',1); waypoints = [1 -1.5; 16.36 -2.5; 17.35 -2.765; ... 23.83 -2.01; 24.9 -2.4; 50.5 -16.7]; speed = 15; % m/s smoothTrajectory(passingCar,waypoints,speed);
Запись симуляции сценария вождения.
rec = record(scenario);
Сравните зарегистрированные положения проезжающего автомобиля в начале и конце симуляции.
rec(1).ActorPoses(2)
ans = struct with fields:
ActorID: 2
Position: [1 -1.5000 0]
Velocity: [14.9816 0.7423 0]
Roll: 0
Pitch: 0
Yaw: 2.8367
AngularVelocity: [0 0 1.2537e-05]
rec(end).ActorPoses(2)
ans = struct with fields:
ActorID: 2
Position: [50.4717 -16.6823 0]
Velocity: [12.7171 -7.9546 0]
Roll: 0
Pitch: 0
Yaw: -32.0261
AngularVelocity: [0 0 -0.0099]
scenario
- Сценарий вожденияdrivingScenario
объектСценарий вождения, заданный как drivingScenario
объект.
rec
- Запись состояний актёра во время симуляцииЗапись состояний актёра во время симуляции, возвращенная как M-на-1 вектор структур. M - количество временных шагов в симуляции. Каждая структура соответствует временному шагу симуляции.
The rec
структура имеет следующие поля:
Область | Описание | Напечатать |
---|---|---|
SimulationTime | Время симуляции на каждом временном шаге | Действительный скаляр |
ActorPoses | Актёр помещается в координаты сценария | N вектор -by-1 ActorPoses структуры, где N количество актёров, включая транспортные средства. |
Каждый ActorPoses
структура имеет эти поля.
Область | Описание |
---|---|
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
функций.
Типы данных: struct
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.