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 中直接使用。
- 反应系统:能够定义针对意外事件的实时反应,并使用非阻塞回调进行监控。
- 全 API 访问:提供对
libfrankaAPI 大部分功能的 Python 访问,包括夹持器控制和机器人状态读取。 - 仿真支持:兼容
franky-sim,可在部署到实体硬件之前进行代码测试。
相关
- 项目
- 项目
- 项目
- 项目
- 项目