Skip to main content
Skip table of contents

LIMO

이 섹션에서는 LIMO 로봇용 시뮬레이터에서 지원하는 ROS 통신에 대한 네트워크 설정 방법을 설명한다.

시뮬레이터 버전 v.S2.230728.Wego09 이후 배포 버전을 기준으로 가이드한다.

LIMO 는 WEGO에서 개발한 AI 모듈 및 오픈 소스 ROS 패키지가 포함된 혁신적인 다중 모드, 소형 및 맞춤형 모바일 로봇이다.


ROS 네트워크 설정

사용자 자율주행 SW와 LIMO 시뮬레이터 간의 ROS 통신을 위한 네트워크 설정 정보를 입력한다.

Bridge Setting

시뮬레이터 Network > Networks Settings (단축키: F5)에서 ROS Bridge Setting 정보를 아래와 같이 입력한다.

  • ROS Bridge의 IP와 Port를 입력

  • Bridge IP 는 rosbridge를 실행 하고 있는 사용자 서버의 IP를 입력

    • Local 환경 : 127.0.0.1

    • Virtual 환경 : 가상환경 설치할때 세팅했던 IP

네트워크 설정 저장 & 불러오기

Network > Load Settings > Save 를 클릭하여 현재 네트워크 설정 정보를 저장할 수 있다. 또한 하단의 Load를 클릭하여 저장한 네트워크 설정 정보를 불러올 수 있다.

저장된 네트워크 설정 정보는 File List에 표시되며, Del을 클릭하면 삭제할 수 있다.

LIMO ROS Message

LIMO 시뮬레이터 차량을 제어하고 차량 및 주변 상태 정보를 전송하는 ROS 메시지를 설명한다.

Ego Ctrl Cmd: 차량 제어 명령 메시지

LIMO Ego Vehicle를 제어하는 Ego Ctrl Cmd ROS 메시지로 두가지 타입(std_msgs/Float64 , geometry_msgs/Twist)을 지원한다.

std_msgs/Float64

  • Message Type : std_msgs/Float64

  • Default Topic : /commands/motor/speed

    • 타입 설명 : 차량의 종방향 선 속도 제어를 위한 명령 값

    • float64 linear.x : 선속도 값 의미 (m/sec)

      • data : min : -3.024 ~ 0 ~ max : 3.024(음수 값 입력시 후진)

  • Default Topic : /commands/servo/position

    • 타입 설명 : 차량의 yaw 방향 각속도 제어를 위한 명령 값

    • float64 angular.z : 각속도 값 의미 (rad/sec)

      • data : min : -2.5 ~ 0 ~ max : 2.5(음수 값 입력시 좌회전)

geometry_msgs/Twist

  • Message Type : geometry_msgs/Twist

  • Default Topic : /commands/vel

    • 타입 설명 : 차량의 선 속도, 각속도 제어를 위한 명령 값

    • float64 linear.x : 선속도 값 의미 (m/sec)

      • min : -1 ~ max : 1(음수 값 입력시 후진)

    • float64 angular.z : yaw 방향 각속도 값 의미 (rad/sec)

      • min : -3.14 ~ max : 3.14(음수 값 입력시 좌회전)

Ego Vehicle Status: 차량 상태 정보 메시지

  • Message Type : morai_msgs/EgoVehicleStatus

  • Default Topic : /Ego_topic

    • 타입 설명 : 차량의 상태를 나타내는 메시지

    • std_msgs/Header header : 헤더

    • int32 unique_id

    • geometry_msgs/Vector3 accerleration : 선속도 (m/sec)

    • geometry_msgs/Vector3 position : 각속도 (rad/sec)

    • geometry_msgs/Vector3 velocity : 속도 (rad/sec)

    • float64 heading : 헤딩(degree)

    • float64 accel

    • float64 brake

    • float64 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 타입 참고)

ObjectStatus 메시지 타입 설명
  • ObjectStatus 타입 설명

    • int32 unique_id : 물체의 unique id 값

    • int32 type : 물체의 타입

      • 0 : Pedestrian, 1 : Vehicle, 2: Obstacle

    • string name : 물체의 이름

    • float64 heading : 차량의 헤딩(deg)을 나타냄. 북쪽이 0deg 이며 동쪽에서 북쪽으로 이동할 때 +방향이다.

    • geometry_msgs/Vector3 velocity : 물체 헤딩방향의 속도(km/h).

      • float64 x : 차량 기준 좌표의 x축 방향 속도

      • float64 y : 차량 기준 좌표의 y축 방향 속도

      • float64 z : 차량 기준 좌표의 z축 방향 속도

    • geometry_msgs/Vector3 position : 물체의 위치 벡터

      • float64 x : 물체의 x(m단위) 위치를 나타내며 동쪽(East)이다.

      • float64 y : 물체의 y(m단위) 위치를 나타내며 북쪽(North)이다.

      • float64 z : 물체의 z(m단위) 위치를 나타내며 위(Up)다.

    • geometry_msgs/Vector3 acceleration : 물체의 가속도 벡터 ( https://morai.atlassian.net/wiki/spaces/MUMSP/pages/580649139 기준 )

      • float64 x : 물체의 x축 방향 가속도.

      • float64 y : 물체의 y축 방향 가속도.

      • float64 z : 물체의 z축 방향 가속도.

    • geometry_msgs/Vector3 position : 물체의 크기 벡터

      • float64 x : 물체의 x(m단위) 크기.

      • float64 y : 물체의 y(m단위) 크기.

      • float64 z : 물체의 z(m단위) 크기.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.