ros2 service list·type
거북이는 어떤 부탁을 들어줄 수 있을까?
준비
거북이를 먼저 띄웁니다
2강에서 한 것처럼 터미널 두 개에 거북이와 키보드 노드를 띄웁니다. 서비스를 살펴보는 명령은 세 번째 터미널에서 칩니다.
새 터미널마다 source /opt/ros/jazzy/setup.bash가 되어 있어야 합니다(2강 3편).
따라 하기
열려 있는 서비스를 모두 봅니다
ros2 service list는 지금 열려 있는 서비스 이름을 모두 보여 줍니다. 노랗게 칠한 것이 turtlesim이 열어 둔 서비스입니다.
출력 일부만 보였습니다. 줄 수와 순서는 환경에 따라 조금 다를 수 있습니다.
나머지 줄
parameters가 붙은 것은 모든 노드에
두 노드 모두 이름 끝이 parameters인 서비스를 똑같이 여섯 개씩 갖고 있습니다. 거의 모든 노드에 저절로 생기는 서비스로, 8강의 파라미터가 이것을 씁니다.
이번 강에서는 이 여섯 개를 빼고 봅니다.
타입
서비스에도 타입이 있습니다
ros2 service type은 서비스의 타입을 알려 줍니다. 토픽의 메시지 타입처럼 패키지/srv/이름 모양입니다. 타입은 요청과 응답에 무엇이 실리는지 정합니다.
Empty는 요청도 응답도 비어 있는 타입입니다. 모양은 4편에서 봅니다.
한 번에
-t를 붙이면 타입까지
ros2 service list -t(--show-types)는 이름과 타입을 한 번에 보여 줍니다. 3편에서 부를 /spawn의 타입은 turtlesim/srv/Spawn입니다.
출력 일부만 보였습니다.
더 알아보기
누가 열었는지는 info로
ros2 service info는 타입과 함께 클라이언트와 서버가 몇 개 붙어 있는지 보여 줍니다. Services count가 서버 수입니다. ros2 service find는 거꾸로 타입으로 서비스를 찾습니다.
다음 편