Сгенерируйте измерения датчика INS из сценария интерактивного вождения

Приложение Driving Scenario Designer позволяет вам создавать сценарии вождения в интерактивном режиме и генерировать синтетические данные о датчике для проверки ваших автоматических алгоритмов вождения. В сценариях вождения, которые представляют географические местоположения, можно добавить датчик, который запирает измерения от инерционной навигационной системы (INS) и глобальной навигационной спутниковой системы (GNSS), такой как GPS, и сгенерировать слитые измерения. Затем можно экспортировать эти синтетические данные инерционного датчика в MATLAB® для последующего анализа.

Импорт дорожной сети

Чтобы сгенерировать реалистичные данные INS и GNSS-датчика из приложения, необходимо использовать дорожную сеть, которая основана на реальном географическом положении. Этот пример использует дорожную сеть, которая импортируется из OpenStreetMap®. Это та же дорожная сеть, которая используется в примере импорта данных OpenStreetMap в сценарий вождения.

  1. Откройте приложение Driving Scenario Designer.

    drivingScenarioDesigner

  2. На панели инструментов приложения выберите Import и затем OpenStreetMap.

  3. В диалоговом окне Импорт OpenStreetMap найдите этот файл, где matlabroot является корнем папки MATLAB:

    matlabroot/examples/driving/data/applehill.osm

    Файл был загружен из https://www.openstreetmap.org, который обеспечивает доступ к картографическим данным, полученным с использованием массовых источников, по всему миру. Данные лицензированы под лицензией Open Data Commons Open Database License (ODbL), https://opendatacommons.org/licenses/odbl/.

    После загрузки файла в Select Roads разделе диалогового окна отображается дорожная сеть для MathWorks® Кампус Apple Hill.

    A map displaying the road network for the MathWorks Apple Hill campus. The geographic reference point has a latitude of 42.2997 degrees and a longitude of negative 71.3504 degrees.

  4. Чтобы сохранить сценарий вождения простым для этого примера, щелкните, чтобы выбрать только нижний левый сегмент дороги для импорта.

    Apple Hill campus map with bottom-left road segment selected in blue.

  5. Нажмите Import. Приложение импортирует дорогу и генерирует дорожную сеть.

    The road network of the MathWorks Apple Hill campus in the Driving Scenario Designer app.

Добавление актёра и траектории

Чтобы создать траекторию, совместимую с показаниями датчиков INS и GNSS, траектория должна быть плавной, с минимальным рывком и без разрывов в ускорении. Создайте актёра и задайте траекторию, которая следует по дороге.

  1. На панели инструментов приложения выберите Add Actor и затем Car.

  2. На Scenario Canvas нажмите, чтобы добавить автомобиль в правый конец дороги.

    Car added to the right end of the road

  3. Щелкните автомобиль правой кнопкой мыши и выберите Add Forward Waypoints. Затем щелкните, чтобы добавить путевые точки по длине дороги. Когда вы добавляете последнюю путевую точку, нажмите Enter, чтобы зафиксировать траекторию к дороге.

    Car with trajectory following the length of the road

Сглаживайте траекторию

При помощи значений траектории по умолчанию машина перемещается с постоянной скоростью 30 м/с (около 67 миль/ч) через каждую путевую точку. Эта скорость подходит для сценария шоссе, но не для географического положения, используемого в этом примере. Уменьшите скорость машины до 5 м/с (около 11 миль в час), и задайте более медленные скорости вокруг поворота.

  1. На вкладке Actors слева в разделе Trajectory установите Constant Speed (m/s) 5. В таблице Waypoints, Speeds, Wait Times, and Yaw приложение уменьшает значения v (m/s) от 30 на 5.

  2. Для точек пути вокруг поворота уменьшите значения v (m/s) до 4. В этой выборочной траектории машина замедляется до 4 м/с, когда достигает путевой точки 5, поддерживает эту скорость через путевые точки 6 и 7 и скорость назад до 5 м/с к моменту достижения путевой точки 8.

    Trajectory with waypoints labeled 1 through 8 and the corresponding values in the v (m/s) table overlaid on the scenario canvas. Waypoints 5, 6, and 7 are set to 4 m/s. All other waypoints are set to 5 m/s.

  3. Выберите Use smooth, jerk-limited trajectory, который является необходимым параметром для работы с симуляцией датчика INS.

    Если вы получите ошибку, что приложение не может создать плавную траекторию, попробуйте внести следующие изменения:

    • Увеличьте расстояние между путевыми точками, где машина уменьшает скорость (между путевыми точками 4 и 5 на предыдущем изображении). Увеличенное расстояние дает автомобилю больше времени для замедления. Точно так же можно также продлить расстояние между путевыми точками, где машина увеличивает скорость (между путевыми точками 7 и 8 на предыдущем изображении).

    • Уменьшите значения скорости и проверьте, что различие в скорости между путевыми точками не слишком велика. Используя предыдущее изображение в качестве примера, если бы вы указали скорость 10 м/с для последней путевой точки, у автомобиля не хватило бы пространства для разгона до этой скорости с 4 м/с.

    • Увеличьте толчок (м/с3) значение параметров. Увеличение этого значения увеличивает количество возможных траекторий, которые приложение может вычислить за счет снижения комфорта для пассажиров-людей.

