1. ROS Service
ROS Service는 노드들이 서로 통신할 수 있게하는 방식을 말한다. Service는 노드들이 request를 보내고 reponse를 받게해준다.
rosservice list print information about active services
rosservice call call the service with the provided args
rosservice type print service type
rosservice find find services by service type
rosservice uri print service ROSRPC uri
1) rosservice list : 현재 실행중인 노드의 활성화된 Service정보를 보여준다.
$ rosservice list
2) rosservice type [service]
$ rosservice clear
3) rosservice call [service] [args]
$ rosservice call clear
$ rosservice type spawn| rossrv show
$ rosservice call spawn 2 2 0.2 ""
2. ROS parameter
ROS parameter는 user가 ROS parameter server의 data를 저장하거나 조종할 수 있게 해준다. Parameter server는 integers, floats, booleans, dictionaries, lists등을 저장할 수 있다.ROS parameter는 YAML syntax에 대한 markup language를 사용한다. 예를들자면 1은 integers, 1.0은 floats, one은 string, true는 booleans, {1,2,3}은 integer list, {a:b,c:d}는 dictionary이다.
rosparam set set parameter
rosparam get get parameter
rosparam load load parameters from file
rosparam dump dump parameters to file
rosparam delete delete parameter
rosparam list list parameter names
1) rosparam list : 실행중인 노드의 parameter list출력
$ rosparam list
2) rosparam set [param_name] & rosparam get [param_name]
$ rosparam set background_r 150
$ rosservice call clear
set후 clear해줘야 반영된다.
$ rosparam get background_g
background_g 파라미터 값을 보여준다.
$ rosparam get /
모든 파라미터 정보를 보여준다.
3) rosparam dump [file_name]
& rosparam load [file_name] [namespace]
$ rosparam dump params.yaml
params.yaml에 모든 파라미터 정보를 쓴다.
$ rosparam load params.yaml copy
$ rosparam get copy/background_b
copy라는 namespace에 모든 파라미터 정보를 불러온다.