배경

1) Graph

그래프는 동시에 데이터를 처리하는 ROS2요소의 네트워크이다.

모든 실행 파일과 실행파일간의 연결을 mapping 하고 시각화하려면

그래프는 실행파일과 그들사이의 연결 모두를 포함한다.

2) Nodes in ROS2

node는 휠모터를 제어/ 센서데이터를 게시 하는 것과 같이 단일 모듈식 목적을 담당해야함.

각 node는 “topic, service, actions, parameter”를 통해 다른 노드와 데이터를 주고 받는다.

Untitled

Untitled

사진 처럼 하나의 노드에서 topic 에 메세지를 보내 다른 node와 메세지를 통신함. (topic이 아니라 action service 등이 와도 동일)

완전한 로봇 시스템은 많은 노드로 구성된다. 이들은 서로 협력하고 교류하며 시스템을 구성.

ROS2에서 단일 실행파일 (C++, Python)은 하나 이상의 노드를 포함할 수 있다.

Task

1. ros2run

명령어 ros2 run은 패키지로부터 실행가능한 파일을 실행한다. 예를들어 turtlesim 노드를 실행시키는 명령어는 아래와 같다.

ros2 run turtlesim turtlesim_node
// $ ros2 run <패키지명> <실행가능 한 파일명>

여기서 패키지명 = turtlesim 이고 이중에 실행 가능 한 파일중 하나가 turtlesim_node인 노드이다.

실행된 파일의 노드 이름을 알기 위해서는 ros2 node list명령어를 사용하여 실행중인 node의 이름을 알 수 있다.