# Franka FR3（Franka Research 3）开发百科

> 原文链接：https://robotics.hellobike.com/wiki/franka-research-3-dev-guide
> 频道：wiki | 更新日期：2026-10-22 | 标签：Franka FR3, 机械臂, ROS 2, libfranka, MuJoCo
> 核心摘要：Franka Research 3是七轴力敏科研机械臂，具备关节扭矩感知、3 kg负载与855 mm工作半径；可通过libfranka、Desk API和ROS 2接入，并配套URDF/MJCF仿真资产。

# Franka FR3（Franka Research 3）开发百科

## 本体与算力接口

Franka Research 3面向机器人与人工智能研究，属于七轴力敏机械臂。每个关节集成扭矩传感器，可估计外部接触力；资料记录自由度为7、关节力矩传感器×7、有效负载3 kg、工作半径855 mm、位置重复精度＜±0.1毫米、工作空间效率94.5%。扩展与通信侧提供`libfranka`开源C++接口、Desk API与ROS 2接口；`libfranka`可通过5种接口以1 kHz发送实时控制值。

## 官方 SDK 与通信协议

[docs](/sdks/frankarobotics-docs) 是FCI文档源码工具，语言为Python，仓库为https://github.com/frankarobotics/docs。README写明本地构建需要Python 3.10或更高版本，并安装`requirements.txt`依赖；构建文档使用`make html`。

[external_gripper_example](/sdks/frankarobotics-external-gripper-example) 是外部夹爪示例工具，语言为Python，仓库为https://github.com/frankarobotics/external_gripper_example。README针对Panda与Robotiq 2F-85夹爪，给出可配置pick-and-place序列；测试依赖写明`libfranka == 0.5.0`、`franka_ros == 0.6.0`、`robotiq_2finger_grippers == 0.9.1`、`panda_moveit_config == 0.7.2`。

[franka_description](/sdks/frankarobotics-franka-description) 是仿真模型仓库，语言为Python，仓库为https://github.com/frankarobotics/franka_description。README说明其提供Franka机器人3D模型、机器人参数与URDF生成能力，先决条件为Docker；可通过`./scripts/create_urdf.sh`生成URDF，`robot_model`可选值包含`fr3`。

[franka_ros](/sdks/frankarobotics-franka-ros) 是Franka科研机器人ROS集成框架，语言为C++，仓库为https://github.com/frankarobotics/franka_ros。README说明需参考Franka Control Interface文档获取更多信息，所有包采用Apache 2.0许可证。

[franka_ros2_teleop](/sdks/frankarobotics-franka-ros2-teleop) 是ROS 2力敏遥操作工具，语言为C++，仓库为https://github.com/frankarobotics/franka_ros2_teleop。README写明示例使用一台FR3作为leader、一台FR3作为follower，至少需要两台带FCI功能的Franka FR3；启动前需在配置中填写机器人IP并确保本地网络可达、处于FCI Mode。

[franka_ros2](/sdks/frankarobotics-franka-ros2) 是Franka科研机器人ROS 2集成框架，语言为C++，仓库为https://github.com/frankarobotics/franka_ros2。README说明它将`libfranka`集成到ROS 2框架，提供`Dockerfile`与`docker-compose.yml`，并推荐多数用户使用Docker；同时注明不正式支持Windows，且项目处于快速开发中。

## ROS 2 与仿真资产

FR3配套`franka_description`资产：URDF xacro位于https://github.com/frankaemika/franka_description/blob/main/robots/fr3/fr3.urdf.xacro，MJCF位于https://github.com/google-deepmind/mujoco_menagerie/blob/main/franka_fr3/fr3.xml，资料标注支持MuJoCo与ROS 2。机型卡还说明`franka_ros`可接入ROS 2生态，支持RViz可视化和Gazebo仿真；`franka_description`包含URDF模型与3D网格，可用于Gazebo仿真。

## 推荐上手顺序

1. 先阅读[docs](/sdks/frankarobotics-docs)中的FCI文档，明确`libfranka`、Desk API与ROS 2接口的角色。
2. 需要模型与仿真时，从[franka_description](/sdks/frankarobotics-franka-description)生成或加载`fr3` URDF，并结合ROS 2、RViz、Gazebo或MuJoCo资产验证场景。
3. 进入真机控制前，再选择[franka_ros2](/sdks/frankarobotics-franka-ros2)或[franka_ros](/sdks/frankarobotics-franka-ros)接入控制链路。
4. 若目标是双臂力反馈遥操作，再参考[franka_ros2_teleop](/sdks/frankarobotics-franka-ros2-teleop)配置两台带FCI的FR3。

## 来源

- [Franka Research 3 官方产品页](https://franka.de/franka-research-3-arm)
- [MuJoCo Menagerie FR3](https://github.com/google-deepmind/mujoco_menagerie/blob/main/franka_fr3/fr3.xml)
- [GitHub docs](https://github.com/frankarobotics/docs)
- [GitHub external_gripper_example](https://github.com/frankarobotics/external_gripper_example)
- [GitHub franka_description](https://github.com/frankarobotics/franka_description)
- [GitHub franka_ros](https://github.com/frankarobotics/franka_ros)
- [GitHub franka_ros2_teleop](https://github.com/frankarobotics/franka_ros2_teleop)
- [GitHub franka_ros2](https://github.com/frankarobotics/franka_ros2)

本页由站内机型卡、官方 SDK README 与已验证记录整理而成；命令与版本以仓库当前 README 为准。

## 原始参考来源 (Sources)

- [Franka Research 3 官方产品页](https://franka.de/franka-research-3-arm)
- [MuJoCo Menagerie FR3](https://github.com/google-deepmind/mujoco_menagerie/blob/main/franka_fr3/fr3.xml)
- [GitHub docs](https://github.com/frankarobotics/docs)
- [GitHub external_gripper_example](https://github.com/frankarobotics/external_gripper_example)
- [GitHub franka_description](https://github.com/frankarobotics/franka_description)
- [GitHub franka_ros](https://github.com/frankarobotics/franka_ros)
- [GitHub franka_ros2_teleop](https://github.com/frankarobotics/franka_ros2_teleop)
- [GitHub franka_ros2](https://github.com/frankarobotics/franka_ros2)