1) Graph
그래프는 동시에 데이터를 처리하는 ROS2요소의 네트워크이다.
모든 실행 파일과 실행파일간의 연결을 mapping 하고 시각화하려면
그래프는 실행파일과 그들사이의 연결 모두를 포함한다.
2) Nodes in ROS2
node는 휠모터를 제어/ 센서데이터를 게시 하는 것과 같이 단일 모듈식 목적을 담당해야함.
각 node는 “topic, service, actions, parameter”를 통해 다른 노드와 데이터를 주고 받는다.
사진 처럼 하나의 노드에서 topic 에 메세지를 보내 다른 node와 메세지를 통신함. (topic이 아니라 action service 등이 와도 동일)
완전한 로봇 시스템은 많은 노드로 구성된다. 이들은 서로 협력하고 교류하며 시스템을 구성.
ROS2에서 단일 실행파일 (C++, Python)은 하나 이상의 노드를 포함할 수 있다.
1. ros2run
명령어 ros2 run
은 패키지로부터 실행가능한 파일을 실행한다. 예를들어 turtlesim
노드를 실행시키는 명령어는 아래와 같다.
ros2 run turtlesim turtlesim_node
// $ ros2 run <패키지명> <실행가능 한 파일명>
여기서 패키지명 = turtlesim 이고 이중에 실행 가능 한 파일중 하나가 turtlesim_node인 노드이다.
실행된 파일의 노드 이름을 알기 위해서는 ros2 node list
명령어를 사용하여 실행중인 node의 이름을 알 수 있다.