ROS 2
ROS 2 Tutorials : Understanding nodes
정지홍
2024. 12. 31. 15:03
background
- 1. ros 2 graph
- 다음에 배울 몇몇 튜토리얼에서, ROS 2 graph라고 언급되는 것을 만드는 series of core ROS 2 개념을 배울것이다.
- ROS graph는 동일한 시간에, 같이 data를 processing하는 network of ROS 2의 요소이다.
이것은 모든 executables와 connections들을 모두 맵핑하여 시각화하는 것이 포함한다.

Tasks
- 1. 우선 turtlesim을 실행시킨다.
- turtlesim이 package이름이며, turtlesim_node가 executable이다.
ros2 run turtlesim turtlesim_node
- 2. 실행중인 노드의 이름을 확인해본다.
- 위에서 turtlesim노드를 실행시켰었음.
ros2 node list

- 3. 거북이를 움직이는 명령어를 입력하고, 실행중인 노드를 조회한다.
# 새로운 터미널에 입력
ros2 run turtlesim turtle_teleop_key
# 기존 터미널에 입력
ros2 node list

- 4. remapping
- remapping이란?
- remapping은 기존에 default로 설정된 node properties( node name , topic names , service names등)을 사용자가 변경할 수 있다.
앞의 튜토리얼에서는 turtle_teleop_key를 turtle1에서 turtle2로 변경하였다.
- remapping은 기존에 default로 설정된 node properties( node name , topic names , service names등)을 사용자가 변경할 수 있다.
- 아래의 명령어를 입력하자. 그러면 새로운 turtlesim창이 하나 더 나올 것 이다.
- __node:=my_turtle을 사용하여, 기본 노드 이름인 turlesim_node를 my_turtle로 변경하였다.
- remapping이란?
# 이 명령어는 turtlesim 패키지의 기본 노드인 turtlesim_node를 실행하면서, 노드의 이름을 my_turtle로 변경한다.
# __node:=my_turtle 인자를 통해서 노드 이름을 재맵핑해서, 여러개의 노드를 실행할 때 충돌 피함이 가능
ros2 run turtlesim turtlesim_node --ros-args --remap __node:=my_turtle

- 5. 노드에 대한 정보 확인
- 이렇게 조회하여, ros graph의 connections들로 다른 node와 어떻게 interact하는지 볼 수 있다.
ros2 node info node_name


summary
- 이번에는 turtlesim package를 이용하여 utilized하여 새로운 node를 생성하였다.
- 또한, ros2 node list를 사용하여 active한 node의 이름들을 조회하였다.
그리고, ros node info를 이용하여, 특정한 노드에 대한 정보를 조회하였다.- 이 tool은 complex한 현실세계의 로봇 시스템의 flow of data 이해하기 위해서 필수적이다.
