sns-ik repository

Repository Summary

Checkout URI
VCS Type git
VCS Version kinetic-devel
Last Updated 2018-07-23
CI status No Continuous Integration
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)


Name Version
sns_ik 0.2.3
sns_ik_examples 0.2.3
sns_ik_lib 0.2.3


SNS-IK Library

Version 0.2.3 beta

The Saturation in the Null-Space (SNS) Inverse-Kinematics (IK) Library implements a collection of algorithms written by Fabrizio Flacco for inverting the differential kinematics of a robot.

Continuous Integration Builds

ROS Indigo ROS Kinetic ROS Melodic
Build Status Build Status Build Status

What problems are solved by this library?

The SNS-IK library is a library that is designed to compute fast solutions to inverse-kinematics problems on redundant kinematic chains. It is particularly good at handling multiple prioritized task objectives while satisfying joint position and velocity limits.

The core solvers in this library operate at the velocity-level, although we also include a position-level solver.

Algorithm Overview:

SNS Velocity IK: This is the core algorithm developed by Fabrizio. All of the other algorithms in this library are improvements upon this one.

Optimal SNS: Add an objective function to the standard SNS velocity IK solver, allowing it to compute a solution that is both feasible and optimal.

Optimal SNS with Margin: Improvement upon the Optimal SNS solver to make it better at avoiding discontinuous velocities over a sequence of IK calls.

Fast SNS IK: Several numerical improvements to reduce the total CPU time required for the SNS Velocity IK solver.

Fast Optimal SNS: Similar to the Optimal SNS, but with several numerical improvements.


The algorithms in this library are drawn from three papers, all written by the same team of three authors: - Fabrizio Flacco - Alessandro De Luca - Oussama Khatib

The primary reference is: - Control of Redundant Robots Under Hard Joint Constraint: Saturation in the Null Space (.pdf) (IEEE). (video)

These two earlier papers are also relevant: - Prioritized multi-task motion control of redundant robots under hard joint constraints (.pdf) (IEEE). - Motion control of redundant robots under joint constraints: Saturation in the Null Space (.pdf) (IEEE).


Original Library:

Fabrizio Flacco
Dipartimento di Ingegneria Informatica, Automatica e Gestionale (DIAG)
Università di Roma "La Sapienza"
Rome, Italy

Maintainence and Updates:

Forrest Rogers-Marcovitz, Ian McMahon, and Matthew Kelly
Rethink Robotics
Boston, MA, USA


No found.