Franka ROS Interface ==================== |Release| |ROS Version| |Python 2.7+, 3.6+| A ROS interface library for the Franka Emika Panda robot (real and `simulated `_), extending the `franka_ros`_ to expose more information about the robot, and providing low-level control of the robot using ROS and `Python API `_. Go to `Project Source Code`_. .. image:: https://raw.githubusercontent.com/justagist/franka_ros_interface/master/assets/panda_robot_demo.gif :target: https://youtu.be/4bEVysUIvOY Provides utilites for controlling and managing the Franka Emika Panda robot (real and `simulated `_). Contains exposed controllers for the robot (joint position, velocity, torque), interfaces for the gripper, controller manager, coordinate frames interface, etc. Also provides utilities to control the robot using MoveIt! and ROS Trajectory Action & ActionClient. This package also provides almost complete sim-to-real / real-to-sim transfer of code with the `Panda Simulator `_ package. A more unified ROS Python interface built over this package is available in the `PandaRobot `_ package, which provides a more intuitive interface class that combines the different API classes in this package. Simple demo and `basic usage `_ are also shown. .. image:: https://raw.githubusercontent.com/justagist/franka_ros_interface/master/assets/panda_simulator.gif :target: https://www.youtube.com/watch?v=NdSbXC0r7tU **Features** - Low-level *controllers* (joint position, velocity, torque, impedance) available that can be controlled through ROS topics and Python API (including position control for gripper). - Real-time *robot state* (end-effector state, joint state, controller state, etc.) available through ROS topics and Python API. - Python API for managing controllers, coordinate frames, collision behaviour, controlling and monitoring the gripper. - Python API classes and utility functions to control the robot using MoveIt! and ROS Trajectory Action Service. - The `Panda Simulator `_ package (which is Gazebo-based simulator for the robot) can also be controlled using this package (ROS and Python interface), providing almost complete sim-to-real transfer of code. .. image:: https://raw.githubusercontent.com/justagist/franka_ros_interface/master/assets/ts_demo.gif :target: https://youtu.be/a_HEmYzqEnk Related Packages ---------------- - `Panda Simulator `_ : A Gazebo simulator for the Franka Emika Panda robot with ROS interface, providing exposed controllers and real-time robot state feedback similar to the real robot when using the *franka_ros_interface* package. Provides almost complete real-to-sim transfer of code. - `PandaRobot `_ : Python interface providing higher-level control of the robot integrated with its gripper control, controller manager, coordinate frames manager, etc. with safety checks and other helper utilities. It also provides the kinematics and dynamics of the robot using the `KDL library`_. It is built over Franka ROS Interface and provides a more intuitive and unified single-class interface. - `franka_panda_description`_ : Robot description package modified from `franka_ros`_ package to include dynamics parameters for the robot arm (as estimated in `this paper`_). Also includes transmission and control definitions required for the `panda_simulator`_ package. Go to `Project Source Code`_. .. toctree:: :caption: Contents: :hidden: self Setup Instructions DOC Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` Go to `Project Source Code`_. **LICENSE:** |License| Copyright (c) 2019-2021, Saif Sidhik If you use this software for research, please considering citing using |doi|. .. _panda_simulator: https://github.com/justagist/panda_simulator .. _panda_robot: https://github.com/justagist/panda_robot .. _KDL library: http://wiki.ros.org/kdl .. _franka_panda_description: https://github.com/justagist/franka_panda_description .. _franka_ros: https://frankaemika.github.io/docs/franka_ros.html .. _this paper: https://hal.inria.fr/hal-02265293/document .. _Python Documentation: https://justagist.github.io/franka_ros_interface .. _FCI documentation: https://frankaemika.github.io/docs/installation_linux.html .. _franka_panda_description: https://github.com/justagist/franka_panda_description .. _Related Packages: #related-packages .. _Environments: #the-frankash-environments .. _install from source: https://frankaemika.github.io/docs/installation_linux.html#building-from-source .. _Python API Documentation: https://justagist.github.io/franka_ros_interface/DOC.html .. _Project Source Code: https://github.com/justagist/franka_ros_interface .. |Build Status| image:: https://travis-ci.org/justagist/franka_ros_interface.svg?branch=master :target: https://travis-ci.org/justagist/franka_ros_interface .. |License| image:: https://img.shields.io/badge/License-Apache2.0-blue.svg :target: https://opensource.org/licenses/Apache-2.0 .. |Code Quality| image:: https://api.codacy.com/project/badge/Grade/ec16a09639d341358b73cb8cdaa57d2e :target: https://www.codacy.com/manual/justagist/franka_ros_interface?utm_source=github.com&utm_medium=referral&utm_content=justagist/franka_ros_interface&utm_campaign=Badge_Grade .. |doi| image:: https://zenodo.org/badge/199485892.svg :target: https://zenodo.org/badge/latestdoi/199485892 .. |Release| image:: https://img.shields.io/badge/release-v0.7.1-blue.svg :target: https://github.com/justagist/franka_ros_interface/tree/v0.7.1-dev .. |ROS Version| image:: https://img.shields.io/badge/ROS-Melodic,%20Noetic-brightgreen.svg?logo=ros :target: https://ros.org/ .. |Python 2.7+, 3.6+| image:: https://img.shields.io/badge/python-2.7+,%203.6+-blue.svg?logo=python :target: https://www.python.org/downloads/release/python-360/