ROS 2 ROS interface 란?

권호떡의 데싸정복·2024년 10월 5일

ROS interface 란?

  • ROS 노드간에 데이터를 주고받을 때에는 토픽, 서비스, 액션이 사용되는데 이 때 사용되는 데이터 형태를 ROS interface라고 함

message interface

  • 토픽은 고유의 인터페이스를 가지는데 이를 message interface라고 부르며 파일로는 msg파일을 뜻함
  • 위 예제에서 /turtle1/cmd_vel 토픽은 geometry_msgs/msgs/Twist 형태
  • 데이터 형태를 보면 vector3 linear과 vector3 angular 이라는 2개의 메시지가 존재하며 float64 형태의 x, y, z값이 존재함
# geometry_msgs 패키지에 있는 Twist 메시지의 구조 또는 정의를 보여줌
$ ros2 interface show geometry_msgs/msg/Twist

# Twist내에 사용되는 Vector3 메시지의 구조를 표시
# 3D공간에서 위치나 속도를 설명하는데 일반적으로 사용되는 3D 벡터를 나타냄
$ ros2 interface show geometry_msgs/msg/Vector3

# msg, servivce, action의 사용 가능한 명령어 list를 보여준다.
$ ros2 interface list

# ROS2의 모든 패키지 나열
$ ros2 interface packages

# turtlesim에 속하는 패키지 나열
$ ros2 interface package turtlesim

# Twist 메시지 모양에 대한 예시 (프로토타입)을 보여줌
$ ros2 interface proto geometry_msgs/msg/Twist


linear와 angular vector의 모든 구성요소가 0으로 설정된 메시지 구조를 볼 수 있음

profile
데이터사이언스정복

0개의 댓글