반응형

Node

최소 단위의 실행 가능한 프로세서를 가리키는 용어이다.

한가지의 일을 하나의 노드라고 볼 수 있고 하나의 실행 가능한 프로그램이라고

생각할 수 있을 것 이다.

ROS에서는 최소한의 실행단위로 프로그램을 나누어 작업하게 되는데 각 노드는

메시지 통신으로 데이터를 주고 받게 된다.

 

Package

하나 이상의 노드들의 실행을 위한 정보 등을 묶어 놓은 것이다.

하나의 노드는 실질적으로 사용하기 힘들다

실행 가능한 여러개의 노드들을 묶어놓은 것으로 볼 수 있다.

 

Message

메시지를 통해 노드간의 데이터를 주고 받게 된다.

각각의 노드가 작성되어 있는데 노드1과 노드2를 연동시키기 위해 메시지통신을 사용한다.

Message는 integer, floating point, boolean 와 같은 변수 형태이다.

 

Topic

단방향, 연속성을 가진 통신용어이다.

일방적인 데이터를 계속 보낼 때 사용되며 예를들어 센서를 사용할때

센서의 데이터값을 일방적으로 계속 보내야하므로 그럴 때 사용된다.

 

Publisher

통신을 할 때 메시지를 보내는 부분을 Publisher 이라 한다.

 

Subscriber

통신을 할 때 메시지를 받는 부분을 Subscriber 이라 한다.

 

(통신은 기본적으로 1:1통신 뿐 아니라 1:N, N:1, N:N 통신 모두 가능하다)

 

 

Service

위의 Topic과는 다르게 양방향 통신이 필요할 때 사용된다.

 

Service client 는 메시지를 요청하는 부분,

Service server 은 그에 대응하여 실행, 즉 process를 실행하는 부분이다.

 

 

Master

각 실행되는 노드들을 관리하는 부분이다.

노드가 실행되게 되면 노드의 정보를 받는데

노드의 이름, Topic의 이름, 어떤 형태의 메시지를 보낼 것인지, IP정보와 포트번호 등의

정보를 받아 다른노드와의 통신을 돕는다.

 

Rosrun

rosrun을 이용하여 하나의 노드를 실행시키게 되는데

$rosrun turtlesim turtlesim_node 에서

turtlesim 은 package의 이름, turtlesim_node는 노드의 이름이다.

반응형

+ Recent posts