WeCAR
WeCAR Simulator에서는 ROS 프로토콜을 제공한다.
네트워크 설정
사용자의 자율주행SW와 시뮬레이터 사이의 데이터 통신을 위한 설정 정보를 입력한다.
ROS
Bridge Setting
ROS Bridge의 IP와 Port를 입력한다.
WeCAR ROS Message Type
Object_topic는 시뮬레이터 자체 메시지 타입임. 제어 명령과 차량 상태정보는 실제 WeCAR에서 사용되는 ROS Message Type과 동일하다.
Ego Ctrl Cmd
종방향 제어 명령
Message Type : std_msgs/Float64
Default Topic : /commands/motor/speed
타입 설명 : 차량 종방향 제어를 위한 명령값이며 단위는 rpm이다.
횡방향 제어 명령
Message Type : std_msgs/Float64
Default Topic : /commands/servo/position
타입 설명 : 차량 횡방향 제어를 위한 명령값이다.
(min : -0.1049(deg -30) ~ 0.5304(deg 0) ~ max : 1.1657(deg 30)
Ego Vehicle Status
차량 상태 정보
Message Type : vesc_msgs/VescStateStamped
Default Topic : /sensors/core
타입 설명 : 차량의 상태를 나타내는 메시지이며 현재 speed(rpm)값만 전송된다.
차량 종방향 Servo 정보
Message Type : std_msgs/Float64
Default Topic : /sensors/servo_position_command
타입 설명 : 스티어링 값을 나타내며 현재는 /commands/servo/position값을 bypass한다.
Ego Vehicle Status(시뮬레이터에서만 사용가능)
차량 상태 정보
Message Type : morai_msgs/EgoVehicleStatus
Default Topic : /Ego_topic
타입 설명 : 제어 차량의 상태 정보를 나타내는 메시지
Header header
int32 unique_id : 오브젝트의 unique id 값
geometry_msgs/Vector3 position : 차량의 위치 벡터
float64 x : 차량의 x(m단위) 위치를 나타내며 동쪽(East)이다. Global UTM좌표에서 (302459.942m, 4122635.537m)을 뺀 값이다. (K-City기준)
float64 y : 차량의 y(m단위) 위치를 나타내며 북쪽(North)이다. Global UTM좌표에서 (302459.942m, 4122635.537m)을 뺀 값이다. (K-City기준)
float64 z : 차량의 z(m단위) 위치를 나타내며 위(Up)다.
geometry_msgs/Vector3 velocity : 차량의 속도 벡터
float64 x : 차량 기준 좌표의 x축 방향 속도
float64 y : 차량 기준 좌표의 y축 방향 속도
float64 z : 차량 기준 좌표의 z축 방향 속도
geometry_msgs/Vector3 acceleration : 차량의 가속도 벡터
float64 x : 차량 기준 좌표의 x축 방향 가속도
float64 y : 차량 기준 좌표의 y축 방향 가속도
float64 z : 차량 기준 좌표의 z축 방향 가속도
float64 heading : 차량의 헤딩(deg)을 나타냄. 동쪽이 0deg 이며 동쪽에서 북쪽으로 이동할 때 +방향이다. 즉, CCW일때 각도가 증가한다.
float64 accel : 차량의 엑셀 상태 값
float64 brake : 차량의 브레이크 상태 값
float64 wheel_angle : 현재 차량 제어로 입력받은 Wheel_angle 값
Object Info(시뮬레이터에서만 사용가능)
주변 물체 정보
MoraiObjectInfoPublisher (Sim → User)
Message Type : morai_msgs/ObjectStatusList
Default Topic : /Object_topic
타입 설명 : 사용자가 배치한 주변 물체들에 대한 정보를 나타내는 메시지
Header header
int32 num_of_npcs : 사용자가 배치한 npc 차량의 개수.
int32 num_of_pedestrian : 사용자가 배치한 pedestrian의 개수.
int32 num_of_obstacle : 사용자가 배치한 obstacle의 개수.
ObjectStatus[] npc_list : npc 차량 정보 ( 아래의 ObjectStatus 타입 참고)
ObjectStatus[] pedestrian_list : pedestrian 정보 ( 아래의 ObjectStatus 타입 참고)
ObjectStatus[] obstacle_list : obstacle 정보 ( 아래의 ObjectStatus 타입 참고)
네트워크 설정 저장 & 불러오기
Network Setting에 Save를 이용하여 현재의 네트워크 설정 정보를 저장할 수 있다.
저장된 네트워크 설정 정보는 File List에 표시되며, 설정 정보를 Load를 통해 불러오거나, Del을 통해 삭제할 수 있다.