ROS에 대해 정리해 본다 #4

2723 단어 ROS
이 기사는 ROS에 대해 정리해 보자 #3에 이어집니다.
*중복하고 있는 부분도 있습니다만, 일단 이대로 공개합니다.
*이 기사의 기재 내용은 ROS1에 관한 것입니다.

ROS와의 통신



ROS의 간은 먼저이 통신을 이해하는 것입니다.
여기에서는 ROS의 통신에 대해 정리합니다.

메시지



ROS에서 사용되는 Pub/Sub형 통신. TCP 기반으로 구현되었습니다.



Publisher는 프로세스가 시작될 때 자신이 발행하는 Topic 이름과 노드의 주소를 Master에 등록합니다.
Subscriber 는, 기동시에 Master 에 구독하고 싶은 Topic 를 검색해 주어, 그 Topic 를 발행하고 있는 Publisher 의 주소를 취득합니다.
그런 다음 Subscriber가 Publisher에 직접 연결하여 피어 투 피어 메시지를 보내고받습니다.

서비스



ROS에서 사용되는 Req/Rep형 통신. 한 노드가 다른 노드의 함수를 사용합니다. RPC라고도 불린다.



서비스는 클라이언트, 서버 형식의 통신입니다. 서버는 시작할 때 자신의 서비스 이름과 노드의 주소를 마스터에 등록합니다.
클라이언트는 서비스를 사용할 때 마스터에게 서비스 이름을 검색하고 서비스를 발행하는 서버의 주소를 검색합니다.
Client는 해당 정보를 기반으로 Server에 요청을 요청하고 Server는 Client에 응답을 반환합니다.

매개변수



파라미터에 관해서는 문헌에 의해 통신으로 분류되지 않는 것도 있습니다만, 용도로서는 여기에 정리해도 좋다고 생각하기 때문에, 써 둡니다.

매개변수 서버는 ROS Master의 기능으로 시스템의 모든 노드에서 참조할 수 있는 값을 보유합니다.
사용 가능한 데이터 유형이 결정되므로 쉽게 사용할 수 있으며 시스템의 모든 노드에서 볼 수 있습니다.
실제로는 문자열의 교환이 행해지고 있어, 각 노드가 적절한 형식으로 읽어들이고 있는 것 같습니다.

구분


  • 메시지 : 비동기 스트리밍
  • 서비스 : 동기화를 통한 단일 데이터 통신 및 장비 작동 등
  • 매개 변수 : 시스템의 모든 노드에서 참조 할 수있는 값을 유지합니다.

    액션



    ROS의 서비스는 동기화되므로 클라이언트가 서버에서 응답을 받을 때까지 프로세스가 잠깁니다.
    간단한 스위치의 On/Off나, 스테이터스의 취득등이라면 이것으로도 좋습니다만, 로봇의 이동등의 시간이 걸리는 태스크에는 적합하지 않습니다. 이동 중에는 서버에서 아무것도 돌아오지 않거나 실패하면 평생 아무것도 돌아 오지 않을 수도 있습니다.
    이런 이유로 ROS에는 여러 주제를 결합한 액션이라는 비동기 기술이 있습니다.
    액션에서도 기본적으로는 주제의 구조가 사용되고 있습니다.
    목표라는 주제에 메시지를 보내면 조치 서버가 작동을 시작합니다. 실행하는 동안 조치 클라이언트는 피드백이라는 주제를 통해 중간 결과를 수신할 수 있습니다. 그리고 모든 것이 끝나면 결과라는 주제에서 결과를받습니다.

    #5에 계속

    참고



    ROS
    ㅡㅡㅡㅡ 로 s. rg/

    프로그래밍 ROS(O'Reilly Japan)
    htps //w w. 미안해. 이. jp/보오 ks/9784873118093/

    ROS 프로그래밍 (모리 키타 출판 주식회사)
    htps //w w. 몰랐다. 이. jp/보오 ks/보오 k/3010
  • 좋은 웹페이지 즐겨찾기