COSCUP 2024

ROS2 ♥ Rust
2024-08-03, 10:40–11:10 (Asia/Taipei), RB105

ROS 是時下流行的開源機器人軟體框架,受到很多臺灣新創公司和學術團體採用。自從 ROS 逐步踏入工業機器人和自駕車領域,對擴展性(Scalability)及低延遲傳輸需求日益提升,使得導入 Rust 語言成爲理想選擇,Rust 的 async/.await 功能提供高效率和高度並行化資料傳輸,Rust 提供的其 Cargo 工具取代原有 ROS 推薦的 CMake ,簡化相依套件管理、也更容易和第三方套件整合。本次演講分享本人過去幾年在團隊中在 ROS 系統導入 Rust 的經驗,簡介 r2r 套件的使用方式及各式應用情境,藉此一窺 Rust 在 ROS 的威力。


ROS 是時下流行的開源機器人軟體框架,提供完整的套件管理、多程序間訊息傳遞的界面,已經有衆多感測與控制元件廠商提供 ROS 驅動套件,使得 ROS 成爲個人愛好者或新創企業要進入機器控制或自駕平臺領域時、最容易入門的選擇。自從升級 ROS2 進行多項架構革新,第一採用分散式通訊架構,提供更大規模的機器人系統的可能,第二不再限定 C++/Python 程式語言,開啓 Rust 其他語言合作的可能性。

本次演講分享過去幾年使用 Rust 語言開發 ROS2 套件的經驗、及如何用 Rust 語言來解決 ROS2 原有的困境。機器人系統往往牽涉到大量感測資料處理、或者有訊息的低延遲性要求,乃是 Rust 的 async/.await 發揮所長之處,由此來建立更高度並行化和高效率的資料處理程式。此外,使用 Cargo 取代 ROS 中預設的 CMake 可達成接近無痛的相依套件版本管理,同時也更容易整合來自 crates.io 的第三方套件。Rust 帶來更多的好處族繁不及備載。本次演講將圍繞在 r2r 套件的使用方式及各式應用情境,藉此一窺 Rust 在 ROS 的威力。

臺大資工博士生,主要研究車聯網及機器人自動化技術,對深度學習、資訊安全、分散式系統亦有涉獵。也是長期貢獻開源軟體的技術愛好者,主要活躍在 Rust 語言及機器學習相關社群。