ROKEY/ROS2

[ROS2] BAG

dvl.hyeon_ 2025. 4. 22. 21:42
반응형

BAG

▪️시스템의 토픽에 게시된 데이터를 기록 및 재생하기 위한 기능

▪️각 토픽에서 수집된 데이터를 데이터베이스에 저장하며, 이를 재생하여 테스트 및 실험 결과 재현 가능


# BAG 파일 레코딩
$ ros2 bag record -o my_bag topic_name
- topic_name에서 수신되는 메시지를 "my_bag.bag"라는 BAG 파일에 레코딩함

# BAG 파일 재생
$ ros2 bag play my_bag
- "my_bag.bag"라는 BAG 파일을 재생

# BAG 파일 정보 표시
$ ros2 bag info my_bag
- "my_bag.bag"라는 BAG 파일의 정보를 표시


turtlesim을 이용한 BAG 예제

▶ BAG 레코딩

▪️1. 첫 번째 터미널: turtlesim_node 실행

$ ros2 run turtlesim turtlesim_node

▪️2. 두 번째 터미널: 거북이 이동을 위한 turtle_teleop_key 실행

$ ros2 run turtlesim turtlesim_teleop_key

▪️3. 세 번째 터미널: /turtle1/cmd_vel 토픽 기록

$ ros2 bag record -o turtle_bag /turtle1/cmd_vel

💥"Subscribed to topic '/turtle1/cmd_vel'"이 뜨는지 확인 필요

▪️4. 두 번째 터미널에서 방향키를 사용해 turtle을 임의로 이동

▪️5. 세번째 터미널에서 실행되고 있는 record 종료


▶ BAG 재생

▪️1. 세번째 터미널에서 저장된 BAG 파일 확인

$ ros2 bag info turtle\_bag

▪️2. 첫번째 터미널에서 실행중인 turtlesim을 종료 후 재실행

$ ros2 run turtlesim turtlesim_node

▪️3. 세번째 터미널에서 저장되어 있는 BAG 파일 재생

$ ros2 bag play turtle_bag

반응형