Loading the catalog…
Loading the catalog…
이번에는 ROS 2에서 노드들이 서로 데이터를 주고받는 메시지 통신 방식에 대해 정리했다. ROS 2에서는 여러 개의 노드가 서로 유기적으로 연결되어 하나의 시스템을 구성한다. 각각의 노드는 독립적인 프로그램처럼 동작하지만, 노드 사이에서 메시지를 주고받으면서 서로 연동된다. 수행해야 하는 작업이 많아질수록 노드의 수와 노드 사이의 메시지 연결도 증가하며, 이를 통해 ROS 시스템을 확장할 수 있다. 1. Topic Topic은 ROS에서 가장 기본적으로 사용되는 메시지 통신 방식이다. 토픽은 비동기식 단방향 메시지 송수신 방식으로, 메시지를 발행하는 Publisher 와 메시지를 구독하는 Subscriber 사이에서 통신이 이루어진다. Publisher │ │ Message ↓ Topic │ ↓ Subscriber 토픽 통신은 다음과 같이 다양한 형태로 구성할 수 있다. 1 : N N : 1 N : N 즉, 하나의 Publisher가 여러 Subscriber에게 메시지를 전달할 수도 있고, 여러 Publisher와 Subscriber가 연결되는 구조도 가능하다. 토픽은 비동기적으로 연속적인 데이터를 전달할 수 있기 때문에 ROS 메시지 통신에서 가장 널리 사용되는 방식이다. 2. Service Service는 토픽과 달리 동기식 양방향 메시지 송수신 방식이다. 서비스를 요청하는 쪽을 Service Client , 요청을 받아 처리하고 결과를 전달하는 쪽을 Service Server 라고 한다. Service Client │ │ Request ↓ Service Server │ │ Response ↓ Service Client 즉, 특정 작업을 요청하고 그 작업이 수행된 후 결과를 받는 방식이다. 서비스에서 사용하는 요청과 응답 메시지는 srv 메시지 형태로 구성된다. 3. Action Action은 서비스와 토픽의 특성을 함께 사용하는 통신 방식이다. 액션에서는 Action Client 가 수행하고자 하는 목표인 Goal을 전달하고, Action Server 는 해당 목표를 수행하면서 중간 상태를 Feedback으로 전달하며 작업이 끝나면 최종 결과인 Result를 전달한다. Action Client │ │ Goal ↓ Action Server │ ├──── Feedback ───→ │ └──── Result ─────→ 따라서 액션은 비동기식과 동기식 양방향 통신의 특성을 함께 가진다. Action의 구조 액션의 동작 방식을 조금 더 자세히 보면 토픽과 서비스가 혼합된 형태로 볼 수 있다. Goal → 서비스와 같은 방식 Result → 서비스와 같은 방식 Feedback → 토픽과 같은 방식 즉, Action ├── Goal ├── Feedback └── Result 의 구조로 데이터를 주고받는다. 액션에서 사용하는 메시지도 action 메시지 형태로 구분된다. 4. Parameter Parameter는 노드의 설정값이나 매개변수를 외부에서 쉽게 지정하거나 변경할 수 있도록 사용하는 기능이다. 각 노드는 자신의 파라미터를 가지고 있으며, 외부에서 파라미터 값을 설정하거나 변경하고 가져올 수 있다. Parameter Client │ │ Set / Get ↓ Parameter Server │ ↓ Node 파라미터는 서비스와 비슷하게 값을 요청하고 변경할 수 있지만, 목적에는 차이가 있다. 서비스는 특정 작업에 대한 요청과 응답을 위한 통신이고, 파라미터는 노드 내부 또는 글로벌 설정값을 지정하거나 변경하고 가져오기 위한 목적으로 사용된다. 5. ROS 2 메시지 통신 정리 이번 내용을 정리하면 ROS 2에서는 목적에 따라 다양한 메시지 통신 방식을 사용할 수 있다. 통신 방식 특징 주요 용도 Topic 비동기식 단방향 연속적인 데이터 전달 Service 동기식 양방향 요청 및 응답 Action 비동기식 + 동기식 양방향 Goal, Feedback, Result가 필요한 작업 Parameter 설정값의 Set / Get 노드의 매개변수 설정 및 변경 전체적으로 보면 ROS 2의 노드는 서로 독립적으로 동작하면서도 이러한 메시지 통신 방식을 통해 서로 연결된다. ROS 2 Node │ ┌─────────────┼─────────────┐ ↓ ↓ ↓ Topic Service Action │ │ │ Publisher / Request / Goal / Feedback Subscriber Response / Result │ ↓ Parameter Set / Get
What RADAR observed and classified to build this opportunity. It is what the source published, not a verification that the offer is still active.
Ubuntu ROS 실습(9). 이번에는 ROS 2에서 노드들이 서로 데이터를 주고받는 메시지 통신 방식에 대해 정리했다. ROS 2에서는 여러 개의 노드가 서로 유기적으로 연결되어 하나의 시스템을 구성한다. 각각의 노드는 독립적인 프로그램처럼 동작하지만, 노드 사이에서 메시지를 주고받으면서 서로 연동된다. 수행해야 하는 작업이 많아질수록 노드의 수와 노드 사이의 메시지 연결도 증가하며, 이를 통해 ROS 시스템을 확장할 수 있다. 1. Topic Topic은 ROS에서 가장 기본적으로 사용되는 메시지 통신 방식이다. 토픽은 비동기식 단방향 메시지 송수신 방식으로, 메시지를 발행하는 Publisher 와 메시지를 구독하는 Subscriber 사이에서 통신이 이루어진다. Publisher │ │…
Open source