로보쌤

DDS vs RMW: 로봇 통신 가이드 연습문제 정답

시행일·최종 수정일: 2026년 9월 1일

정답을 보기 전에

먼저 각 문제에 자신의 말로 답해본 뒤 해설과 비교해 보세요. 표현이 달라도 핵심 개념과 계산 과정이 맞으면 정답으로 볼 수 있습니다.

← 강의와 연습문제로 돌아가기

1. 자신의 ROS 2 환경에서 설치된 RMW Package와 현재 선택값을 기록하세요.

정답과 해설

ros2 pkg list | grep '^rmw_'로 설치 Package를 확인하고 printenv RMW_IMPLEMENTATIONros2 doctor --report를 함께 기록합니다. 환경변수가 비어 있으면 배포판과 설치 상태에 따른 Default가 선택될 수 있으므로 Report의 실제 Identifier를 확인합니다.

2. DDS와 RMW를 각각 한 문장으로 설명하고 서로 바꾸어 말하면 안 되는 이유를 쓰세요.

정답과 해설

DDS는 Data 중심 Publish·Subscribe, Discovery와 QoS를 정의하는 표준·구현 영역입니다. RMW는 ROS 2 Client Library가 실제 Middleware Backend를 사용하는 추상화 경계입니다. DDS 기반이 아닌 RMW도 가능하므로 두 용어는 동의어가 아닙니다.

3. 두 Host의 Discovery Context를 비교하는 점검표를 작성하세요.

정답과 해설

ROS Distribution·Domain ID·Discovery 범위·RMW Identifier·Vendor 설정·Security Enclave를 비교합니다. Network에서는 IP·Subnet·Route·사용 NIC·Firewall·VLAN·VPN·AP Isolation과 Multicast 전달을 확인하고 Container Mode와 Clock 상태도 기록합니다.

4. /scan의 Publisher·Subscriber QoS를 조사하고 호환 여부를 판정하세요.

정답과 해설

ros2 topic info /scan --verbose로 양쪽 Endpoint의 Reliability, Durability, History와 Depth를 비교합니다. Sensor Publisher가 BEST_EFFORT인데 Subscription이 RELIABLE만 요구하면 연결되지 않을 수 있으므로 Sensor Data QoS나 호환되는 Profile로 제한된 Test를 수행합니다.

5. 같은 Topic을 두 RMW 조건에서 측정하는 공정한 A/B Test 계획을 작성하세요.

정답과 해설

OS·ROS Version·Hardware·Network·Type·크기·Rate·QoS·Endpoint 수를 고정하고 RMW와 해당 설정만 바꿉니다. 각 조건에서 발견 시간, 수신 Hz, Bandwidth, 지연 분포, CPU와 Memory를 반복 측정하며 실행 순서를 교차해 Warm-up과 시간대 영향을 줄입니다.

6. Camera 원본 30 Hz를 Wi-Fi로 보내는 대신 사용할 Data 감소 방안을 세 가지 제안하세요.

정답과 해설

Robot에서 추론해 Detection·Pose 같은 결과만 보냅니다. Image Transport 압축을 적용하고 해상도·Frame Rate를 낮춥니다. 원본은 Robot 내부 유선·Shared Memory 경로에 두고 관제에는 Thumbnail이나 요청된 Frame만 전송할 수 있습니다.

7. 같은 Process, 같은 Host의 다른 Process, 다른 Host 통신 경로를 비교하세요.

정답과 해설

같은 Process Component는 Intra-process 최적화를 사용할 수 있습니다. 같은 Host의 다른 Process는 Middleware Shared Memory 또는 Loopback 경로를 사용할 수 있습니다. 다른 Host는 NIC와 Network Transport를 거치므로 MTU·Loss·Route 영향을 받습니다. 실제 경로는 RMW와 설정으로 검증해야 합니다.

8. Robot 열 대에서 Discovery 부하를 줄일 Architecture와 장애 대응을 설계하세요.

정답과 해설

