[ROS] Publisher ➾ Subscriber - MACH-CAU/UAM GitHub Wiki

ROS에서 publisher(게시자)와 subscriber(구독자)는 노드(Node) 간에 데이터를 교환하는 메커니즘을 나타냅니다. 이들은 ROS의 토픽(Topic) 기반 통신에서 사용됩니다.

Publisher는 특정 주제(Topic)에 대한 데이터를 발행(publish)하는 노드입니다. Topic에 관련된 데이터를 생성하거나 다른 소스에서 받아와서 해당 주제에 데이터를 게시합니다. 현재 진행 중인 VTOL Project를 예로 들면 VTOL이 미션을 수행하기 위해 움직일 목표 지점(Way-point) 데이터들을 발행하는 노드가 Publisher입니다. (쉽게 말해 원하는 데이터를 만드는 노드라고 생각하시면 됩니다.)

Subscriber는 특정 주제에 대한 데이터를 수신(subscribe)하는 노드입니다. Topic에 발행된 데이터를 수신하고 필요한 작업을 수행하기 위해 해당 데이터를 처리합니다. 동일하게 VTOL Project를 예로 들면 VTOL의 현재 위치(Local position) 데이터를 받거나 목표 지점(Way-point)의 데이터를 수신하고 작업을 수행하는 것이 Subscriber입니다. 위와 같은 데이터를 받아 장애물을 회피하거나 목표 지점으로 이동할 수 있습니다. (쉽게 말해 원하는 데이터를 받기 위한 노드라고 생각하시면 됩니다.)