ROS2의 Turtlesim 예제를 진행해보자.
이 예제는 ROS2의 기본 개념인 노드 간 통신, 토픽, 그리고 시각화 도구의 사용을 보여준다.
Turtlesim은 간단하지만 ROS2의 핵심 기능을 이해하는 데 매우 유용한 도구이다.

Turtlesim 예제

코드 실행


본인이 만들어 놓은 워크스페이스에 가서 터미널을 열어준다. 그러면 자동으로 ros 2 환경설정이 된다.

$ ros2 run turtlesim turtlesim_node

$ ros2 run turtlesim turtle_teleop_key

$ ros2 topic echo /turtle1/cmd_vel

$ rqt

저 명령어를 모두 각각의 터미널에서 실행시켜준다. 즉 4개의 터미널을 이용한다.

ros2 run turtlesim turtlesim_node

  • Turtlesim 시뮬레이터가 실행되면 열린 상태로 유지된다.

ros2 run turtlesim turtle_teleop_key

  • 키보드 입력을 받아 거북이를 조종할 수 있다.
    앞으로는 못가더라. 그냥 방향만 바꿀 수 있다.
  • 시뮬레이터를 클릭 후 키보드 입력을 하는게 아니라 해당 코드를 실행한 터미널에서 키보드 입력을 해야한다.

ros2 topic echo /turtle1/cmd_vel

  • 거북이의 속도와 각도를 실시간으로 모니터링할 수 있다.

rqt

  • rqt 그래픽 도구를 실행한다.

Plugins -> Topics -> Message Publisher를 누르고 Topic 부분을 /turtle1/cmd_vel 로 설정해준다. (우리가 초기에 터미널에 설정해준대로)
이 후 Hz 옆의 + 버튼을 눌러주면 추가가되고 값을 바꾸면 거북이가 움직인다.

각 터미널은 별도의 프로세스를 실행하며, 서로 통신하며 전체 시스템을 구성한다.
이렇게 여러 터미널을 사용하는 것이 ROS 2의 분산 시스템의 특성을 잘 보여준다.

profile
데이터사이언스정복

0개의 댓글