ros2-rust/ros2_rust

Rust bindings for ROS 2

해결하는 문제

기존의 C++ 및 Python 구현 대신 더 안전하고 현대적인 대안을 제공하면서, 개발자가 Rust 프로그래밍 언어를 사용하여 ROS 2 애플리케이션을 개발할 수 있도록 합니다.

작동 방식

이 프로젝트는 rclrs라는 클라이언트 라이브러리, ROS 메시지용 코드 생성기, 그리고 일련의 예제를 제공합니다. 파블리셔, 구독자, 서비스, 액션, 타이머와 같은 ROS 2의 핵심 기능을 구현하면서 Rust 생태계(예: 비동기 지원 및 상태 관리를 위한 워커 패턴)와 통합됩니다.

대상 사용자

ROS 2 생태계 내에서 Rust의 메모리 안전성과 성능 특성을 활용하고자 하는 로봇 개발자

주요 특징

  • 포괄적인 ROS 2 지원: 모든 ROS 메시지 유형, 파블리셔, 구독자, 서비스, 액션을 지원합니다.
  • 비동기 기능: 파블리셔, 구독자, 클라이언트, 서비스에 대한 비동기 버전을 제공합니다.
  • 성능 기능: 오버헤드를 줄이기 위해 0-복사 메시징을 가능하게 하는 빌려주는 메시지(loaned messages)를 지원합니다.
  • 시스템 통합: 그래프 쿼리, 조정 가능한 QoS 설정, ROS 준수 로깅 유틸리티를 포함한 도구를 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트