Skip to content

Latest commit

 

History

History
78 lines (49 loc) · 3.86 KB

README.md

File metadata and controls

78 lines (49 loc) · 3.86 KB

kinematics_interface_pinocchio

License
ROS Humble ROS Jazzy ROS Rolling

A Pinocchio-based ROS 2 Kinematics Interface plugin. This can serve as a drop-in replacement for the default KDL plugin in ROS 2, offering a different backend for forward and inverse kinematics.


Overview

This package provides:

  • A Pinocchio-based implementation of the kinematics_interface for ROS 2.
  • The same plugin interface as the default KDL plugin (kinematics_interface_kdl).
  • A path to potentially better performance (to be benchmarked) and additional features enabled by Pinocchio.

Installation

You can install this package directly from your ROS 2 distribution’s repositories:

sudo apt-get update
sudo apt-get install ros-${ROS_DISTRO}-kinematics-interface-pinocchio

Alternatively, you can clone this repository into your ROS workspace and build from source (requires pinocchio to be installed/built).


Build Status

ROS Distro Build Status
Humble Build and Test (ROS 2 Humble)
Jazzy Build and Test (ROS 2 Jazzy)
Rolling Build and Test (ROS 2 Rolling)

Usage

To use this plugin in place of the default KDL plugin:

  1. Update your ROS 2 package dependencies to include kinematics_interface_pinocchio.
  2. In your configuration or launch files, specify the Pinocchio plugin shared library instead of kinematics_interface_kdl.

An example snippet:

<!-- Example usage in a ROS 2 controller configuration -->
<plugin>kinematics_interface_pinocchio/KinematicsInterfacePinocchio</plugin>

TODO

  • Replicate KDL implementations and capabilities with Pinocchio
  • Package as a ROS 2 plugin usable in place of kinematics_interface_kdl
  • Benchmark and compare performance
  • Allow arbitrary frames to be used as base (currently uses the model’s root joint)
  • Add support for floating-base robots
  • Add support for continuous joints and other composite joints supported by Pinocchio

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.


Contributions welcome!