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를 누릅니다.
다음 편