Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

Repo symbol

pick_ik repository

pick_ik

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

Repo symbol

pick_ik repository

pick_ik

ROS Distro
kilted

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

Repo symbol

pick_ik repository

pick_ik

ROS Distro
lyrical

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

Repo symbol

pick_ik repository

pick_ik

ROS Distro
rolling

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

Repo symbol

pick_ik repository

pick_ik

ROS Distro
iron

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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:

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

pick_ik repository

pick_ik

ROS Distro
humble

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2026-09-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
pick_ik 1.1.3

README

pick_ik

pick_ik is an inverse kinematics (IK) solver compatible with MoveIt 2.

[!IMPORTANT] pick_ik is deprecated by PickNik. Its performance did not meet our requirements, so PickNik no longer uses the solver or plans further feature development. We will provide only basic maintenance for existing users.

We are looking to transfer ownership to the open source community. If you are interested in owning and maintaining pick_ik, please contact us by opening an issue.

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: