Загружаем каталог…
Загружаем каталог…
지난 실습에서는 ROS 2 Service의 기본적인 개념과 명령어를 확인했다. 이번에는 앞서 확인한 Service를 실제 TurtleSim에서 호출하면서 거북이 생성, 삭제, 펜 설정 변경, 위치 이동 등의 기능을 직접 실습해 보았다. 1. /clear Service 호출 먼저 TurtleSim에 기존에 그려져 있던 선을 지우기 위해 /clear Service를 호출했다. ros2 service call /clear std_srvs/srv/Empty 실행 결과: requester: making request: std_srvs.srv.Empty_Request() response: std_srvs.srv.Empty_Response() Service 호출이 정상적으로 처리되면서 TurtleSim 화면에 그려져 있던 선이 모두 지워지는 것을 확인했다. 2. /spawn Service로 새로운 거북이 생성 다음으로 /spawn Service를 이용해 새로운 거북이를 생성했다. 이번 실습에서는 turtle3 이라는 이름의 거북이를 (8.0, 8.0) 위치에 생성했다. ros2 service call /spawn turtlesim/srv/Spawn "{x: 8.0, y: 8.0, theta: 0.0, name: 'turtle3'}" 실행 결과: requester: making request: turtlesim.srv.Spawn_Request(x=8.0, y=8.0, theta=0.0, name='turtle3') response: turtlesim.srv.Spawn_Response(name='turtle3') TurtleSim 화면에 turtle3 이 새롭게 생성되는 것을 확인할 수 있었다. 3. /kill Service로 거북이 삭제 생성한 turtle3 을 삭제하기 위해 /kill Service를 호출했다. ros2 service call /kill turtlesim/srv/Kill "{name: 'turtle3'}" Service 호출 후 TurtleSim 화면에서 turtle3 이 사라지는 것을 확인했다. 이를 통해 실행 중인 TurtleSim의 특정 거북이를 Service를 이용해 삭제할 수 있었다. 4. /turtle1/set_pen Service 실습 다음으로 turtle1 이 그리는 선의 색상과 굵기를 변경해 보았다. ros2 service call /turtle1/set_pen turtlesim/srv/SetPen "{r: 0, g: 0, b: 255, width: 8}" 여기서는 RGB 값을 이용해 펜 색상을 설정하고 width 값으로 선의 굵기를 지정했다. 이후 turtle1 을 움직여 변경된 펜 설정이 실제로 적용되는 것을 확인했다. 5. /turtle1/teleport_absolute Service 실습 이번에는 turtle1 의 위치를 직접 변경해 보았다. ros2 service call /turtle1/teleport_absolute turtlesim/srv/TeleportAbsolute "{x: 5.0, y: 5.0, theta: 0.0}" 명령어를 실행하면 turtle1 이 지정한 좌표로 바로 이동한다. 실습을 통해 거북이를 직접 조작하지 않고도 Service를 이용해 특정 위치와 방향으로 순간이동시킬 수 있다는 것을 확인했다. 6. 여러 Service를 이용한 TurtleSim 조작 이번 실습에서는 하나의 Service만 사용하는 것이 아니라 여러 Service를 직접 호출해 보았다. /clear ↓ 화면의 이동 경로 초기화 /spawn ↓ 새로운 거북이 생성 /kill ↓ 거북이 삭제 /turtle1/set_pen ↓ 펜 색상 및 굵기 변경 /turtle1/teleport_absolute ↓ 거북이 위치 및 방향 변경 각각의 Service를 호출할 때마다 TurtleSim의 상태가 실제로 변경되는 것을 확인할 수 있었다. 마무리 이번 실습에서는 ROS 2에서 제공되는 Service를 직접 호출하여 TurtleSim을 제어해 보았다. 특히 새로운 거북이를 생성하거나 삭제하고, 펜의 색상과 굵기를 변경하고, 거북이를 원하는 위치로 이동시키는 등 Service를 이용해 실행 중인 노드의 기능을 직접 요청하는 과정을 확인할 수 있었다. 이번 실습을 통해 앞서 학습한 Service가 실제 ROS 2 환경에서 어떻게 활용되는지 확인할 수 있었다.
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
Ubuntu ROS 실습(14). 지난 실습에서는 ROS 2 Service의 기본적인 개념과 명령어를 확인했다. 이번에는 앞서 확인한 Service를 실제 TurtleSim에서 호출하면서 거북이 생성, 삭제, 펜 설정 변경, 위치 이동 등의 기능을 직접 실습해 보았다. 1. /clear Service 호출 먼저 TurtleSim에 기존에 그려져 있던 선을 지우기 위해 /clear Service를 호출했다. ros2 service call /clear std_srvs/srv/Empty 실행 결과: requester: making request: std_srvs.srv.Empty_Request() response: std_srvs.srv.Empty_Response() Service 호출이 정상적으로 처리되면서…
Открыть источник