Post

[ROS2] RQT

각각의 터미널에서 turtlesim_node와 turtle_teleop_key를 실행한다

turtle_keleop_key를 실행한 터미널에서 방향키로 거북이를 움직일 수 있다

1
2
3
ros2 run turtlesim turtlesim_node

ros2 run turtlesim turtle_teleop_key

image.png

image.png

새로운 터미널에서 RQT를 실행해보자

1
rqt

rqt란?
ROS에서 노드의 상태, 토픽, 파라미터 등을 시각적으로 모니터링하고 디버깅할 수 있는 그래픽 툴
rqt_graph, rqt_console, rqt_plot 등 다양한 플러그인을 통해 노드 간 통신 흐름, 로그 메시지, 데이터 시각화 등을 지원

image.png

Plugins→Introspection→Node Graph 를 선택하면 각 노드의 관계가 표시된다

화살표는 각 노드에서 주고받는 토픽, 서비스, 액션 등이 표시된다

image.png

image.png

서비스를 호출해보자

Plugins→Services→Service Caller를 선택

image.png

서비스 목록에서 /turtle1/set_pen을 선택

표시된 type의 값을 변경하고 call을 누르면 거북이의 이동 경로 표시가 변경된다

image.png

image.png

image.png

image.png

서비스 목록에서 /spawn을 호출하면 새로운 거북이가 나타난다

이름은 turtle2로 지어줬다

image.png

image.png

image.png

만약 거북이의 위치가 잘못되서 문제 발생시 /kill 에서 turtle2를 입력하고 호출하면 삭제된다

image.png

거북이2를 조종해보자

새로운 터미널에 아래 커맨드를 입력하면 새로운 거북이를 조종할 수 있다

1
2
3
ros2 run turtlesim turtle_teleop_key --ros-args --remap turtle1/cmd_vel:=turtle2/cmd_vel
# --ros-args : ROS2에서 추가적인 ROS 인수 전달을 허용
# --remap turtle1/cmd_vel:=turtle2/cmd_vel : `turtle1`의 `cmd_vel` 토픽을 `turtle2`의 `cmd_vel` 토픽으로 리매핑 (토픽 경로 변경)

image.png

image.png

This post is licensed under CC BY 4.0 by the author.