[출처]https://cafe.naver.com/openrt/24319
-ROS2에서는 OMG(Object Management Group)에 의해 표준화된 DDS(Data Distribution Service)의 리얼타임 퍼블리시와 서브스크라이브 프로토콜인 DDSI-RTPS(Real Time Publish Subscribe)를 사용하고 있다.
-DDS 도입으로 기존 메시지 형태 이외에도 OMG의 CORBA시절부터 사용되던 IDL(Interface Description Language)를 사용하여 메시지 정의 및 직렬화를 더 쉽게, 더 포괄적으로 다룰 수 있게 되었다.
-QoS : 데이터 통신의 옵션
-퍼블리셔나 서브스크라이브 등을 선언할 때 QoS를 매개 변수 형태로 지정할 수 있어서 원하는 데이터 통신의 옵션 설정을 유저가 직접할 수 있게 되어 있다.
-22종류의 항목 존재, Reliability 기능이 대표적으로 사용
-특정 상황에 맞는 코딩에서 어떻게 설정하느냐가 중요
-중요QoS : History, Reliability, Durability, Deadline, Lifespan, Liveliness
(1)Values
(2)RxO (requested by offered)
: 해당 사항 없음
(3)Examples
(1)Values
(2)RxO (requested by offered)
(3)Examples
(1)Values
(2)RxO (requested by offered)
(3)Examples
(1)Values
(2)RxO (requested by offered)
(3)Examples
(1)Values
(2)RxO (requested by offered)
: 해당 없음
(3)Examples
(1)Values
(2)RxO (requested by offered)
(3)Examples
-RMW에서 QoS 설정을 쉽게 사용할 수 있도록 가장 많이 사용하는 QoS 설정을 세트로 표현해둔 것
-목적에 따라 Default, Sensor Data, Service, Action Status, Parameters, Parameter Events와 같이 6가지로 구분하며 Reliability, History, Depth(History Depth), Durability 를 설정
-설정
-사용법
(1)qos_profile_sensor_data
모듈을 임포트
(2)원하는 옵션으로 커스텀
(3)퍼블리셔를 선언하는 create_publisher
함수를 사용할 때 rmw_qos_profile
대신에 사용자가 정의한 유저 QoS 프로파일 매개변수로 사용