franka_description
April 28, 2026 ยท View on GitHub
.. image:: https://github.com/frankarobotics/franka_description/actions/workflows/generate-urdfs.yml/badge.svg :target: https://github.com/frankarobotics/franka_description/actions/workflows/generate-urdfs.yml
Overview
The Franka Description repository offers all Franka Robotics models. It includes detailed 3D models and essential robot parameters, crucial for simulating these robots in various environments. Additionally, the repository provides a feature to create URDFs (Unified Robot Description Format) for the selected Franka robot model.
Features
- Comprehensive 3D Models: Detailed 3D models of all Franka Robotics models for accurate simulation and visualization.
- Robot Parameters: All necessary robot parameters for realistic and reliable simulations.
- URDF Creation: Ability to create URDF files for any selected Franka robot model, essential for robot simulations in ROS and other robotic middleware.
Prerequisites
- Docker
URDF Creation
To start the generation, execute the ``start.sh`` script. The arguments passed to the sh script will be used
from the ``create_urdf.py``.
.. code-block:: bash
# Start the generation of the urdf model
./scripts/create_urdf.sh <robot_type>
The urdf generation is performed by the ``create_urdf.py`` script which offers several parameters to customize
the output urdf model:
.. code-block:: text
usage: create_urdf.py [-h] [--robot-ee] [--no-ee] [--with-sc] [--abs-path] [--host-dir HOST_DIR] [--only-ee] [--no-prefix] robot_model
Generate franka robots urdf models. Script to be executed from franka_description root folder!
positional arguments:
robot_model id of the robot model (accepted values are: fr3v2_1, fr3v2, fr3, fp3, fer, fr3_duo, tmrv0_2, mobile_fr3_duo_v0_2, none)
optional arguments:
-h, --help show this help message and exit
--robot-ee id of the robot end effector (accepted values are: franka_hand, cobot_pump)
--no-ee Disable loading of end-effector (robot-ee would be ingnored if set) [WARNING: this argument will be removed in future releases, introducing "none" as ee id].
--with-sc Include self-collision volumes in the urdf model.
--abs-path Use absolute paths.
--host-dir HOST_DIR Provide a host directory for the absolute path.
--only-ee Get URDF with solely end-effector data
--no-prefix Override the robot prefix of links, joints and visuals in the urdf file.
Visualize via ROS2
franka_description is offered as a ROS2 package.
The urdf file can be visualized via RViz with the following command:
.. code-block:: bash
visualize_franka.sh launches the visualize_franka.launch.py in a ros2 instance running in the docker container
The arguments given to the .sh script are forwarded as launch arguments
Accepted launch arguments are:
robot_type - accepted values are: fr3v2_1, fr3v2, fr3, fp3, fer, fr3_duo, tmrv0_2, mobile_fr3_duo_v0_2
load_gripper - accepted values are: true (default ee_id is franka_hand), false (ee_id will be ignored) [WARNING: this argument will be removed in future releases, introducing "none" as ee id]
ee_id - accepted values are: franka_hand, cobot_pump
./scripts/visualize_franka.sh robot_type:=<robot_type>
If you want to visualize the fr3 duo designed for multiple controller managers, the following command must be used:
.. code-block:: bash
./scripts/visualize_franka_duo.sh robot_type:=<robot_type>
Troubleshooting
Figuring out your arm type
Identifying which arm type you have purchased is not always obvious, especially for fr3, fr3v2 and fr3v2_1,
as the differences are subtle. The easiest way is to check the arm type in Desk->Settings->Dashboard:
.. list-table::
:header-rows: 1
:widths: 25 25
* - franka_description
- Desk
* - fp3
- Arm3P
* - fr3
- Arm3R
* - fr3v2
- Arm3Rv2
* - fr3v2_1
- Arm3Rv2.1
If you have an fer or a system image older than 5.9.1 installed, the arm type may not be correctly displayed in Desk.
License
-------
This project is licensed under the Apache License 2.0 - see the `LICENSE <LICENSE>`_ file for details.