이번에는 토픽에 이어서 서비스와 관련된 명령어에 대해서 알아보도족 하자.
참조한 링크는 다음과 같다.
https://cafe.naver.com/openrt/2833
https://wiki.ros.org/ROS/Tutorials/UnderstandingServicesParams
💡 ROS 서비스란?
토픽과 마찬가지로 메시지를 통해서 데이터를 전달하는 것은 맞으나, 서비스 요청을 하는 서비스 클라이언트와, 요청을 받고 출력 및 응답을 하는 서비스 서버로 구성되어 있다. 또한 동기식/1회성/양방향 메시지 통신이라는 차이점을 가지고 있다.
토픽 관련 명령어와 마찬가지로 roscore와 서비스를 사용하는 노드들이 실행되고 있어야 명령어들이 의미를 가진다.
1. rosservice list
$ rosservice list
활성화 된 서비스의 목록을 출력한다.
2. rosservice type [서비스이름]
$ rosservice type <service_name>
서비스의 메시지 타입을 출력한다.
3. rosservice find [service_type]
$ rosservice find <service_type>
지정한 타입을 사용하는 서시브를 검색하는 명령어이다.
4. rosservice uri [service_name]
$ rosservice uri <service_name>
서비스의 ROSRPC URI 주소를 알 수 있다.
5. rosservice args [service_name]
$ rosservice args <service_name>
서비스의 각 매개변수들을 확인할 수 있다.
6. rosservice call [service_name][parameter]
$ rosservice call <service_name> <parameter>
내가 지정한 서비스를 내가 지정한 매개변수 값을 넣어서 요청하는 명령어이다.