ros2-rust/ros2_rust
Rust bindings for ROS 2
What it solves
這項專案提供了一種讓開發者使用 Rust 程式語言編寫 ROS 2 (Robot Operating System 2) 應用程式的方法,為傳統的 C++ 或 Python 實作提供了一個更安全且更現代化的替代方案。
How it works
它實作了一個名為 rclrs 的客戶端函式庫以及一個程式碼產生器,讓 Rust 程式碼能與 ROS 2 生態系統進行介面互動。它支援 ROS 2 的核心概念,例如發佈者 (publishers)、訂閱者 (subscriptions)、服務 (services)、動作 (actions) 與參數 (parameters),同時整合了 Rust 的 async 能力以處理並行任務。
Who it's for
希望在保持與 ROS 2 框架相容性的同時,利用 Rust 的記憶體安全與效能特性之機器人開發者。
Highlights
- Comprehensive ROS 2 Support: 包含對所有 ROS 訊息類型、發佈者、訂閱者、服務與動作的支援。
- Async Integration: 為發佈者、訂閱者、客戶端與服務提供 async 變體。
- Zero-Copy Messaging: 支援用於高效能資料傳輸的 loaned messages。
- System Integration: 包含用於訊息產生的程式碼產生器,以及透過 worker 與 executor 模式管理共享狀態的工具。
- ROS Compatibility: 完全支援符合 ROS 標準的日誌記錄 (logging)、圖形查詢 (graph queries) 與可調式 QoS 設定。
相關
- 專案
- 專案
- 專案
- 專案
- 專案