rosbag

정승균·2021년 1월 12일
0

ROS

목록 보기
12/14
post-thumbnail

topic을 구독하여 기록하고 저장 / 기록한 파일을 다시 재생 하는 패키지


1. record

  • rosbag record [options] topic1, topic2 ...
    • -a : 모든 토픽 저장
    • -O : 저장 파일명 설정
    • -e : 저장할 토픽 정규표현식
    • -x : 제외할 토픽 정규표현식
    • -q : queit mode

2. play

  • rosbag play [option] rosbag_file1 rosbag_file2 ...
    • -r : 재생 속도
    • -l : 루프
    • --wait_for_subscribers : 구독노드과 연결되면 재생
    • -q : queit mode

3. info

  • rosbag info rosbag_file1 ...
    로스백 파일 정보 출력

4. 터미널에서 실행시 예

  • 기록 : $ rosbag record -O file_name.bag topic_name1 topic_name2 ...

  • 재생 : $ rosbag play file_name1.bag file_name2.bag ...


5. launch 파일에서 실행시 예

  • 기록
<node pkg="rosbag" type="record" name="rosbag_record"
      args="-O $(find my_pkg1)/src/file_name.bag topic_name" output="screen"/>
  • 재생
<node pkg="rosbag" type="play" name="rosbag_play" args="$(find my_pkg1)/src/file_name.bag" />

6. 실습

  • turtlesim의 키보드 조작을 기록하고 재생해보기

  • 기록

<launch>
    <node pkg="turtlesim" type="turtlesim_node" name="turtlesim_node"/>
    <node pkg="turtlesim" type="turtle_teleop_key" name="keyboard"/>
    <node pkg="rosbag" type="record" name="rosbag_record"
          args="-O $(find my_pkg1)/src/turtle.bag turtle1/cmd_vel" output="screen"/>
</launch>

  • 재생
<launch>
    <node pkg="turtlesim" type="turtlesim_node" name="turtlesim_node"/>
    <node pkg="rosbag" type="play" name="rosbag_play" 
          args="$(find my_pkg1)/src/turtle.bag" />
</launch>

0개의 댓글