콘텐츠로 이동

첫 시나리오 만들기 — 차선 변경 시뮬레이션

이 튜토리얼은 빈 캔버스에서 완전한 시나리오를 만듭니다. 차량이 2차선 도로를 따라 주행하다가 속도를 높인 후 오른쪽 차선으로 변경합니다. 최종 결과는 PASS 판정입니다.

모든 작업이 브라우저에서 이루어집니다. drawtonomy.com을 열고 따라 진행하세요.

빈 캔버스에서 작동하는 차선 변경까지: 도로를 그리고, 액터를 추가하고, 두 개의 이벤트를 만든 후 재생을 누릅니다.

Scene 모드에서 시작합니다. 여기에 그리기 도구가 있습니다.

  1. N을 눌러 Lane 도구를 선택합니다.
  2. 캔버스의 왼쪽을 클릭하여 첫 중심선 포인트를 놓고, 오른쪽 멀리를 다시 클릭한 후 Enter를 누릅니다.

길게 그리세요 — 중심선을 보이는 화면보다 넓게 그립니다. 도로 끝에 도달한 액터는 그곳에서 멈추고, 실행 중 이런 일이 발생하면 도로를 확장하고 다시 재생을 누릅니다.

이제 두 번째 차선을 추가합니다.

  1. V를 눌러 Select 도구를 선택하고 그린 차선을 클릭합니다.
  2. 속성 패널에서 RIGHT LANE 섹션을 찾고 Create를 클릭합니다.

Create는 새로운 인접한 차선을 생성합니다. Set은 이미 존재하는 차선을 가리킵니다. 자세한 내용은 차선 연결 관리를 참고하세요.

왼쪽 위의 hamburger menu를 엽니다. EDITING 제목 아래에서 Scenario를 클릭합니다.

그리기 도구 모음이 짧은 모음으로 바뀝니다 — Undo, Redo, Hand, Select, Add actor, Path — 그리고 LOGIC 카드가 화면 아래에 도킹됩니다.

  1. 도구 모음에서 Add actor를 클릭합니다.
  2. 배치 패널이 TEMPLATECOLOR 행과 함께 열립니다. 6개의 템플릿이 표시되며 **More…**을 클릭하면 48개 전체 목록으로 확장됩니다 (세단, 트럭, 버스, 오토바이, 자전거, 보행자 등).
  3. Set initial speed를 체크하고 t=0부터 차량이 움직이기를 원하면 SPEED8.33 m/s로 유지합니다.
  4. 왼쪽 차선을 시작 근처에서 클릭합니다.

차량이 ACTORS 아래에 Vehicle1로 나타납니다. 이 이름은 내보낸 .xosc에 포함되는 엔티티 이름이므로 출력 결과를 신경 쓴다면 여기서 이름을 변경합니다.

패널의 위쪽에는 Edit roads 버튼이 있습니다 — 도로를 변경해야 할 때 Scene 모드로 돌아가는 단축키입니다.

+ Phase를 클릭합니다.

LOGIC 패널 — 페이즈 카드, 이벤트 카드, + Event 및 END CONDITIONS 노드

한 번의 클릭이 페이즈 이상의 것을 제공합니다. drawtonomy가 다음을 생성합니다.

  • Phase 1 (VEHICLE1에 대한 행 포함),
  • Event_1 (해당 행 내, 이미 기본값을 포함) Change Speed 액션 8.33 m/s over time 2.00 s,
  • 기본 TRIGGER (Simulation time 0.00 s),
  • 그리고 오른쪽에 열린 이벤트 에디터.

따라서 첫 이벤트는 추가하는 것이 아니라 편집하는 것입니다.

이벤트 에디터 — ACTOR, TRIGGER, ACTION 및 ADVANCED 섹션

5. 첫 이벤트를 t = 2초에 가속하도록 설정

섹션 제목: “5. 첫 이벤트를 t = 2초에 가속하도록 설정”

이벤트 에디터에서:

  1. TRIGGER 아래 기본값은 Simulation time입니다. SECONDS2.00으로 설정합니다.
  2. ACTION 아래 기본값은 Change Speed입니다. RELATIVE TOFixed에서, SPEED8.33 m/s로 설정하고, DYNAMICSover time VALUE 2.00 s로 유지합니다.

Change Speed 폼 — RELATIVE TO, SPEED, DYNAMICS, VALUE

한 문장으로 읽으세요. 시뮬레이션 2초 후 Vehicle1이 8.33 m/s에 도달하며 2초가 걸립니다.

