노드(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정보를 확인 가능하다.
- 기록은 기억을 어쩌구저쩌구
'Language & Framework & GIT > ROS2' 카테고리의 다른 글
[ROS] ROS2, No executable found (88) | 2023.11.01 |
---|---|
[ROS] ROS 1, 2의 rosbag 주요 차이점 (64) | 2023.11.01 |
[ROS] Turtlesim (57) | 2023.10.29 |
[ROS2] ROS2 BAG 명령어 (72) | 2023.10.27 |
[ROS] source /opt/ros/humble/setup.bash 와 source install/local_setup.bash 의 차이 (88) | 2023.10.25 |
댓글