본문 바로가기
Language & Framework & GIT/ROS2

[ROS] ROS 1, 2의 rosbag 주요 차이점

by veganwithbacon 2023. 11. 1.
반응형

 

  ROS 1, 2의 rosbag 주요 차이점



1. 데이터 형식

  • ROS 1: ROS 1에서는 메시지 형식을 .msg 파일을 사용하여 정의한다.
  • ROS 2: ROS 2에서는 IDL(Interface Definition Language) 형식을 사용하여 메시지 형식을 정의한다. 이로 인해 ROS 2의 메시지 정의는 여러 언어와 플랫폼에서 메시지 정의를 공유할 수 있다.

 

2. 성능 및 확장성

ROS 2의 rosbag2는 ROS 1의rosbag보다 성능과 확장성 면에서 향상되었다.
더 큰 데이터셋과 빠른 녹화/재생 속도를 처리할 수 있다.

 

3. ROS 1과 ROS 2의 호환성

  • ROS 1의 rosbag은 ROS 1에서만 사용 가능하며, ROS 2와의 완전한 호환성이 없습니다.
  • ROS 2의 rosbag2는 ROS 2와의 완벽한 통합을 지원하며, ROS 1 노드와 통신하면서 데이터를 녹화하고 재생할 수 있습니다.

 

4. 기능 및 확장성

ROS 2의 rosbag2는 더 많은 기능을 제공합니다. 예를 들어, 데이터 필터링, 압축, 암호화, 데이터 정리 및 변환 등의 고급 기능을 제공합니다.

 

5. 노드 명명 규칙

  • ROS 1에서는 노드 이름이 '/'로 시작해야 하나[]==.
  • ROS 2는 노드 이름에 더 많은 융통성을 제공하며, '/'로 시작하지 않아도 된다.

 

6. 파일 형식

  • ROS 1의 rosbag 파일 형식은 .bag이며, ROS 2의 rosbag2 파일 형식은 .db3

 

7. 도구 및 명령어

  • ROS 1의 rosbag 사용: rosbag record, rosbag play
  • ROS 2의 rosbag2 사용: ros2 bag record, ros2 bag play

 

8. 메시지 형식 변환

  • ROS 1에서는 메시지 형식 변환에 일부 제약이 있을 수 있으며, 메시지의 호환성을 확인해야 합니다.
  • ROS 2는 더 강력한 메시지 변환 도구를 제공하며, 메시지 형식을 더 쉽게 변환할 수 있습니다.

 

반응형

'Language & Framework & GIT > ROS2' 카테고리의 다른 글

[ROS] RQT?  (68) 2023.11.20
[ROS] ROS2, No executable found  (88) 2023.11.01
[ROS] node  (66) 2023.10.29
[ROS] Turtlesim  (57) 2023.10.29
[ROS2] ROS2 BAG 명령어  (72) 2023.10.27

댓글