-
Notifications
You must be signed in to change notification settings - Fork 37
Franka Panda and FR3
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.
- 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
. - Make sure to have FCI installed on the arm.
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"
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
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).
You must set the following environment variable:
export HUSKY_FRANKA_MODEL=panda
Remember to disable watchman rules:
See this Franka Community Post Or, this LibFranka Issue
Note: you will have to login with your own GitHub
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
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
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