libfranka / Franka Control Interface (FCI)
libfrankaFCIAdvancedFranka's official low-level C++ control library, exchanging commands with the robot in real time at 1 kHz through the FCI.
libfranka is the official open-source C++ control library for Franka arms (Panda / FR3), connecting over Ethernet to the robot's Franka Control Interface (FCI). In a callback function, the user reads the robot's state once every millisecond — joint angles, velocities, estimated external forces — and returns a command each time; available control modes include joint torque, joint position/velocity, and Cartesian pose/velocity, which means the computer running it needs a real-time kernel (such as PREEMPT_RT) to guarantee it never misses a cycle. franka_ros and franka_ros2 are its ROS wrappers. Many robot-learning frameworks — Polymetis and Deoxys among them — call into it under the hood to implement impedance control and policy execution.
ExampleOn a machine running a PREEMPT_RT kernel, write a 1 kHz torque callback with libfranka to implement Cartesian impedance control, so a VLA policy's output end-effector target pose gets tracked compliantly.
- Also called
- franka_ros, franka_ros2, Franka Control Interface
- Related
- Franka Emika Panda / Franka Research 3 · Torque Control · Cartesian Impedance Control · PREEMPT_RT Real-Time Linux Patch · RTDE (Real-Time Data Exchange, Universal Robots) · Software Development Kit (SDK)
- Sources
- Franka Control Interface 文档 (Chinese)
frankaemika/libfranka (GitHub)