Skip to content

A Pinocchio-based ROS2 Kinematics Interface implementation. This plugin can be used instead of the default KDL implementation shipped with default ROS installations.

License

Notifications You must be signed in to change notification settings

justagist/kinematics_interface_pinocchio

Repository files navigation

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!

About

A Pinocchio-based ROS2 Kinematics Interface implementation. This plugin can be used instead of the default KDL implementation shipped with default ROS installations.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published