Добавьте датчик INS

Установите датчик INS на автомобиль.

  1. На панели инструментов приложения нажмите Add INS.

  2. На Sensor Canvas щелкните, чтобы добавить датчик INS в предопределенное положение Rear Window. Размещение датчика в этом месте устанавливает датчик в автомобиль , оборудованный датчиком источника.

    Sensor canvas with INS sensor in green mounted to Rear Window location

  3. (Необязательно) На вкладке Sensors слева измените параметры измерения датчика. Для примера можно изменить точность показаний рыскания, тангажа и крена или точность измерения положения, скорости и ускорения.

Симулируйте сценарий

Сгенерируйте данные INS из сценария путем моделирования сценария. На панели инструментов приложения нажмите Run. Этот Bird's-Eye Plot не показывает данных о датчике, потому что приложение не поддерживает визуализацию датчика INS.

Если симуляция выполняется слишком медленно, учитывая медленные скорости, используемые в траектории, увеличьте шаг расчета сценария. На панели инструментов приложения нажмите Settings и измените параметр Sample Time (ms).

Экспорт и исследование данных о датчике

Приложение Driving Scenario Designer позволяет вам экспортировать данные из последнего запуска симуляции. Экспортируйте данные датчика сценария в рабочее пространство MATLAB и просмотрите сгенерированные измерения INS.

  1. На панели инструментов приложения выберите Export и затем Export Sensor Data.

  2. Назовите переменную данных датчика, которая будет экспортирована sensorData и нажмите OK.

  3. Исследуйте экспортированные данные о датчике. Экспортированные данные являются массивом структур, содержащим положения актёра и данные о датчике на каждом временном шаге симуляции. Поскольку сценарий не содержит датчиков, которые производят обнаружения объектов, обнаружение маршрута или облака точек, соответствующие поля структуры являются пустыми массивами. Количество структур, показанных здесь, отличается от количества в экспортированной переменной.

    sensorData
    sensorData = 
    
      1×89 struct array with fields:
    
        Time
        ActorPoses
        ObjectDetections
        LaneDetections
        PointClouds
        INSMeasurements
  4. Просмотрите данные для первого измерения INS. Измерения INS хранятся в массиве ячеек структур. Поскольку сценарий содержит только один датчик INS, массив ячеек имеет только одну структуру. Поля структуры измерения INS совпадают с полями, создаваемыми при генерации измерений из insSensor Системные object™. Показанное здесь измерение INS будет отличаться от измерения экспортированной переменной.

    sensorData(1).INSMeasurements{:}
    ans = 
    
      struct with fields:
    
            Orientation: [0.5389 0.4500 160.6807]
               Position: [-48.1293 -72.3647 0.9084]
               Velocity: [-4.7473 1.6082 -0.0525]
           Acceleration: [7.0945e-11 2.0255e-10 0]
        AngularVelocity: [3.0819e-15 -1.5500e-15 -2.4593e-09]

Кроме того, выбрав Export, а затем MATLAB Function из приложения, можно экспортировать функцию MATLAB для воспроизведения сценария и датчика INS в командной строке MATLAB. Датчик INS, возвращенный этой функцией, является insSensor Системный объект.

См. также

Приложения

Объекты

Функции

Похожие темы