:MORAI Simulator Rosbag Replay 사용법

  • Rosbag Replay기능은 Rosbag 을 이용하여 Replay 하는 기능.
    사용자가 원하는 Scenario에 대한 Ego의 주행 데이터 및 주변 환경 데이터를 Rosbag으로 저장 및 Replay하여 Scenario를 재현할 수 있고, Ego 차량에 Sensor를 부착하여 Data set을 생성 할 수 있음.

Replay Mode

  • Rosbag Replay : Rosbag file을 Simulator에 직접 import 하여 replay.

  • Network Replay : Rosbag file을 ros환경에서 Play, Rosbag에 저장되어있는 /ReplayInfo_topic을
    Rosbridge를 통해 넘겨 받아 replay.

Rosbag Replay

Ego Vehicle 차종은 현재 시뮬레이터에서 선택한 차종으로 Rosbag Replay가 진행됨.

  • Simulator 상단 메뉴 PlayMode - Replay - Rosbag Replay 에서 Rosbag Replay를 진행 할 수 있음.

  1. 상단의 File List 에서 원하는 Rosbag 파일을 선택 후 Load 클릭.

  2. Load가 완료되면 Load Rosbag Info에 해당 Rosbag 파일의 정보를 확인.

  3. 그다음 Start를 클릭하면 Replayer Control Panel을 확인.

  4. Replayer Control Panel의 가운데 Play버튼을 눌러 실행 확인.

Option

  • Replayer Control Panel

    • Rosbag 파일 재생 Control

      • 화살표 버튼을 통해 재생을 조절

      • 상단 재생 바를 통해 Rosbag 파일의 재생 시점을 조절

      • 하단 재생 바를 통해 Rosbag 파일의 재생 속도를 조절

      • 재생 버튼 상단 숫자 : Rosbag 파일의 unix timestamp , 저장된 msgs의 수

  • 현재 재생 중인 시나리오의 상태 저장 기능

    • Replayer Control Panel 하단 Save 버튼 클릭 시 현재 재생 중인 상태의 Scenario 를 저장할 수 있음.

    • 저장된 시나리오는 Scenario - Save&Load 에서 확인 가능함.

  • Bridge Setting

    • 현재 재생되는 Rosbag 데이터를 Publish 하여 ROS환경에서 확인 가능.

    • Publish되는 Data의 정보는 다음과 같음.

      • Message Type : morai_msgs/ReplayInfo

      • Default Topic :  /ReplayInfo_topic


  • Select Replay / Offset / Sensor Frame Rate

    • Select Replay : Rosbag 파일 재생 시 Ego, Npc 차량, Pedestrain 정보를 재생 하는지 여부

    • Heading Offset :Ego vehicle의 heading 방향 Offset

    • Sensor Frame Rate : Rosbag Replay 진행 시 차량에 부착되어있는 Sensor Data의 저장 Rate(Hz)

    • Height Offset : Ego Vehicle 의 Z 방향 위치 Offset

      • Rosbag 파일 재생 시 아래 사진과 같이 차량이 땅에 파묻히는 경우가 생기면 Height Offset 기능을 이용하여 Ego Vehicle 의 위치를 조정 가능함.

  • Camera Setting

    • Perspective View : 자유롭게 움직일 수 있는 카메라 시점

    • Top View : 위에서 내려다 본 카메라 시점

    • Vehicle View : 현재 차량 중심의 카메라 시점

  • ROS 메세지를 이용한 Rosbag Replay 제어

    • ROS 메세지를 Publish 하여 Replay 기능을 활성 화 및 종료 가능함.

    • Replay 기능의 옵션 및 시점 진행 속도 등을 제어 할 수 있음.

  • Rosbag Replay 창 Select Mode 옵션

    • VEHICLE : 주변 차량 정보가 그대로 출력 됨.

    • BOX : 주변 차량 정보가 BOX 모양으로 출력 됨.


Network Replay

  • ROS 환경에서 Rosbag 파일을 Play, rosbridge를 통해 데이터를 Subscribe 하여 Replay

    Bridge Setting의 IP, PORT에 Rosbag file을 play하는 ROS환경의 rosbridge ip, port 를 입력.

  1. Connect를 눌러 좌측 상단의 Replayer Control Panel 확인.

  2. Dataset 및 Draw Mode 확인 및 선택.

  3. ROS 환경에서 Rosbag file play 하여 실행 확인.

Option

  • Replayer Control Panel

    • Connect 연결 후 Replayer Control Panel 을 통해 Rosbag 재생 시뮬레이션의 시점을 조절 할 수 있음

      • Perspective View : 자유롭게 움직일 수 있는 카메라 시점

      • Top View : 위에서 내려다 본 카메라 시점

      • Vehicle View : 현재 차량 중심의 카메라 시점

    • Connect 연결 후 Replayer Control Panel 이 나오면 Ubuntu 에서 Publish 되는 Rosbag 파일에 맞춰 Replay 가 재생됨.

  • ROS 환경 Setting

    • Ros bridge 실행

      • $ roslaunch rosbridge_server rosbridge_websocket.launch

    • Rosbag 파일 재생

      • 터미널을 Rosbag 파일이 저장된 경로로 이동

      • $ rosbag play (Rosbag 파일 이름.bag)

      • rosbag play 이후 Publish 되는 데이터 rqt 를 통해 확인 가능함.


ETC

Rosbag 파일 생성

  • Ubuntu 환경에서 ROS Topic 데이터를 저장하여 .bag 형식의 Rosbag 파일을 생성 할 수 있다.

  • 시뮬레이터 실행 후 Ubuntu 환경에서 rosbridge 를 연결 한다.

  • ROS Topic 확인

    • $ rostopic list

    • 현재 연결되어 있는 ROS Topic 종류를 볼 수 있다.

  • ROS Bag 파일 생성

    • $ rosbag record /ReplayInfo_topic

      • ReplayInfo_topic에는 다음과 같은 데이터들이 포함되어있다.

        • Ego 관련 정보

          • ego_acc

          • ego_brake

          • ego_steer

          • ego_orientation_x

          • ego_orientation_y

          • ego_orientation_z

          • ego_orientation_w

          • ego_linearAcceleration_x

          • ego_linearAcceleration_y

          • ego_linearAcceleration_z

        • Object(NPC Vehicle, Pedestrian, Obstacle) 관련 정보

          • num_of_object

          • object_type

          • object_id

          • pose_x :

          • pose_y

          • pose_z

          • heading

          • size_x

          • size_y

          • size_z

          • velocity

      • ROS 메세지 에 대한 자세한 설명은 다음 페이지 참조 : ROS 메시지 설정 방법 및 타입 설명

    • rosbag record 실행 시 현재 터미널 경로에 .bag 형식의 파일이 저장 된다.

Rosbag 파일 저장

  • 생성한 Rosbag파일을 Launcher 폴더의 Data\SaveFile\Rosbag 에 옮긴다.

상단 메뉴 Replay Mode - Rosbag Replay 클릭 하단의 Open 선택 Rosbag 파일 저장 경로의 폴더가 나온다


rosbag Replay 사용 예제

  • 아래 링크를 통해 Rosbag 예제 파일을 다운 받는다
    replay_example.bag

    • 다운 받은 Rosbag 파일을 저장하여 아래 영상과 같이 재생 할 수 있다.

  • Rosbag Replay 예제 영상

Network Replay 사용 예제