Skip to main content
Skip table of contents

Replay - Rosbag

본 페이지는 Rosbag 파일을 이용하여 Replay하는 기능인 Rosbag Replay에 대해 설명한다.


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 파일을 더블 클릭

  2. Load 가 완료되면 Message Type 에서 해당 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 차량, Pedestrian 정보를 재생 하는지 여부

    • 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 모양으로 출력 됨

VEHICLE

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 를 통해 확인 가능함


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 사용 예제

JavaScript errors detected

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

If this problem persists, please contact our support.