불필요한 Raw Data를 줄이고 Robot별 Namespace와 통신 범위를 분명히 합니다. 필요하면 검증된 Discovery Server·Peer·Router 구조를 사용하며 Server 이중화, 재접속, Monitoring과 설정 배포를 준비합니다. Server 단절 중 기존 통신과 신규 참가자 동작을 실제로 시험합니다.

9. Container에서 Host Node를 발견하지 못할 때의 확인 순서를 작성하세요.

정답과 해설

Container와 Host의 IP·Route·Network Mode를 확인하고 Domain·RMW·Discovery 설정을 비교합니다. Bridge가 Multicast를 전달하는지 시험하고 Firewall·NAT·Interface 선택을 봅니다. 최소 Talker·Listener로 재현한 뒤 필요한 경우 명시적 Peer나 승인된 Host Network 구성을 검토합니다.

10. ROS_DOMAIN_ID와 DDS Security가 해결하는 문제가 어떻게 다른지 설명하세요.

정답과 해설

Domain ID는 참가자의 논리적 발견·통신 범위를 나눠 충돌을 줄이지만 비밀값이나 인증 수단이 아닙니다. DDS Security는 Identity 인증, Topic 접근 제어, Data 기밀성·무결성과 보안 사건 기록을 다룹니다.

11. Discovery Server 장애가 발생했을 때 새 참가자와 기존 Data 경로가 어떻게 될지 시험 계획을 세우세요.

정답과 해설

정상 상태에서 기존 Publisher·Subscriber를 연결하고 Data를 계측합니다. Server를 중단한 뒤 기존 Data 지속 여부와 새 Node의 발견 여부를 분리 측정합니다. Server 복구 후 재발견 시간과 중복·누락을 확인하며 결과는 Vendor Mode·Version별로 기록합니다.

12. Command Topic이 재접속 후 오래된 값을 실행하지 않도록 안전 요구사항을 작성하세요.

정답과 해설

Message Timestamp와 최대 Age를 검증하고 Queue Depth를 작게 유지합니다. 새 Command가 일정 시간 없으면 정지하는 Deadman Watchdog, Source Ownership과 Velocity Limit를 적용합니다. 통신 복구·Process 재시작·Bag 재생 상황에서도 오래된 명령이 폐기되는지 시험합니다.

13. Vendor XML 변경을 배포·검증·Rollback하는 절차를 작성하세요.

정답과 해설

XML Schema와 지원 Version을 확인하고 Review·Version 관리합니다. 격리 환경에서 적용 Log, Discovery, Hz·Loss·CPU를 비교한 뒤 단계적으로 배포합니다. File Hash와 적용 Host를 기록하며 이상 시 이전 검증본과 Environment를 원자적으로 복원하고 Process를 재시작합니다.

14. hz, bw, CPU, Memory와 Packet Loss를 함께 기록하는 Benchmark 표를 만드세요.

정답과 해설

각 행에 RMW·Version·Profile·Message Type·크기·QoS·Rate·Endpoint 수·Network를 둡니다. 결과 열에는 발견 시간, 평균·최소 수신 Hz, Bandwidth, 지연 Percentile, Loss, Publisher·Subscriber CPU와 RSS를 넣고 반복 횟수와 측정 시간을 함께 기록합니다.

15. 실제 Robot 통신 장애 Incident를 가정해 읽기 전용 진단부터 설정 변경까지 Runbook을 작성하세요.

정답과 해설

먼저 시각·Environment·Graph·Endpoint·QoS·Data Rate·Diagnostics를 보존합니다. Network Interface·Route·Multicast와 Security를 확인하고 Vendor Log·Packet Capture로 좁힙니다. 격리 환경에서 한 조건씩 A/B Test한 뒤 승인·Rollback 계획과 안전 정지 상태를 확보하고 변경합니다.

학습 마무리

틀린 문제는 강의의 관련 장을 다시 읽고, 용어뿐 아니라 각 개념이 실제 로봇에서 어떤 역할을 하는지 설명해 보세요.

← 강의로 돌아가기

DDS vs RMW: 로봇 통신 가이드 연습문제 정답과 해설 | 로보쌤