Repolode
dora-rs

dora-rs/dora

실시간 로보틱스 및 AI 애플리케이션을 노드로 구성된 방향성 데이터플로 그래프로 구축하는 100% Rust 미들웨어 프레임워크입니다.

스타
4,034
포크
463
열린 이슈
111
마지막 커밋
5시간 전

어떤 프로젝트인가요?

Dora(Dataflow-Oriented Robotic Architecture)는 방향성 그래프로 연결된 독립 노드들로 로보틱스 및 AI 애플리케이션을 구축하기 위한 프레임워크입니다. 각 노드는 Rust, Python, C 또는 C++로 작성된 별도 프로세스이며, YAML 파일에 선언한 타입 지정 입력과 출력으로 데이터를 주고받습니다. 프레임워크는 한 대 또는 여러 대의 머신에서 프로세스 실행, 메시지 라우팅, 라이프사이클 관리를 담당합니다.

카메라 프레임이나 포인트 클라우드처럼 데이터가 많은 워크로드에서는 같은 머신에 있는 노드끼리 제로카피 공유 메모리를 사용하고, 머신 간 통신에는 Zenoh를 사용합니다. 메시지는 Apache Arrow 형식으로 전달됩니다. CLI에서는 로컬 데이터플로 실행, 분산 환경에서 코디네이터와 데몬 시작, 토픽·로그·리소스 사용량 확인을 할 수 있습니다. 메시지 기록 및 재생, 노드별 재시작 정책, ROS2 브리지도 지원합니다.

Dora에는 카메라, YOLO 감지기, LLM 및 TTS 노드 같은 재사용 가능한 노드를 버전별로 가져올 수 있는 노드 허브와 경량 변환을 위한 프로세스 내 오퍼레이터 모델도 포함되어 있습니다.

핵심 기능

  • 01선언형 YAML에서 방향성 그래프로 정의하는 데이터플로. 노드는 Rust, Python, C 또는 C++로 작성할 수 있습니다.
  • 02같은 머신에 있는 노드 사이에는 제로카피 공유 메모리를, 머신 간에는 Zenoh pub-sub를 사용합니다.
  • 03처음부터 끝까지 Apache Arrow 메시지 형식을 사용합니다.
  • 04로컬 실행, 분산 클러스터, 로그, 토픽 확인, 리소스 모니터링을 하나의 CLI에서 지원합니다.
  • 05데이터플로 메시지 기록 및 재생과 노드별 재시작 정책을 지원합니다.
  • 06토픽, 서비스, 액션을 위한 ROS2 브리지입니다.

활용 사례

  • 카메라 캡처, 객체 감지, 시각화 노드를 연결하는 로봇 인식 파이프라인 구축.
  • 하나의 데이터플로에서 Python AI 모델과 Rust 또는 C++ 제어 컴포넌트 연결.
  • 조율된 노드 라이프사이클로 여러 머신에 걸친 로봇 또는 센서 시스템 실행.
  • 기존 ROS2 시스템과 새로운 AI 기반 노드 연결.

빠른 시작

  1. 1

    crates.io에서 dora CLI를 설치합니다

    cargo install dora-cli
  2. 2

    Python node API와 예제 종속성을 설치합니다

    pip install dora-rs numpy pyarrow
  3. 3

    저장소를 클론하고 해당 디렉터리로 이동합니다

    git clone https://github.com/dora-rs/dora.git && cd dora
  4. 4

    Python sender-transformer-receiver 예제 dataflow를 실행합니다

    dora run examples/python-dataflow/dataflow.yml

사용 전 알아둘 점

  • README에는 Node Hub가 불안정하다고 표시되어 있습니다.
  • 코디네이터 재시작 후 실행 중인 dataflow를 복구하는 기능은 부분적으로만 지원됩니다.

포함된 컬렉션

토픽

자주 묻는 질문

dora은(는) 무엇인가요?
실시간 로보틱스 및 AI 애플리케이션을 노드로 구성된 방향성 데이터플로 그래프로 구축하는 100% Rust 미들웨어 프레임워크입니다. Dora(Dataflow-Oriented Robotic Architecture)는 방향성 그래프로 연결된 독립 노드들로 로보틱스 및 AI 애플리케이션을 구축하기 위한 프레임워크입니다. 각 노드는 Rust, Python, C 또는 C++로 작성된 별도 프로세스이며, YAML 파일에 선언한 타입 지정 입력과 출력으로 데이터를 주고받습니다. 프레임워크는 한 대 또는 여러 대의 머신에서 프로세스 실행, 메시지 라우팅, 라이프사이클 관리를 담당합니다.
dora은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
dora은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
dora은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. dora의 마지막 커밋은 2026년 10월 22일입니다.
dora은(는) 어디에 사용할 수 있나요?
카메라 캡처, 객체 감지, 시각화 노드를 연결하는 로봇 인식 파이프라인 구축. 하나의 데이터플로에서 Python AI 모델과 Rust 또는 C++ 제어 컴포넌트 연결. 조율된 노드 라이프사이클로 여러 머신에 걸친 로봇 또는 센서 시스템 실행. 기존 ROS2 시스템과 새로운 AI 기반 노드 연결.
dora는 어떻게 설치하나요?
crates.io에서 dora CLI를 설치합니다: cargo install dora-cli Python node API와 예제 종속성을 설치합니다: pip install dora-rs numpy pyarrow 저장소를 클론하고 해당 디렉터리로 이동합니다: git clone https://github.com/dora-rs/dora.git && cd dora Python sender-transformer-receiver 예제 dataflow를 실행합니다: dora run examples/python-dataflow/dataflow.yml
dora은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/dora-rs/dora

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트