ROS 기본 용어
Node
- 최소 단위의 실행 가능한 프로세서를 가리키는 용어로써 하나의 실행 가능한 프로그램으로 생각하면 된다. ROS에서는 최소한의 실행 단위로 프로그램을 나누어 작업하게 된다. 각 노드는 메시지 통신으로 데이터를 주고받는다.
Package
- 하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것. 또한, 패키지의 묶음을 메타 패키지라 하여 따로 분리한다.
Message
- 메시지를 통해 노드 간의 데이터를 주고받게 된다. 메시지는 integer, floating point, boolean와 같은 변수 형태이다. 또한, 메시지 안에 메시지를 품고 있는 간단한 데이터 구조 및 메시지들의 배열과 같은 구조도 사용할 수 있다.
ROS
- 로봇 응용 프로그램의 개발을 위한 운영체제와 같은 로봇 소프트웨어 플랫폼
마스터(Master)
- 노드와 노드 사이 연결, 메시지 통신을 위한 네임 서버와 같은 역할, roscore가 마스터 실행 명령이며, 각 노드들의 이름을 등록하고 필요에 따라 정보를 받을 수 있다. 마스터 없이는 노드 간의 접속, 토픽과 서비스와 같은 메시지 통신할 수 없다.
Topic, Publisher, Subscriber
쉽게 설명하자면 우리가 Publisher 한 명의 유튜버가 영상을 올린거라고 생각하고 Subscriber는 구독자라고 생각하면 정말 간단하다 유튜버가 영상을 올리면 한명의 구독자가 보는 것이 아니고 한 유튜버의 영상을 다수에 인원이 보는 거라고 생각하면 정말 간단하다!!
Service, SErvice server, Servise clien
서비스(Service)는 쉽게 말하면 클라이언트 요청이 있을 때 만 서버에서 응답해준다. 요청과 응답이 끊기면 노드 접속 끊김으로 이어지고 서비스는 양방향, 동기 통신이고 요청 처리가 순간적인 현재 상태의 요청 및 응답을 한다.
Action, Action server, Action client
액션(Action)은 서버와 다르게 클라이언트가 요청을 하면 중간중간에 중간결과를 전달하고 결과를 전달한다 메시지 전송 방식 자체는 비동기식인 토픽과 동일하고 액션은 양방향, 비동기 통신이다.
'ROS' 카테고리의 다른 글
ROS catkin을 이용한 패키지 만들기 (1) | 2021.06.08 |
---|---|
ROS catkin 설치 방법 (0) | 2021.06.08 |
ROS 설치 과정 (0) | 2021.06.07 |
ROS 이론과 명령어1 (0) | 2021.06.07 |