ROS 연구 7-가 서비스 (서비스) 및 매개 변수 (파라미터)를 이해 노트

공식 위키에서이 문서의 http://wiki.ros.org/ROS/Tutorials/UnderstandingServicesParams

  1. ROS 서비스 (서비스)
    서비스는 ROS의 통신 메커니즘이지만, 게시 및 가입 테마 다른 서비스는 "요청 (요청) - 응답 (응답)"을 채택 데이터 교환을위한 메커니즘을.
    그리고 서비스 관련 기능은 rosservice 명령을 사용하여 수행 할 수있다.
    rosservice 목록은 활성 서비스 정보 나열 
    주어진 매개 변수라는 서비스를 호출 rosservice 
    서비스의 유형을 rosservice 형 인쇄를 
    서비스의 지정된 유형 찾기 위해 찾아 rosservice 
    rosservice의 URI 인쇄 서비스 ROSRPC 소스를
    
    1. rosservice 목록
      이 명령은 같은 작은 거북이의 예에서와 같이 현재 활성화 된 서비스를 나열, 우리는 rosservice 목록이 실행
      다음을 반환합니다 :
      $의 rosservice 목록 
      / 투명 
      / 죽 
      / 리셋 
      / rosout / get_loggers 
      / rosout / set_logger_level 
      / rostopic_21128_1568429034667 / get_loggers 
      / rostopic_21128_1568429034667 / set_logger_level 
      / rostopic_25467_1568471203069 / get_loggers 
      / rostopic_25467_1568471203069 / set_logger_level 
      / rqt_gui_py_node_25560 / get_loggers 
      / rqt_gui_py_node_25560 / set_logger_level 
      / rqt_gui_py_node_25926 / get_loggers 
      / rqt_gui_py_node_25926 / set_logger_level 
      / 산란 
      / teleop_turtle / get_loggers 
      / teleop_turtle / set_logger_level 
      / turtle1 / set_pen 
      / turtle1 / teleport_absolute 
      / turtle1 / teleport_relative 
      / turtlesim / get_loggers
      / turtlesim / set_logger_level
      
    2. rosservice 입력
      서비스의 종류를 볼 수 있습니다 rosservice 유형을 사용 후 :
      $의 rosservice 형 / 투명 
      std_srvs / 빈
      

      빈은 서비스, 지정 매개 변수없이 데이터하지 않고, 해당 동작하는 기능을 반환하고 있음을 나타냅니다.

    3. rosservice 호출
      서비스를 호출 할 수 있습니다 rosservice 호출을 사용하여.
      사용법은 다음과 같습니다
      rosservice 호 [서비스 [인수]

      예를 들어, / 명확한 호출 할, 다음 문을 사용합니다 :

      rosservice 호출 클리어 /
      

       그것은 작은 거북이 이동 트랙을 떠나 제거됩니다.

      우리는 매개 변수 서비스 / spwan의 매개 변수를 볼 수 있습니다 :

      $의 rosservice 타입 / 산란 | 보여 rossrv 
      float32 X 
      float32 Y 
      float32 세타 
      문자열 이름 
      --- 
      문자열 이름을
      

       그것은 세 float32 위치 (X, Y)과 대향 세타 문자열 이름을 나타내는 이름으로 표시되는 데이터의 타입 / 스폰 서비스 파라미터를 알 수있다.
      다음 명령을 사용하여 서비스를 호출합니다 :

      rosservice 전화 / 산란 2 2 0.2 ""
      

      또 다른 작은 거북이를 생산하는 것입니다 :

  2. ROS 매개 변수 (rosparam)
    rosparam는 ROS 매개 변수 서버 (수 매개 변수 서버 저장) 및 (개인 이해 전역 변수 프로그램과 같은) 작동 매개 변수를. : 서버 매개 변수는 다음과 같은 데이터 유형 저장하기 위해 YAML 마크 업 언어를 취할
    정수 (정수), 수레 (부동 소수점), 부울 (부울), 사전 (사전 (키 타입)) 및 목록 (목록 유형). 다음과 같이 rosparam 명령을 사용하여 매개 변수 관련 작업이 사용됩니다 :
    rosparam는 매개 변수 값을 설정 
    매개 변수 값을 얻을 수 rosparam 
    파일에서 rosparam 부하 부하 매개 변수 
    파일에 rosparam 덤프 저장 매개 변수를 
    매개 변수 삭제 삭제 rosparam 
    나열되어 있습니다 rosparam 목록 매개 변수 이름을
    

     

    1. rosparam 목록

      이 명령은 모든 매개 변수 이름을 나열 할 수 있습니다 :

      $의 rosparam 목록 
      / background_b 
      / background_g 
      / background_r 
      / rosdistro 
      / roslaunch / URI에 / host_localhost__35773 
      / rosversion 
      / run_id
      

       

    2. rosparam GET rosparam 설정
      값이 설정 예를 들어, 다음의 명령 (200)의 적색 채널 값의 배경색을 설정 rosparam 매개 변수를 설정할 수있다 :

      rosparam 세트 / background_r 200
      

       그런 배경을 새로 명확한 서비스를 호출해야합니다 :

      $의 rosservice 호출 클리어 /
      

      배경은 분홍색으로 변합니다

       

       녹색의 배경을 얻기 위해 다음 명령을 사용하여

      $ rosparam GET / background_g 
      (86)
      

      / 모든 명령 매개 변수 값을 사용할 수 rosparam 사용

      $ rosparam GET / 
      background_b : 255 
      background_g : 86 
      background_r : 200 
      rosdistro '운동 
      
        ' 
      roslaunch : 
        URI를 : {host_localhost__35773 '에 http : // localhost를 : 35773 /'} 
      rosversion : '1.12.14 
      
        ' 
      run_id : d0977b84-d694-11e9 -b3cd-502b73e82f34
      

       

    3. rosparam 덤프 및 rosparam 부하
      덤프 저장 매개 변수 rosparam 부하 하중 매개 변수를 rosparam 수 있습니다 :

      rosparam 덤프 [file_name]과 [네임 스페이스] 
      rosparam 부하 [file_name]과 [네임 스페이스]
      

       당신은 파일 이름과 네임 스페이스 매개 변수를 지정할 수 있습니다
      현재 네임 스페이스의 모든 매개 변수 params.yaml 파일을 작성하는 명령을 다음과 같이.

      $ rosparam 덤프 params.yaml
      

      params.yaml에서 파일 이름 공간을 복사하려면 다음 명령 모든 매개 변수를로드합니다.

      $ rosparam 부하 params.yaml 복사
      

       그런 다음 매개 변수 공간을 읽을 수 :

      $ rosparam GET / 복사 / background_b 
      255

       


       

       

       

추천

출처www.cnblogs.com/spyplus/p/11520756.html