019 DDS의 QoS(Quality of Service)

YeopYeop·2021년 4월 8일
1

ROS2

목록 보기
2/2

[출처]https://cafe.naver.com/openrt/24319

<DDS의 서비스 품질 (QoS, Quality of Service)>

1)ROS2와 DDS

-ROS2에서는 OMG(Object Management Group)에 의해 표준화된 DDS(Data Distribution Service)의 리얼타임 퍼블리시와 서브스크라이브 프로토콜인 DDSI-RTPS(Real Time Publish Subscribe)를 사용하고 있다.
-DDS 도입으로 기존 메시지 형태 이외에도 OMG의 CORBA시절부터 사용되던 IDL(Interface Description Language)를 사용하여 메시지 정의 및 직렬화를 더 쉽게, 더 포괄적으로 다룰 수 있게 되었다.

2)DDS의 서비스 품질 (QoS, Quality of Service)

-QoS : 데이터 통신의 옵션
-퍼블리셔나 서브스크라이브 등을 선언할 때 QoS를 매개 변수 형태로 지정할 수 있어서 원하는 데이터 통신의 옵션 설정을 유저가 직접할 수 있게 되어 있다.

<QoS의 종류>

-22종류의 항목 존재, Reliability 기능이 대표적으로 사용

-특정 상황에 맞는 코딩에서 어떻게 설정하느냐가 중요

<ROS 2에서 사용되는 QoS 옵션>

-중요QoS : History, Reliability, Durability, Deadline, Lifespan, Liveliness

1)History

(1)Values

(2)RxO (requested by offered)
: 해당 사항 없음

(3)Examples

2)Reliability

(1)Values

(2)RxO (requested by offered)

(3)Examples

3)Durability

(1)Values

(2)RxO (requested by offered)

(3)Examples

4)Deadline

(1)Values

(2)RxO (requested by offered)

(3)Examples

5)Lifespan

(1)Values

(2)RxO (requested by offered)
: 해당 없음

(3)Examples

6)Liveliness

(1)Values

(2)RxO (requested by offered)

(3)Examples

<rmw_qos_profile 사용과 유저 QoS 프로파일 사용>

1)rmw_qos_profile

-RMW에서 QoS 설정을 쉽게 사용할 수 있도록 가장 많이 사용하는 QoS 설정을 세트로 표현해둔 것
-목적에 따라 Default, Sensor Data, Service, Action Status, Parameters, Parameter Events와 같이 6가지로 구분하며 Reliability, History, Depth(History Depth), Durability 를 설정

2)sensor data

-설정
-사용법
(1)qos_profile_sensor_data 모듈을 임포트

(2)원하는 옵션으로 커스텀

(3)퍼블리셔를 선언하는 create_publisher 함수를 사용할 때 rmw_qos_profile 대신에 사용자가 정의한 유저 QoS 프로파일 매개변수로 사용

profile
Dreaming giraffe

0개의 댓글