Franka Robotics
The Munich maker of the Franka Research 3, a 7-DoF torque-sensing arm with a 1 kHz external control interface that research labs use for learning and contact-rich control.
| Organisation | Franka Robotics GmbH (Munich, Germany; part of Agile Robots since 2023) |
|---|---|
| Website | franka.de/ |
| Licensing | Proprietary robot firmware, Desk and RIDE; libfranka (C++ and pylibfranka Python bindings) and franka_ros2 under Apache-2.0 |
| Pricing | Request a quote through franka.de; no public price at the time of writing |
| Updated | 14 Nov 2026 |
Products and offerings #
| Name | Kind | Positioning |
|---|---|---|
| Franka Research 3 | arm | 7-DoF research arm, 3 kg payload, 855 mm reach, repeatability within ±0.1 mm, torque sensor in every joint |
| Franka Control Interface and libfranka | library | Ethernet interface for 1 kHz torque, joint and Cartesian commands from an external PC |
| franka_ros2 | library | Maker-maintained ROS 2 integration with ros2_control, MoveIt 2 and URDF models, built on Jazzy |
| Diana 7 by Agile Robots | arm | Agile Robots arm sold by Franka that now supports the Franka Control Interface |
| FR3 Duo and Mobile FR3 Duo | arm | Dual-arm and mobile dual-arm systems, listed as prototypes at the time of writing |
Who they are
This hub is for labs that need to write their own controllers for an arm, especially torque controllers and learned policies. Franka Robotics is the company behind the Franka Research 3 (FR3) and its predecessor, the Panda, which Franka Emika sold. Franka Emika filed for insolvency in 2023, citing shareholder differences, and Agile Robots took over its business operations that November, according to The Robot Report. The company now trades as Franka Robotics GmbH from Koppstraße 12 in Munich, and its site states it has been part of Agile Robots since 2023.
Both the FR3 and the Panda have models in MuJoCo Menagerie. The product list at the time of writing is the FR3, the Diana 7 from Agile Robots (which now supports the same control interface), and accessories. FR3 Duo, Mobile FR3 Duo, a Tactile Mobile Robot and the Franka GELLO teleoperation devices are listed as prototypes.
Tooling and APIs
The Franka Research 3 (7-DoF arm, 3 kg payload, 855 mm reach, repeatability within ±0.1 mm) has a torque sensor in each of its 7 joints, according to the FR3 product page. The page does not state the arm’s mass. The extra joint makes it redundant, so a given hand pose has a one-parameter family of joint solutions, which the kinematics topic explains. The robot reference lists it with other arms.
There are three ways to program it. Desk is the built-in interface for building tasks from apps. RIDE is the tool for developing custom apps. The Franka Control Interface (FCI) bypasses the built-in control so that an external PC runs your own loop at 1 kHz. According to the FCI overview, the external PC can send joint torques (with gravity and friction compensated), joint positions or velocities, or Cartesian poses or velocities. At the same rate it receives joint positions, velocities, link-side torques, estimated external wrenches and contact flags. libfranka also provides forward kinematics, Jacobians and the dynamic model terms, which makes it a good base for impedance control.
libfranka is Apache-2.0 C++, with Python bindings called pylibfranka. FCI is switched on in Desk on robots with system version 4.2.0 or newer. franka_ros2 (Apache-2.0) is the maker’s ROS 2 integration. Its README says it is built on ROS 2 Jazzy, is not officially supported on Windows, recommends its Docker setup, and warns that it is “in rapid development” with breaking changes to be expected.
Pricing is by quote through the website.
Pain points: the 1 kHz loop is unforgiving. The troubleshooting guide says the network round-trip time plus your control loop’s execution time must stay below 1 ms. It lists a switch between PC and controller and a missing real-time kernel as common causes of communication_constraints_violation errors. Secure Boot can stop an unsigned PREEMPT_RT kernel from booting. CPU frequency scaling adds latency, and the guide suggests the performance governor.
Migration notes
- Panda to FR3. The FCI documentation covers both the FR3 and the older Panda (also called FER), and the robot descriptions are separate models. Load the FR3 description rather than reusing Panda URDF files, and re-check any trajectory against the FR3 joint limits.
- Version matching. Each robot system version requires specific libfranka and robot and gripper server versions. Check the compatibility page before updating either side.
- Poses. libfranka’s
RobotStategives the end-effector poseO_T_EEas a 4x4 homogeneous transformation stored column-major in a 16-element array, not a quaternion. Reshape with Fortran order in NumPy, then convert to ROS (x, y, z, w) or MuJoCo (w, x, y, z). - From position-commanded arms. The external interfaces on ABB, FANUC and KUKA arms stream joint setpoints. Torque control on the FR3 gives you more freedom and more ways to destabilise the arm, so start from the gains in the libfranka examples.
Watch for
- Exclusive control. While FCI is active, your PC has exclusive control of the arm and hand, and Desk and apps cannot be used at the same time.
- Ownership history. The 2023 insolvency and takeover changed the company name and organisation. Panda owners should ask about remaining support and spare parts before planning a long project.
- Real-time PC required. A laptop on Wi-Fi will not hold a 1 kHz loop. Budget for a dedicated Linux PC with a PREEMPT_RT kernel and a direct Ethernet cable.
- Research product. The FR3 is sold for research. Check the terms with Franka before you use it in a production cell.