Skip to content

personalrobotics/pick_ik

 
 

Repository files navigation

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 and bio2_memetic solvers)
  • Reimplementation of the numeric gradient descent solvers (equivalent to gd, gd_r, and gd_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:

About

Inverse Kinematics solver for MoveIt

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.4%
  • CMake 2.5%
  • Dockerfile 2.1%