ROS 연구 노트 5 감사 노드 (노드)

:이 글에서에서 온다 http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes

  1. 도. (그래프) 개념 개요
    • 노드 ( 노드 ) : ROS 노드를 다음을 다른 노드 ROS와 통신하는 데 사용하는 실행 프로그램입니다.
    • 메시지 ( 메시지 )에 가입하거나 주제에 대한 데이터 형식을 사용할 때 데이터 구조를 게시 할 수 있습니다.
    • 주제 ( 주제 ) : 노드 주제, 주제에 메시지를 게시하거나 다른 노드와 데이터 교환을 달성하기 위해, 메시지를 수신 할 구독 할 수 있습니다.
    • 노드 (호스트 마스터 ) : 호스트 노드가 다른 노드에 노드를 찾을 수 있도록 이름 지정 서비스 제공합니다.
    • ROS 출력 ( rosout ) 다음에서 ROS가 열려진 또는 표준 출력에 상당 (ROS 표준 출력)
    • ROS 코어 ( roscore ) : 호스트 노드 + + 표준 출력 파라미터 서버.
  2. 핵심 ROS (roscore)
    roscore이 명령 ROS 실행을 사용하는 것입니다, 당신은 다른 노드를 실행하기 전에 roscore 실행해야합니다.
    $의 roscore 
    ... /home/shao/.ros/log/93b4e9f2-d146-11e9-a3fd-69f079ca327f/roslaunch-UAVlab1-13621.log가 로그인 
    디스크 사용에 대한 로그 디렉토리를 확인. 이 좀 걸릴 수 있습니다. 
    Ctrl-C를 눌러이 중단 
    로그 파일 디스크 사용량을 확인 완료. 사용법은 <1기가바이트입니다. 
    
    roslaunch 서버 HTTP를 시작 : // UAVlab1 : 40901 / 
    ros_comm 버전 1.12.14 
    
    
    요약 
    ======== 
    
    파라미터 
     * / rosdistro : 운동 
     * / rosversion : 1.12.14은 
    
    NODES 
    
    자동으로 시작하는 새 마스터 
    과정 [마스터] : 시작 와 PID [13631] 
    ROS_MASTER_URI = HTTP : // UAVlab1 : 11311 / 
    
    93b4e9f2-d146-11e9-a3fd-69f079ca327f가 설정 / run_id에  
    프로세스 [rosout-1] : PID [13,644] 시작
    시작 핵심 서비스 [/ rosout]
    

    성공적인 동작 이후에 도시 된 바와 같이.

  3. rosnode 명령
    정보 ROS 노드를 표시 할 수 rosnode 명령을 사용. 예를 들어 : rosnode 목록 명령 목록을 실행 노드를 ROS.
    다음과 같이 rosnode 목록을 실행 새로운 터미널을 열기 :
    $의 rosnode 목록 
    / rosout
    

    볼 수있는 바와 같이, rosout 노드가 roscore 명령에 시작이있다.
    정보 ROS 노드를 볼 수 rosnode 정보 명령을 사용하여

    $의 rosnode 정보 / rosout 
    --------------------------------------------- ----------------------------------- 
    노드 [/ rosout] 
    출판 : 
     * / rosout_agg [rosgraph_msgs / 로그인] 
    
    구독 : 
     * / rosout [알 수없는 유형] 
    
    서비스 : 
     * / rosout / get_loggers 
     * / rosout / set_logger_level 
    
    
    연락 노드에 http : // UAVlab1 : 42313 / ... 
    도 (Pid) : 13644
    

     

  4.  rosrun 실행 노드

    다음과 같이 명령 구문을 실행할 수 있습니다 rosrun ROS 노드는 다음과 같습니다
    $ rosrun [PACKAGE_NAME] NODE_NAME]
    

    해당 문서의 공식 웹 사이트, 권리가 있어야한다 :

    rosrun <패키지> <실행>
    

    그 두 번째 인수는 실행 프로그램의 이름이며, 노드 이름은 반드시 동일하지 않습니다.
    새로운 터미널을 열고 실행

    $ rosrun turtlesim turtlesim_node
    

     

     

     작은 거북이는 자신을 보였다.

    그런 다음 볼 수 있습니다 rosnode을 사용합니다 :
    $의 rosnode 목록 
    / rosout 
    / turtlesim
    

    당신은 turtlesim의 노드 이상을 볼 수 있습니다.
    다음 매핑 매개 변수는 노드 이름에 이름을 바꿀 수 있습니다 새 터미널을 엽니 다.

    $ rosrun turtlesim turtlesim_node __name = my_turtle
    

     그런 다음 rosnode 목록을 실행

    $의 rosnode 목록 
    / my_turtle 
    / rosout 
    / turtlesim
    

    두 개 이상의 노드 my_turtle을 볼 수 있습니다.
    ping 명령과 비슷한 노드 사이의 통신을 확인 rosnode의 ping 명령을 사용합니다.

    $ rosnode 핑 / my_turtle 
    rosnode는 : 노드 [/ my_turtle]입니다 
    3.0s의 타임 아웃 핑 / my_turtle 
    // UAVlab1 : HTTP에서 XMLRPC 응답 43,947 / 시간 = 0.296116ms 
    HTTP에서 XMLRPC 회신 : // UAVlab1 : 43,947 / 시간 = 0.949144ms 
    HTTP에서 XMLRPC 응답 : // UAVlab1 : 43,947 / 시간 = 0.707150ms 
    HTTP에서 XMLRPC 회신 : // UAVlab1 : 43,947 / 시간 = 0.704050ms 
    HTTP에서 XMLRPC 회신 : // UAVlab1 : 43,947 / 시간 = 1.071930ms을
    

     

추천

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