이벤트 카드의 그래프는 이제 자신을 8.3 m/s · over 2 s로 요약합니다.

VEHICLE1 행에서 + Event를 클릭합니다. Event_2Event_1과 동일한 기본값 — 0.00 s의 트리거를 포함하여 나타납니다.

이를 차선 변경으로 변경합니다.

  1. TRIGGERSECONDS5.00으로 설정합니다. 먼저 하세요. 둘 다 0.00 s에서 트리거되는 두 이벤트는 동시에 실행되는데, 이것은 거의 원하는 것이 아닙니다.
  2. ACTION 드롭다운을 열고 COMMON 그룹에서 Change Lane을 선택합니다.

Change LaneTARGETSame lane로, REFERENCE가 액터 자신으로 설정되어 시작하므로, 에디터는 즉시 경고합니다.

⚠ Change Lane target은 액터의 현재 차선입니다 — 측면 이동이 발생하지 않습니다.

이 경고는 예상됩니다. 수정합니다.

  1. TARGETRight로 설정합니다. NUMBER OF LANES 필드가 나타납니다 — LeftRight에만 존재합니다. 이를 1로 설정합니다.
  2. REFERENCEVehicle1에서 유지합니다. Right는 참조 액터의 현재 차선을 기준으로 하므로 자신을 참조하는 것은 “내 자신의 오른쪽 한 차선”을 의미합니다.
  3. DYNAMICSover distance VALUE 30.00 m으로 유지합니다.

Change Lane 폼 — TARGET, REFERENCE, NUMBER OF LANES, DYNAMICS, VALUE

경고가 사라지고 카드는 1 → · over 30 m으로 요약됩니다.

LOGIC 카드 왼쪽의 버튼을 누릅니다.

재생 중 타임라인 — 재생 헤드, 이벤트 마커, 액터 타임라인 블록

실행이 진행되는 동안:

  • verdict badgeIDLE에서 RUN으로, 시나리오가 fail 조건을 트리거하지 않고 완료되면 PASS로 변경됩니다.
  • 시간 표시가 올라가고 타임라인이 액터당 하나의 블록과 각 이벤트가 시작하는 마커로 채워집니다.
  • Follow: Off는 기본 카메라입니다. 차량이 보기에서 벗어나면 Follow: Vehicle1로 전환합니다.

약 t=2초에서 차량이 가속하고, 약 t=5초에서 30 m에 걸쳐 한 차선 오른쪽으로 미끄러집니다. END CONDITIONS 노드는 Automatic으로 설정되어 있으므로 모든 이벤트가 완료되면 실행이 중단됩니다.

실수했습니까? Ctrl+Z 또는 도구 모음의 ↶ 버튼은 논리 그래프에 대한 편집 내용을 취소합니다 — 삭제된 페이즈 포함.

저장 버튼을 누를 필요가 없습니다. drawtonomy는 작업할 때 브라우저에 장면, 시나리오 및 임포트된 OpenDRIVE 맵을 유지하고 다음 번 탭을 열 때 복원합니다. 세션을 복원할 때 Restored previous session 배너를 표시합니다 — 대신 빈 캔버스에서 시작하려면 Start fresh를 클릭합니다.

브라우저에 있기 때문에 시나리오를 공유하거나 보관하는 방법이 아닙니다. 그렇게 하려면 아래 .xosc.xodr을 내보냅니다.

Hamburger → Export:

  • OpenSCENARIO (.xosc)… — 방금 만든 시나리오입니다.
  • .xodr (OpenDRIVE) — 실행되는 도로입니다. .xosc는 없이 재생할 수 없습니다.
  • Export video… — 실행을 동영상 파일로 녹화합니다.

내보낸 쌍은 esmini와 다른 OpenSCENARIO 1.x 도구에서 열립니다. OpenDRIVE + OpenSCENARIO 내보내기를 참고합니다.

내보낸 .xosc + .xodr은 네이티브 esmini에서 수정 없이 실행됩니다 — 한 번에: 그리고, esmini zip을 내보낸 후, 내보낸 시나리오를 esmini 자체에서 재생합니다.
  • 도로와 액터는 Scene 모드에 속합니다. 동작은 Scenario 모드에 속합니다.
  • + Phase는 페이즈, 첫 이벤트, 기본 액션 및 기본 트리거를 한 번에 생성합니다.
  • 이벤트는 하나의 TRIGGER와 하나 이상의 ACTIONS입니다.
  • Change LaneTARGETLeft 또는 Right로 설정한 후에 어떤 것도 움직입니다.