|
Repository Summary
Checkout URI | https://github.com/frankaemika/franka_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-06-23 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
franka_bringup | 1.0.0 |
franka_example_controllers | 1.0.0 |
franka_fr3_moveit_config | 1.0.0 |
franka_gazebo_bringup | 1.0.0 |
franka_ign_ros2_control | 1.0.0 |
franka_gripper | 1.0.0 |
franka_hardware | 1.0.0 |
franka_msgs | 1.0.0 |
franka_robot_state_broadcaster | 1.0.0 |
franka_ros2 | 1.0.0 |
franka_semantic_components | 1.0.0 |
integration_launch_testing | 1.0.0 |
README
ROS 2 Integration for Franka Robotics Research Robots
Note: franka_ros2 is not officially supported on Windows.
Table of Contents
About
The franka_ros2 repository provides a ROS 2 integration of libfranka, allowing efficient control of the Franka Robotics arm within the ROS 2 framework. This project is designed to facilitate robotic research and development by providing a robust interface for controlling the research versions of Franka Robotics robots.
For convenience, we provide Dockerfile and docker-compose.yml files. While it is possible to build franka_ros2 directly on your local machine, this approach requires manual installation of certain dependencies, while many others will be automatically installed by the ROS 2 build system (e.g., via rosdep). This can result in a large number of libraries being installed on your system, potentially causing conflicts. Using Docker encapsulates these dependencies within the container, minimizing such risks. Docker also ensures a consistent and reproducible build environment across systems. For these reasons, we recommend using Docker.
Caution
This package is in rapid development. Users should expect breaking changes and are encouraged to report any bugs via GitHub Issues page.
Franka ROS 2 Dependencies Setup
This repository contains a .repos
file that helps you clone the required dependencies for Franka ROS 2.
Prerequisites
Local Machine Installation
-
Install ROS 2 Development environment
franka_ros2 is built upon ROS 2 Humble.
To set up your ROS 2 environment, follow the official humble installation instructions provided here. The guide discusses two main installation options: Desktop and Bare Bones.
#### Choose one of the following:
-
ROS 2 “Desktop Install” (
ros-humble-desktop
) Includes a full ROS 2 installation with GUI tools and visualization packages (e.g., Rviz and Gazebo). Recommended for users who need simulation or visualization capabilities. -
“ROS-Base Install (Bare Bones)” (
ros-humble-ros-base
) A minimal installation that includes only the core ROS 2 libraries. Suitable for resource-constrained environments or headless systems.
-
# replace <YOUR CHOICE> with either ros-humble-desktop or ros-humble-ros-base
sudo apt install <YOUR CHOICE>
---
Also install the **Development Tools** package:
sudo apt install ros-dev-tools
Installing the **Desktop** or **Bare Bones** should automatically source the **ROS 2** environment but, under some circumstances you may need to do this again:
source /opt/ros/humble/setup.sh
- Create a ROS 2 Workspace:
mkdir -p ~/franka_ros2_ws/src
cd ~/franka_ros2_ws # not into src
- Clone the Repositories:
git clone https://github.com/frankarobotics/franka_ros2.git src
- Install the dependencies
vcs import src < src/franka.repos --recursive --skip-existing
- Detect and install project dependencies
rosdep install --from-paths src --ignore-src --rosdistro humble -y
- Build
# use the --symlinks option to reduce disk usage, and facilitate development.
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
- Adjust Enviroment
# Adjust environment to recognize packages and dependencies in your newly built ROS 2 workspace.
source install/setup.sh
Docker Container Installation
The franka_ros2 package includes a Dockerfile
and a docker-compose.yml
, which allows you to use franka_ros2
packages without manually installing ROS 2. Also, the support for Dev Containers in Visual Studio Code is provided.
For detailed instructions, on preparing VSCode to use the .devcontainer
follow the setup guide from VSCode devcontainer_setup.
- Clone the Repositories:
```bash git clone https://github.com/frankarobotics/franka_ros2.git
File truncated at 100 lines see the full file
CONTRIBUTING
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).