pick_ik package from pick_ik repo

pick_ik

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/PickNikRobotics/pick_ik.git
VCS Type git
VCS Version main
Last Updated 2022-12-08
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Inverse Kinematics solver for MoveIt

Additional Links

No additional links.

Maintainers

  • Tyler Weaver

Authors

  • Tyler Weaver

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:

CHANGELOG

Changelog for package pick_ik

1.0.0 (2022-12-08)

  • pick_ik inverse kinematics plugin compatible with MoveIt 2
  • Numeric gradient descent (local) solver
  • Memetic algorithm (global solver), configurable for single or multi-threading
  • Basic goal functions: joint centering, avoid joint limits, minimal joint displacement
  • Support for position-only IK and approximate solutions
  • Dynamic parameter switching at runtime using generate_parameter_library <https://github.com/PickNikRobotics/generate\_parameter\_library\>
  • Docker devcontainer workflow for VSCode
  • Contributors: Chris Thrasher, Sebastian Castro, Tyler Weaver

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged pick_ik at answers.ros.org

No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.