How to create URDF models for Franka robots
First, clone the franka_description repository:
clone_franka_description.sh
git clone https://github.com/frankaemika/franka_description.gitAfter that, use the scripts/create_urdf.sh script to create the URDFs.
You need to make different choices here:
- Robot type:
multi_arm,fr3(Franka Research 3),fp3(Franka Panda 3) orfer. Recommended: The robot you’re using. - With or without end-effector:
--robot-eewith one of the following options:franka_hand(for the Franka Hand)cobot_pumpnone(no endeffector, recommended unless you use one of the listed end-effectors)
Furthermore, you can add the --with-sc flag to include the self-collision model in the URDF. This is always recommended.
Also, you have to choose how to load the 3D geometry meshes which make up the URDF geometry:
- By default, the STL generator will use paths such as
package://franka_description/meshes/robot_arms/fr3/visual/link5.dae. - You can also add
--abs-path --host-dir [HOST_DIR]. One example would be to use relative paths using--abs-path --host-dir ..
The image will use a ROS docker image to build the models, so you need to install Docker, but you don’t need to install anything else.
The resulting URDFs will be saved in the urdfs subdirectory of the repository.
Example commands:
How to create a Franka Research 3 URDF (no end-effector)
create_fr3_urdf.sh
# This will create urdfs/fr3.urdf
./scripts/create_urdf.sh fr3 --with-sc --robot-ee noneHow to create a Franka Research 3 URDF with the Franka Hand end-effector
create_fr3_urdf_with_hand.sh
# This will create urdfs/fr3.urdf
./scripts/create_urdf.sh fr3 --with-sc --robot-ee franka_handCheck out similar posts by category:
Robotics
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow