(Matlab) Driving Scenario Designer ToolBox

Matlab의 Driving Scenario Designer ToolBox를 이용한 주행환경 시뮬레이션


1. Project

  • 차량이 특정한 Waypoints를 따라 주행하도록 하기
  • 차량에 센서를 설치하고 Sensor Data 추출하기

2. Process

2.1. Driving Scenario Designer ToolBox에서 Waypoints 설정하기

  • 차량에대고 우클릭 » Add Forward Waypoints » 원하는 위치 클릭 » Enter
  • 왼쪽의 Actors 탭 » Trajectory » (x,y,z)항목 수정

위의 두 가지 방법이 있는데, 내가 하고 싶은건 이미 주어진 Waypoints Data를 Driving Scenario Designer ToolBox로 가져오는 것이다.

2.2. Waypoints Data를 시나리오 환경으로 가져오기

  • 시나리오에 도로, 차량, 센서, Waypoints를 아무렇게나 만든다.
    1
  • 이때, 도로나 차량 스펙같은거 미리 설정해두면 편함.
  • 2차로 고속도로를 가정하고 Number of Lanes는 2로, Lane Width는 3.6으로, 차량 길이는 3.05m로 가정
  • 이렇게 구성된 주행 환경을 🔥Save » Scenario File🔥 2
  • 저장된 Scenario File을 Matlab에 불러옴
  • 불러온 file안에 data Struct가 있고, 여기서 필요한 부분을 수정할 것 Inked3_LI
  • 🔥data » ActorSpecifications » Waypoints🔥로 들어가서 Waypoints를 수정 Inked4_LI 또는 다음의 코드를 이용할 수 도 있음.
    data.ActorSpecifications.Waypoints=[수정할 내용]
    
  • 수정한 후 다른이름으로 저장 5 6

  • 다시 Driving Scenario Designer ToolBox로 돌아옴

  • 🔥Open » Roads & Actors » 아까 저장한 Waypoints data🔥

  • 그럼 외부의 WayPoints 데이터로 새로운 주행환경이 설정됨

같은 방식으로 도로설정(Road Centes 같은 것들)도 변경해서 가져올 수 있음.
Waypoints가 한 차로의 중심에 오도록 하려고 다음과 같이 설정함 Inkedroad_LI

Road Centers = [0, Waypoints시작점 y좌표 + Width/2, 0; 
              120, Waypoints시작점 y좌표 + Width/2, 0];  

길이 120m의 도로가 생성됨.

2.3. 도로와 Waypoints가 모두 설정되면 차량에 Sensor를 달아보자.


  • Toolstrip에서 원하는 센서를 선택하면 원하는 위치에 설치할 수 있음.
    Inked7_LI

2.4. SensorData를 이용해 다양한 값들을 추출하기


  • toolstrip의 Export > MATLAB Function
  • 그럼 다음과 같은 함수 형태로 Export됨 8
  • 이 함수 파일 안에 3개의 함수가 생성되어 있음
    • generateSensorData
    • createSensor
    • createDrivingScenario
  • 이 세 개의 함수를 이용해 Sampling time 마다의 값을 추출하는 스크립트 파일을 만들 거
  • Script처음에 SensorData를 사용하기 위한 참조를 설정해주고, 시나리오 끝나는 시간과 데이터 추출 간격을 설정하고 for문 돌려서 Sampling time 각각에 해당하는 data 추출
참고

Driving Scenario Create Driving Scenario Programmatically