# 거북이 애플리케이션 실행
$ ros2 run turtlesim turtlesim_node
# 서비스 list 확인
$ ros2 service list
# 서비스 type 확인
# clear 서비스 유형 검색. /clear 서비스는 거북이 시뮬레이션 환경을 재설정하는 서비스
$ ros2 service type /clear
# kill 서비스는 시뮬레이션의 거북이를 죽이거나, 중지하는 역할
$ ros2 service type /kill
# spawn은 거북이나 로봇과 같은 object를 생성하는 서비스
$ ros2 service type /spawn
# ROS 2 시스템에서 사용 가능한 모든 서비스 출력
$ ros2 service list -t
# 서비스 이름을 찾아줌
$ ros2 service find std_srvs/srv/Empty
$ ros2 service find turtlesim/srv/Kill


# 거북이가 지나온 길을 다 지워줌
$ ros2 service call /clear std_srvs/srv/Empty

# 거북이를 없앰
$ ros2 service call /kill turtlesim/srv/Kill "name: 'turtle1'"

# 초기화. 즉 거북이가 없다면 다시 만들어줌 (디테일로 계속 거북이 모양이 바뀜 ㅋㅋ)
$ ros2 service call /reset std_srvs/srv/Empty

# 거북이 펜을 색깔과 두께를 바꿔줌
$ ros2 service call /turtle1/set_pen turtlesim/srv/SetPen "{r: 255, g: 255, b: 255, width: 10}"

# 기존 거북이 삭제
$ ros2 service call /kill turtlesim/srv/Kill "{name: 'turtle1'}"
# 새로운 거북이 생성
# x: 5.5, y: 9.0 좌표는 위치를 의미. theta: 1.57 은 거북이가 바라보고 있는 방향을 의미
$ ros2 service call /spawn turtlesim/srv/Spawn "{x: 5.5, y: 9.0, theta: 1.57, name: 'leonardo'}"
$ ros2 service call /spawn turtlesim/srv/Spawn "{x: 5.5, y: 7.0, theta: 1.57, name: 'raffaello'}"
$ ros2 service call /spawn turtlesim/srv/Spawn "{x: 5.5, y: 5.0, theta: 1.57, name: 'michelangelo'}"
$ ros2 service call /spawn turtlesim/srv/Spawn "{x: 5.5, y: 3.0, theta: 1.57, name: 'donatello'}"