turtlesim_node

로봇이 없어도 ROS 2를 연습할 수 있을까?

turtlesim

거북이가 연습용 로봇입니다

turtlesim은 ROS 2를 배우려고 만든 가벼운 2D 시뮬레이터입니다. 거북이 한 마리가 로봇 역할을 합니다. 진짜 로봇에서 쓰는 노드, 토픽, 서비스를 그대로 써 볼 수 있습니다.

이 강의는 12강까지 turtlesim으로 실습합니다.

명령의 모양

ros2 run에는 이름이 둘

ros2 run 뒤에는 패키지(package) 이름과 그 안의 실행 파일(executable) 이름을 적습니다. 패키지는 관련된 프로그램과 파일을 묶어 둔 단위입니다(5강).

따라 하기

패키지 안에 무엇이 있나

ros2 pkg executables turtlesim은 turtlesim 패키지에 든 실행 파일을 보여 줍니다. 이번에 띄울 것은 turtlesim_node, 다음 편에서 쓸 것은 turtle_teleop_key입니다.

ros-jazzy-desktop에 이미 들어 있습니다. 없다고 나오면 sudo apt install ros-jazzy-turtlesim을 합니다.

따라 하기

명령 한 줄에 창이 뜹니다

ros2 run turtlesim turtlesim_node를 치면 거북이 창이 뜹니다. 터미널에는 노드 이름 /turtlesim과, 첫 거북이 turtle1이 태어난 자리가 찍힙니다.

[...]는 시각을 줄인 것이고, 긴 줄은 접어 보였습니다.

창 읽기

가운데에 turtle1이 태어납니다

창 안은 왼쪽 아래가 (0, 0), 오른쪽 위가 약 (11, 11)인 좌표 평면입니다. 첫 거북이 turtle1은 가운데 (5.54, 5.54)에서 오른쪽(theta 0)을 보고 태어납니다.

거북이 그림은 실행할 때마다 무작위로 바뀝니다. 각도 theta의 단위는 라디안입니다.

노드

도는 이 프로그램이 노드입니다

turtlesim_node를 실행하면 노드(node) /turtlesim이 생깁니다. 이 노드는 움직임 명령을 듣고, 자기 위치와 색을 내보냅니다. 새 터미널에서 ros2 node list로 확인합니다.

노드와 토픽은 3강에서 자세히 봅니다. 그림의 토픽은 일부입니다.

끄기

끌 때는 그 터미널에서 Ctrl+C

노드를 띄운 터미널은 노드가 도는 동안 그 노드가 차지합니다. 다른 명령은 새 터미널을 열어서 칩니다. 끌 때는 노드가 도는 터미널을 누르고 Ctrl+C를 누릅니다.

다음 편

이 거북이를 키보드로 움직이려면?

5편키보드로 거북이 몰기 2강 목록