기초 단계

1. ROS 설치하고, 설정하기

2. ROS 파일 시스템 살펴보기

3. ROS 패키지 만들기

4. ROS 패키지 빌드하기

5. ROS 노드에 대해서 이해하기

6. ROS Topic을 이해하기

7. ROS 서비스와 파라미터 이해하기

8. rqt_console과 ros launch 사용하기

9. rosed로 파일 수정하기

10. ROS msg와 srv 만들기

11. C++로 간단한 퍼블리셔와 서브스크라이버 작성하기

12. 파이썬으로 간단한 퍼블리셔와 서브스크라이버 작성하기

13. 간단한 퍼블리셔와 서브스크라이버에 대해서 살펴보기

14. 간단한 서비스와 클라이언트 코드 작성하기(C++)

15. 간단한 서비스와 클러이언트 코드 쓰기(파이썬)

16. 간단한 서비스와 클라이언트에 대해서 알아보기

17. 데이터를 녹음하고 재생하기

18. bag file에서 메시지 읽기

19. roswtf 시작하기

20. ROS wifi 살펴보기

21. 다음에 할께 뭐가 있을까?

 

 

http://wiki.ros.org/ROS/Tutorials/UnderstandingServicesParams

 

이번 장에서는 ROS 서비스와 파라미터 그리고 rosservice와 rosparam이라는 커맨드라인 명령어도 배워보자

 

 

1. ROS Service

 ros의 서비스는 노드가 다른 노드랑 통신하는 또 다른 방식으로 서비스로 노드가 요청 request를 보내면 응답 response를 받는 식이다.

 

2. rosservice 사용하기

 rosservice는 ROS 클라이언트와 서비스를 다루는 명령어로 이런 옵션들을 쓸수 있다

- rosservice list  : 동작중인 서비스들 목록 출력

- rosservice call : 매개변수를 줘서 서비스 호출하기

- rosservice type : 서비스의 타입 출력하기

- rosservice find : 서비스 타입으로 서비스 찾기

- rosservice url : 서비스 ROSRPC uri 출력하기

 

2.1 rosservice list

 동작하고 있는 rosservice들을 보여주는데, turtlesim_node를 돌리면 저런 서비스가 나오나보다

 

 

2.2 rosservice type [service]

해당 서비스의 타입을 출력함

 

2.3 rosservice call

해당 서비스를 매개변수를 줘서 호출한다

아래의 경우 /clear 서비스를 호출해서 거북이의 궤적을 클리어함

/spawn 서비스의 경우 x, y, z, theta, name 을 인자로 받는데 한번 써보자

 

 

 

3. rosparam 사용하기

- rosparam은 ros 파라미터 서버에다가 데이터를 담고 다루는 명령어.

- 파라미터 서버는 정수, 실수, 부울 등을 저장

- rospram은 YAML 문법을 따름

- rosparam set : 파라미터 설정

- rosparam get : 파라미터 가져옴

- rospram load : 파일에서 파라미터를 로드

- rosparam dump : 파라미터를 파일에 저장

- rosparam delete : 파라미터 삭제

- rosparam list : 파라미터 이름 목록 출력

3.1 rosparam list

 turtlesim 노드는 background_r/g/b 3 파라미터를 파라미터 서버에 두고있다.

 

 

3.2 rosparam set, rosparam get

rosparam set [param_name]

rosparam get [param_name]

 

배경색 r 파람을 200으로 설정하고 /clear 서비스를 부르니 색상이 바뀌었다.

 

터틀심 배경_g 의 파람을 얻으면 이렇게 나온다

 

 

지금까지 본게

토픽, 서비스, 파람. 전에는 토픽만 알았는데 되게 아리까리하네..

 

 

 

 

+ Recent posts