본문 바로가기
Language & Framework & GIT/ROS2

[ROS] node

by veganwithbacon 2023. 10. 29.
반응형

  노드(node) : 최소 단위의 실행 가능한 프로세스를 가리키는 용어

ROS에선 보통 최소한의 실행 단위로 프로그램을 나누어 작업한다.

 

수많은 노드들이 연동되는 ROS 시스템을 위해서는,

노드와 노드 사이에 입출력 데이터를 주고받을 수 있도록 설계해야한다.

이 때 데이터를 주고받는 데이터를 메시지(Message)라고하며, 방식을 메시지 통신(Message Communication)이라고 한다.

 

메시지를 주고 받는 통신 방법에 따라 토픽(Topic), 서비스(Service), 액션(Action), 파라미터(Parameter)로 나눌 수 있다.

 

 

  노드 실행(ros2 run)

ros2 run : 하나의 노드를 실행시키는 커맨드

ros2 launch : 하나 이상의 노드를 실행시키는 커맨드(복수의 노드를 실행시키면 동일한 노드 이름으로 실행된다)

ex) ros2 run turtlesim turtlesim_node

 

노드명을 달리하고 싶다면 아래와 같이 사용하면 된다.

ros2 run turtlesim turtlesim_node __node:=new_turtle

 

 

  노드 목록(ros2 node list)

현 개발환경에서 동작 중인 노드 목록을 보려면, ros2 node list를 쓰면 된다.

노드 목록을 볼때 rqt_graph의 경우 rqt플러그인 형태로 실행되어 rqt_gui_py_12341과 같은 노드를 만들게 된다.

rqt는 다양한 툴을 복수 개 사용가능하도록 노드 이름 뒤에 프로세스 아이디가 붙는다.

 

  노드 정보(ros2 node info)

ros2 node info 명령어에 정보를 보기 위한 노드명을 지정하면 된다.

publishers, Subscriber, Service, Action, Parameter정보를 확인 가능하다.

 

 

- 기록은 기억을 어쩌구저쩌구

반응형

댓글