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는 거꾸로 타입으로 서비스를 찾습니다.

다음 편

목록에 있는 /spawn을 직접 불러 볼까요?

3편손으로 불러 보기 7강 목록