基于 C++17 的物理引擎,提供 Python 绑定,用于机器人与计算动画中关节体的运动学、动力学和接触仿真。
frankarobotics/libfranka
用于实时底层控制 Franka Robotics 科研机械臂的 C++ 客户端库,并提供 Python 绑定。
- Star
- 463
- Fork
- 258
- 未关闭 Issue
- 2
- 最近提交
- 2个月前
这是什么?
libfranka 是一个 C++ 库,用于对 Franka Robotics 科研机械臂进行底层实时控制。它通过网络与机器人通信,向应用程序开放运动控制和机器人状态读取接口,适合需要直接控制机械臂、而不是依赖机器人自带上层接口的场景。
库以 Debian 包形式发布,支持 Ubuntu 20.04、22.04、24.04 和 26.04 LTS,也可以使用 CMake 从源码构建,或在基于 Docker 的开发环境中编译。实时运行需要带 PREEMPT_RT 补丁的 Linux 内核。每个版本对应特定的机器人系统版本,可在兼容性矩阵中查看。
项目同时提供 Python 绑定 pylibfranka,可通过 PyPI 安装,并附带关节位置控制、关节阻抗控制、读取机器人状态和夹爪控制等示例程序。
核心功能
- 01对 Franka 科研机械臂进行底层实时运动控制。
- 02通过网络与机器人通信,读取状态并下发指令。
- 03提供可通过 PyPI 安装的 Python 绑定 pylibfranka。
- 04提供 Ubuntu 20.04 至 26.04 LTS 的 Debian 包及源码构建方式。
- 05附带关节阻抗控制、机器人状态打印和夹爪操作等示例程序。
适用场景
- 需要直接实时控制 Franka 机械臂的科研项目。
- 用 C++ 或 Python 编写阻抗控制、关节位置控制等自定义控制器。
- 将 Franka 机器人接入外部控制循环或科研软件系统。
- 在自研应用中操作 Franka 夹爪。
快速上手
- 1
从 GitHub 发布页下载适用于你的 Ubuntu 版本的 libfranka Debian 包
wget https://github.com/frankarobotics/libfranka/releases/download/0.19.0/libfranka_0.19.0_jammy_amd64.deb - 2
验证软件包校验和
sha256sum -c libfranka_0.19.0_jammy_amd64.deb.sha256 - 3
安装软件包
sudo dpkg -i libfranka_0.19.0_jammy_amd64.deb
使用前须知
- 仅适用于已安装 FCI 功能的 Franka Robotics 科研机器人,没有该硬件则用处有限。
- 官方仅支持 Ubuntu Linux,实时控制建议使用 PREEMPT_RT 内核。
收录于专题
标签
常见问题
- libfranka 是什么?
- 用于实时底层控制 Franka Robotics 科研机械臂的 C++ 客户端库,并提供 Python 绑定。 libfranka 是一个 C++ 库,用于对 Franka Robotics 科研机械臂进行底层实时控制。它通过网络与机器人通信,向应用程序开放运动控制和机器人状态读取接口,适合需要直接控制机械臂、而不是依赖机器人自带上层接口的场景。
- libfranka 可以免费使用吗?用的什么许可证?
- libfranka 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- libfranka 还在维护吗?
- 半年内有更新。libfranka 最近一次提交是在 2026年9月7日。
- libfranka 适合用来做什么?
- 需要直接实时控制 Franka 机械臂的科研项目。 用 C++ 或 Python 编写阻抗控制、关节位置控制等自定义控制器。 将 Franka 机器人接入外部控制循环或科研软件系统。 在自研应用中操作 Franka 夹爪。
- libfranka 怎么安装和运行?
- 从 GitHub 发布页下载适用于你的 Ubuntu 版本的 libfranka Debian 包: wget https://github.com/frankarobotics/libfranka/releases/download/0.19.0/libfranka_0.19.0_jammy_amd64.deb 验证软件包校验和: sha256sum -c libfranka_0.19.0_jammy_amd64.deb.sha256 安装软件包: sudo dpkg -i libfranka_0.19.0_jammy_amd64.deb
- 在哪里获取 libfranka?
- 源代码和安装说明在 GitHub 上:https://github.com/frankarobotics/libfranka
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
LinuxCNC 是一款开源的 CNC 机床控制软件,可驱动铣床、车床、3D 打印机、激光及等离子切割机和机械臂等设备。
面向 Franka Emika Panda 机械臂的 ROS 2 Humble 集成,同一套 ros2_control 控制器可用于真机和 MuJoCo 仿真。
开源的低成本 SO-100/SO-101 机械臂设计,含可 3D 打印零件与物料清单,适配 LeRobot 库。
开源主从机械臂套件,5 自由度加夹爪,零件可 3D 打印,关节布局兼容 LeRobot,用于遥操作和模仿学习。
基于光滑粒子流体动力学(SPH)的开源 C++ 流体物理仿真库,提供 Python 绑定和命令行工具。