TimSchneider42/franky
High-Level Control Library for Franka Robots with Python and C++ Support
解決的問題
控制 Franka 機器人通常需要 1 kHz 的嚴格即時編程,這在 Python 等非即時環境中很難實現。franky 透過提供一個在內部處理即時需求的控制介面,消除了這一障礙,使用戶無需 ROS 或複雜的即時設定即可控制機器人。
工作原理
該函式庫不要求低階指令,而是接受高階位置或速度目標。它使用 Ruckig 函式庫即時規劃時間最佳軌跡,同時遵守速度、加速度與加加速度(jerk)的限制。它還包含一個反應系統,透過動態更新運動指令來處理意外事件(如環境接觸),並允許透過搶佔運動來即時重新規劃軌跡。
適用對象
希望使用 Python 或 C++ 以更簡單的方式實現機器人控制,而無需承擔 ROS 開銷或低階即時編程複雜性的 Franka 機器人開發者與研究人員。
亮點
- 多模態控制:支援笛卡兒座標與關節位置/速度控制,以及直接的扭矩與阻抗控制。
- 無需 ROS:可以透過 pip 安裝並直接在 Python 中使用。
- 反應系統:能夠定義針對意外事件的即時反應,並使用非阻塞回呼(callback)進行監控。
- 全 API 存取:提供對
libfrankaAPI 大部分功能的 Python 存取,包括夾爪控制與機器人狀態讀取。 - 模擬支援:相容於
franky-sim,可在部署到實體硬體之前進行程式碼測試。
相關
- 專案
- 專案
- 專案
- 專案
- 專案