ROS2

[ROS2] Topics, Services, Actions 차이

_yh47 2024. 6. 11. 13:21

 

ROS2 애플리케이션은 topics / services / actions 세 가지 유형 중 하나의 인터페이스를 통해 통신합니다.

 

Topics

  • : 지속적으로 받아야하는 센서 데이터, 로봇 상태 등과 같은 데이터 스트림에 사용
  • 토픽은 Publisher / Subscriber 형태로 데이터 통신
  • 1:1 1:N N:N 통신 가능
  • 비동기식 단방향 메시지 송수신 방식

출처: https://docs.ros.org/en/humble/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Topics/Understanding-ROS2-Topics.html

 

 

 

Services

 

  • Request / Response 구조와 Publisher / Subscriber 혼합 방식
  • 동기식 양방향 메시지 송수신 방식

데이터 스트림을 Subscribe하고 지속적인 업데이트를 받을 수 있는 토픽과는 달리, 서비스는 클라이언트가 call(호출)할 때만 데이터를 제공합니다.

 

 

 

 

 

Actions

  • 로봇을 이동시키는 개별적인 동작이나 실행 중에 피드백을 제공하는 긴 시간 동안 실행되는 동작에 사용
  • 비동기식 양방향 메시지 송수신 방식
  • goal / feedback / result 세 부분으로 구성

Goal          : 클라이언트가 서버에게 특정 작업을 요청

Feedback : 작업이 진행 중일 때 클라이언트에게 중간 상태를 제공

Result       : 작업이 완료되었을 때 클라이언트엑세 전달되는 최종 결과를 전송

 

 

반응형