RethinkRobotics-opensource / sns_ik

Saturation in the Null Space (SNS) Inverse Kinematic Library
82 stars 41 forks source link

Implemented SnsLinearSolver class and unit tests #78

Closed MatthewPeterKelly closed 6 years ago

MatthewPeterKelly commented 6 years ago

This commit adds a new linear solver to the SNS utility library, which can be used as the back-end solver for most of the methods. There are two key motivators here: 1) replace the pinv() with a direct linear solve (new eigen only) 2) implement a standard and well-tested solver to use throughout the code

For old versions of Eigen this code defines a class SnsLinearSolver that implements a nearly identical API to Eigen::CompleteOrthogonalDecomposition.

For new versions of Eigen this file provides typedef of the Eigen::CompleteOrthogonalDecomposition class.

Tested on Both Eigen 3.3.4 and Eigen 3.2.0