산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 사물 인터넷 기술

ROS 2와 DDS 상호운용성: 원활한 통합을 위한 실용 가이드

ROS 2와 DDS 상호운용성: 원활한 통합을 위한 실용 가이드

ROS 2는 기본 통신 계층으로 DDS를 사용하지만, 네이티브 DDS 배포와 ROS 2 간의 완벽한 상호운용성 달성은 여전히 미묘한 과제를 안고 있습니다. 이 가이드는 "Bouncy Bolson"(2018년 7월) ROS 2 릴리스 기준 검증된 실용적 단계와 구성 조정을 정리하여 팀이 일반적인 함정을 피하고 Connext DDS의 모든 힘을 ROS 2 내에서 활용하도록 돕습니다.

ROS 2 현재 상태

ROS 2는 빠르게 진화하는 프레임워크로 향후 릴리스에서 추가 상호운용성 뉘앙스 등장 가능. 그러나 rmw_connext_cpp RMW 레이어로 ROS 2 실행 시 여전히 네이티브 Connext DDS 스택을 사용합니다. 즉 Connext의 고급 기능(세분화된 QoS 제어, 다중 전송 지원 등)을 모두 유지하면서 ROS 2의 고수준 추상화 이점도 누릴 수 있습니다.

핵심 상호운용성 설정

토픽 이름 & 파티션

ROS 2는 토픽의 네임스페이스를 토픽 이름이나 DDS 파티션에 인코딩. 모든 ROS 2 사용자 토픽은 "rt"(ROS Topic) 네임스페이스에 상주. DDS에서 이는 다음과 같이 표현:

ROS 2와 DDS 상호운용성: 원활한 통합을 위한 실용 가이드

토픽 데이터 타입

Connext RMW 레이어 활성화 시 ROS 2는 모든 "rt/*" 토픽을 제네릭 직렬화 타입으로 광고. 결과적으로 원래 강력하게 타입화된 데이터를 발행하는 순수 DDS 애플리케이션은 QoS 불일치 경험하며 연결 불가.

ROS 2와 DDS 상호운용성: 원활한 통합을 위한 실용 가이드

가장 직관적인 해결책은 ROS 2 참여자의 자동 타입 코드 발행 억제. ROS 2 노드 실행 디렉토리에 USER_QOS_PROFILES.xml 파일 추가. 타입 코드 숨김과 타입 객체 공유 비활성화하는 최소 구성:

ROS 2와 DDS 상호운용성: 원활한 통합을 위한 실용 가이드

애플리케이션에 맞게 신뢰도 설정 조정 자유. 위 예제는 시작점으로 "Best Effort" 사용.

이 QoS 파일은 같은 디렉토리에서 시작된 ROS 2 노드에만 적용. 격리된 구성이 필요하면 각 노드 실행 폴더 옆에 전용 USER_QOS_PROFILES.xml 배치.

전송 선택

DDS 시스템과 ROS 2 시스템이 같은 네트워크 공유 시 누락되거나 지원되지 않는 전송(예: udpv4만 지원하는 참여자에 udpv6 불가) 경고 발생 가능. 이런 경고 회피와 신뢰성 있는 연결 보장을 위해 전송 선호도 명시적 구성.

  1. USER_QOS_PROFILES.xml에 <transport_builtin> 마스크를 <participant_qos> 내에 추가해 허용 전송 정의:
<participant_qos> <transport_builtin> <mask>UDPV4|SHMEM</mask> </transport_builtin> </participant_qos> 
  1. 실행 디렉토리에 NDDS_DISCOVERY_PEERS 파일 생성하고 발견 원하는 피어 주소 나열. 멀티캐스트 디스커버리 비활성화하는 쉼표 구분 예시:
localhost,192.168.1.12,shmem:// 

ROS 2에서 RMW 레이어 선택

ROS 2 노드 시작 전 RMW_IMPLEMENTATION 환경 변수를 rmw_connext_cpp로 항상 설정:

export RMW_IMPLEMENTATION=rmw_connext_cpp 

또는 노드 실행 시 인라인으로 전달:

RMW_IMPLEMENTATION=rmw_connext_cpp ros2 run demo_nodes_cpp talker 

언바운드 시퀀스 & 문자열

일부 ROS 2 토픽은 언바운드 시퀀스나 문자열 포함. DDS 애플리케이션이 이 토픽 소비/발행 필요 시 DDS 코드 생성기에서 "Unbounded Support" 활성화. RTI 문서 참조해 코드 생성 중 이 옵션 토글 방법 확인.

ROS 2와 DDS 상호운용성: 원활한 통합을 위한 실용 가이드

RTI와의 다음 단계

현재 ROS 2 기능 세트의 일시적 공백—토픽 데이터 기록과 재생—을 이 시리즈 다음 편에서 다룰 예정. 그동안 견고한 DDS 기반 ROS 2 솔루션 배포 준비되셨다면 RTI 전문가에게 연락주세요. 구성 미세 조정과 시장 출시 가속화 도와드리겠습니다.

사물 인터넷 기술

  1. 레이저 마킹 종합 가이드: 유형, 이점, 적용 분야 총정리
  2. OpenDDS vs RTI Connext DDS: 적합한 데이터 배포 서비스 솔루션 선택
  3. RTI Recording Service와 DDS로 ROS2 LiDAR 데이터 재생하기
  4. ROS2 Bouncy Bolson, 무료 RTI Connext DDS 탑재: 연결성 & 진단 강화
  5. ROS 로봇: 라즈베리파이 터미널 제어 내비게이션
  6. 신속 제조: 맞춤형 및 저용량 부품 생산 가속화
  7. IoT로 현장 서비스 혁신: 예측 유지보수와 ROI 향상
  8. 산업용 IoT 플랫폼 구매 가이드: 전문가 팁 & 의사결정 체크리스트
  9. PCB 스티프너 마스터하기: 플렉스 PCB를 위한 완벽 가이드
  10. 전문 중장비 필드 서비스 & 현장 수리: 작업 신속 복귀