Skip to content

Franka Panda and FR3

luis-camero edited this page Mar 28, 2023 · 5 revisions

The following pages will guide you in setting up all software required to interface with the Franka Panda or FR3 (Franka Research 3) robotic arms on the Husky.

Franka Desk - Web Interface

  1. Make sure to have setup your shop-floor IP to an IP on your ROS computer's subnet. In this example, we will set the IP as 192.168.131.40.
  2. Make sure to have FCI installed on the arm.

URDF

Add the Franka arm to your URDF by setting the following environment variable:

export HUSKY_URDF_EXTRAS=$(catkin_find husky_franka_description/urdf/husky_franka_description.urdf.xacro --first-only)

or add the following snippet to your URDF that you would then add to HUSKY_URDF_EXTRAS:

  <xacro:include filename="$(find husky_franka_description)/urdf/husky_franka_description.urdf.xacro"/>

The following environment variables will allow you to customise the URDF:

# Location of the Arm
export HUSKY_FRANKA_XYZ="0.41 0 0.231"
export HUSKY_FRANKA_RPY="0 0 0"
export HUSKY_FRANKA_PARENT="base_link"

# Location of the Gripper
# Note: the gripper will be attached at the end of link8
export HUSKY_FRANKA_GRIPPER_ENABLED=0
export HUSKY_FRANKA_GRIPPER_XYZ="0 0 0.1034"
export HUSKY_FRANKA_GRIPPER_RPY="0 0 0"

Launch File

You can find the launch file under the package husky_franka_bringup, see: franka_control

The following environment variables specify parameters to the launch file:

export HUSKY_FRANKA_IP="192.168.131.40"
# Gripper Enable
export HUSKY_FRANKA_GRIPPER_ENABLED=0

Franka Panda

Installing Franka ROS and libfranka

Unlike newer models, all of the Franka Panda's software can be installed via ROS packages: sudo apt install ros-noetic-franka-ros This will install franka_ros (version 0.10.1) and libfranka (version 0.9.2).

Model Environment Variable

You must set the following environment variable:

export HUSKY_FRANKA_MODEL=panda

Franka FR3

Setting up Desk

Remember to disable watchman rules: default-watchman-rules

See this Franka Community Post Or, this LibFranka Issue

Note: you will have to login with your own GitHub

Installing LibFranka

Depending on the state of Franka's latest ros-noetic-libfranka binaries, you may have to install these from source. See the Franka Software Compatibility. Notice, the FR3 requires libfranka_v0.10.0, however the latest binaries are only libfranka_v0.9.0.

Therefore, you must clone, build, and install these from source. Follow the LibFranka Installation Instructions.

Make sure to create the debian and install it with dpkg -i

Building Franka ROS

After LibFranka, create a catkin workspace and:

# Clone Franka ROS
cd ~/catkin_ws/src
git clone https://github.com/frankaemika/franka_ros.git -b 0.10.1

# Install ROS Dependencies
cd ~/catkin_ws/
rosdep --from-paths src --ignore-src -r -y --skip-keys libfranka

# Catkin Make
catkin_make

MoveIt! Configuration

Make sure to source the environment variables you set above before running and MoveIt! configurations.

Generate a copy of the MoveIt! for your Project:

# Husky Manipulation
cd ~/catkin_ws/src
git clone https://github.com/husky/husky_manipulation.git

# Customise MoveIt!, replace proj01 with your project name
./src/husky_manipulation/husky_franka_moveit_config/scripts/customize_moveit.sh proj01_husky_moveit_config

To run the MoveIt! configuration:

roslaunch proj01_husky_moveit_config husky_franka_moveit_planning_execution.launch