NPC 차량 배치
본 페이지는 MORAI에서 제공하는 NPC 차량을 배치하고 원하는 목적지로 설정하는 기능에 대해 기술한다.
차량 배치
: Edit - Scenario - Scenario Edit mode 진입 시 차량 배치모드로 모드가 변경된다. 이때 Shift키를 누른채로 도로위에 마우스를 올리면 차량이 생성되는 것을 볼 수 있고 그 상태에서 마우스 왼쪽클릭을 하면 차량이 생성되는것을 알 수 있다.
현재는 UI의 인터페이스만 소개하고있는데 UI로 설정한 파일은 JSON 포맷으로 저장된다.
사용자가 JSON 파일을 이용해 시나리오를 설정한 후 “~/MORAILauncher_Win_Data/SaveFile/Scenario/K-City“폴더에 넣으면 UI에서 불러올 수도 있고 ROS Message를 통해 시나리오 파일을 불러올 수 도 있다.
배치모드 카메라 시점(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 차량이 주행하는것을 볼 수 있다.