pick_ik
Inverse Kinematics solver for MoveIt
README
pick_ik
pick_ik
is an inverse kinematics (IK) solver compatible with MoveIt 2.
The solver is a reimplementation of bio_ik
, which combines:
A local optimizer which solves inverse kinematics via gradient descent
A global optimizer based on evolutionary algorithms
Critically, pick_ik
allows you to specify custom cost functions as discussed in this paper, so you can prioritize additional objectives than simply solving inverse kinematics at a specific frame. For example, you can minimize joint displacement from the initial guess, enforce that joints are close to a particular pose, or even pass custom cost functions to the plugin.
If you are familiar with bio_ik
, the functionality in this package includes:
Reimplementation of the memetic solver (equivalent to
bio1
andbio2_memetic
solvers)Reimplementation of the numeric gradient descent solvers (equivalent to
gd
,gd_r
, andgd_c
solvers)Fully configurable number of threads if using the global solver
Cost functions on joint displacement, joint centering, and avoiding joint limits
For more details on the implementation, take a look at the paper or the full thesis.
Getting Started
To get started using pick_ik
, refer to the following README files: