본 페이지는 MORAI에서 제공하는 NPC 차량을 배치하고 원하는 목적지로 설정하는 기능에 대해 기술한다.


차량 배치

: Edit - Scenario - Scenario Edit mode 진입 시 차량 배치모드로 모드가 변경된다. 이때 Shift키를 누른채로 도로위에 마우스를 올리면 차량이 생성되는 것을 볼 수 있고 그 상태에서 마우스 왼쪽클릭을 하면 차량이 생성되는것을 알 수 있다.

현재는 UI의 인터페이스만 소개하고있는데 UI로 설정한 파일은 JSON 포맷으로 저장된다.

사용자가 JSON 파일을 이용해 시나리오를 설정한 후 “~/MORAILauncher_Win_Data/SaveFile/Scenario/K-City“폴더에 넣으면 UI에서 불러올 수도 있고 ROS Message를 통해 시나리오 파일을 불러올 수 도 있다.

시나리오 파일(JSON) 설명 페이지 링크

배치모드 카메라 시점(Perspective View) 조작

: 배치모드를 들어가면 기본 카메라 시점은 Perspective View 모드이다. 이때의 조작법은 크게 세가지로 나뉜다.

  • W/S/A/D: 앞/뒤/좌/우

  • Q/E: 상/하

  • 마우스 우클릭 상하 드래그: 카메라 Pitch조절

  • 마우스 우클릭 좌우 드래그: 카메라 Yaw조절

Top View Mode 조작

: 배치모드에 들어가면 좌측 하단에 “Top View Mode”라는 푸른 버튼이 생성되는데 이를 클릭하면 Top View 모드로 진입할 수 있다.

이 뷰모드에서는 위에서 아래로 정사영한 2D로 화면을 볼 수 있으며 차량을 배치할 때 있어서 적합한 뷰다.

조작법은 아래와 같다.

  • W/S/A/D: 앞/뒤/좌/우(2D상에서), E/Q(Zoom In/Out)

  • 마우스 우클릭 드래그: 카메라 Yaw조절

  • 마우스 휠: Zoom In/Out

차량의 옵션 설정

: 차량을 배치하면 우측 하단에 NPC Setting UI가 활성화 된다. 해당 UI를 이용해 차량의 목표 속도 및 Closed Loop 모드 여부를 결정 가능하다.

  • Desired Velocity Mode: NPC차량의 목표 속도 모드를 나타낸다.

    • Link Velocity: 각 링크에 부여되어있는 속도의 특정 비율만큼을 목표속도로 가져간다. 단위는 %이다.

    • Constant Velocity: 목표속도를 고정으로 설정한다. 이때 ACC나 곡률에의한 감속등은 내부 알고리즘으로 자동 결정된다. 즉, 해당 차량에 설정할 수 있는 최대 속도를 의미하는 것이며 모든 주행 상태에서의 목표 속도를 의미하는 것은 아니다.

  • Driving Info

    • Closed Loop: 현재 위치로 돌아올 수 있는 최적의 경로를 생성하여 폐루프를 그리며 주행하는 모드다.

    • Desired Velocity: 목표속도를 표시한다.

    • Current Velocity: 차량의 현재 속도를 결정할 수 있다.

    • Path Mode: Fixed/Random 두 가지 모드가 있으며 목적지가 결정되어있으면 Fixed, 목적지가 없고 매 순간 Path를 만들어가는 모드이면 Random 모드로 표시된다.

    • Current Link: 현재 차량이 위치한 링크가 표시된다.

    • Target Link: 차량의 목표 링크가 표시된다.

    • (NEW) Path Offset ( -100 ~ 100 %) : 차량의 차선 중앙 유지 정도를 나타낸다. (왼쪽 -, 오른쪽 +)

차량의 목적지 설정

: 기본적으로 차량을 배치하면 차량은 랜덤으로 Path를 찾아서 주행한다. 하지만 차량이 특정 목적지까지 주행하기를 원한다면 목적지를 설정하는것이 가능하다.

이렇게 목적지가 정해진 차량같은 경우에는 목적지에 다다르면 삭제된다.

목적지를 설정할 차량 선택

: 특정 차량을 원하는 목적지로 주행시키길 원한다면 아래와 같은 절차가 필요하다.

  • NPC 차량 배치(위의 “차량 배치” 항목 참고)

  • 차량 선택(차량 선택 시 우측 하단의 Vehicle Info 창이 표시되야 제대로 선택 된 것이다.)

  • Ctrl키를 누른채로 마우스를 도로위로 움직이면 빨간색 구체가 생성되고 왼쪽 마우스를 클릭하면 목적지(빨간 구체)가 고정되며 목적지까지의 Path가 도로 위에 표시된다.

    • Alt키를 누른채로 목적지(빨간색 구체)를 클릭하면 삭제되고 Random으로 Path를 생성한다.

    • 목적지가 생긴 상태에서 Ctrl키를 이용해서 다른 목적지를 클릭하면 기존의 목적지는 삭제되고 새로운 목적지가 생성된다.

  • 배치모드를 빠져나오면(ESC키) 목적지로 NPC 차량이 주행하는것을 볼 수 있다.