eclipse-zenoh/zenoh-plugin-ros2dds
A Zenoh plug-in for ROS2 with a DDS RMW. See https://discourse.ros.org/t/ros-2-alternative-middleware-report/ for the advantages of using this plugin over other DDS RMW implementations.
해결하는 문제
이 프로젝트는 ROS 2(로봇 운영 체제) 통신을 Zenoh를 통해 라우팅할 수 있게 해주는 브리지를 제공합니다. 표준 ROS 2 DDS(데이터 분산 서비스) 미들웨어에서 흔히 발생하는 무선 연결 문제, 대역폭 제약, 서로 다른 네트워크 간 통합의 어려움 등을 해결합니다.
작동 방식
이 브리지는 ROS 2 DDS 프로토콜과 Zenoh 프로토콜 사이의 변환 계층 역할을 합니다. Zenoh 라우터의 동적 라이브러리(플러그인) 또는 독립 실행형 실행 파일로 배포할 수 있습니다. UDP 멀티캐스트(CycloneDDS 사용)를 통해 ROS 2 노드, 토픽, 서비스, 액션을 발견하고 이를 Zenoh 리소스에 매핑합니다.
주요 메커니즘은 다음과 같습니다.
- 네임스페이스 매핑: 브리지 수준에서 ROS 2 이름에 특정 네임스페이스를 접두사로 추가할 수 있어, 개별 ROS 노드를 구성하지 않고도 여러 로봇을 관리할 때 충돌을 방지합니다.
- 연결 모드: 네트워크에서 브리지가 서로 연결되는 방식을 관리하기 위해 라우터 모드와 피어 모드를 모두 지원합니다.
- 관리 공간: 모니터링을 위해 발견된 노드와 경로 같은 내부 상태를 Zenoh 관리 공간을 통해 노출합니다.
대상 사용자
ROS 2를 사용하며 불안정한 무선 링크를 통해 로봇 데이터를 전송해야 하거나 여러 로봇을 단일 모니터링 시스템에 통합해야 하는 로봇 개발자 및 운영자.
주요 특징
- ROS 2 통합: ROS 토픽, 서비스, 액션을 완전히 지원하여
ros2CLI 및rviz2와 같은 표준 ROS 2 도구와의 호환성을 보장합니다. - 유연한 배포: 독립 실행형 브리지 또는 Zenoh 라우터 플러그인으로 사용 가능.
- 간소화된 다중 로봇 관리: 브리지 수준의 네임스페이스 구성으로 여러 로봇의 데이터 격리가 간소화됩니다.
- 효율적인 발견: 표준 DDS 브리지에 비해 발견 정보 교환이 더 간결합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트