-

pick_ik package from pick_ik repo

pick_ik

Package Summary

Tags No category tags.
Version 1.1.1
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 2024-11-30
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.1.1 (2024-11-30)

  • Initialize with the best seed instead of initial seed at population wipeout (#77)
  • Fix timeout calculation if solution callback fails (#73)
  • Remove incorrect override of tip_frames (#68)
  • Contributors: Amal Nanavati, Sebastian Castro, Timon Engelke

1.1.0 (2023-12-13)

  • Support continuous (unbounded) joints properly (#59)
  • Run elite gradient descent in separate threads (#61)
  • Contributors: Sebastian Castro

1.0.2 (2023-07-25)

  • New options to control solution quality and performance
    • Option to rerun optimization until valid solution or timeout (#53)
    • Option to keep optimizing after a valid solution was found (#46)
    • Approximate solution cost threshold (#51) and joint jump threshold parameters (#42)
    • Position scale parameter (#47)
  • Fix ordering of joint limits when loading robot model (#54)
  • Fix use of solution callback (#48)
  • Remove unnecessary preprocessor macro (#40)
  • Contributors: Marc Bestmann, Sebastian Castro, Erik Holum

1.0.1 (2023-03-28)

  • Set Werror through CMake presets (#39)
  • Replace lower_bounds with gt_eq (#37)
  • Upgrade with new pkgs to fix issue with ROS
  • Target include subdirectory
  • Update Catch2 version to 3.3.0
  • Fix overriding of package
  • Fix orientation calculation in cost function and frame tests (#31)
    • Fix orientation calculation
    • Update plugin return values
    • Remove redundant (and incorrect) joints bounds check
    • Use Eigen angular distance calculation
  • Small grammar fixes (#28)
  • Contributors: Sebastian Castro, Stephanie Eng, Tyler Weaver

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
  • Docker devcontainer workflow for VSCode
  • Contributors: Chris Thrasher, Sebastian Castro, Tyler Weaver

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged pick_ik at Robotics Stack Exchange

pick_ik package from pick_ik repo

pick_ik

Package Summary

Tags No category tags.
Version 1.1.1
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 2024-11-30
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.1.1 (2024-11-30)

  • Initialize with the best seed instead of initial seed at population wipeout (#77)
  • Fix timeout calculation if solution callback fails (#73)
  • Remove incorrect override of tip_frames (#68)
  • Contributors: Amal Nanavati, Sebastian Castro, Timon Engelke

1.1.0 (2023-12-13)

  • Support continuous (unbounded) joints properly (#59)
  • Run elite gradient descent in separate threads (#61)
  • Contributors: Sebastian Castro

1.0.2 (2023-07-25)

  • New options to control solution quality and performance
    • Option to rerun optimization until valid solution or timeout (#53)
    • Option to keep optimizing after a valid solution was found (#46)
    • Approximate solution cost threshold (#51) and joint jump threshold parameters (#42)
    • Position scale parameter (#47)
  • Fix ordering of joint limits when loading robot model (#54)
  • Fix use of solution callback (#48)
  • Remove unnecessary preprocessor macro (#40)
  • Contributors: Marc Bestmann, Sebastian Castro, Erik Holum

1.0.1 (2023-03-28)

  • Set Werror through CMake presets (#39)
  • Replace lower_bounds with gt_eq (#37)
  • Upgrade with new pkgs to fix issue with ROS
  • Target include subdirectory
  • Update Catch2 version to 3.3.0
  • Fix overriding of package
  • Fix orientation calculation in cost function and frame tests (#31)
    • Fix orientation calculation
    • Update plugin return values
    • Remove redundant (and incorrect) joints bounds check
    • Use Eigen angular distance calculation
  • Small grammar fixes (#28)
  • Contributors: Sebastian Castro, Stephanie Eng, Tyler Weaver

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
  • Docker devcontainer workflow for VSCode
  • Contributors: Chris Thrasher, Sebastian Castro, Tyler Weaver

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged pick_ik at Robotics Stack Exchange

pick_ik package from pick_ik repo

pick_ik

Package Summary

Tags No category tags.
Version 1.1.1
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 2024-11-30
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.1.1 (2024-11-30)

  • Initialize with the best seed instead of initial seed at population wipeout (#77)
  • Fix timeout calculation if solution callback fails (#73)
  • Remove incorrect override of tip_frames (#68)
  • Contributors: Amal Nanavati, Sebastian Castro, Timon Engelke

1.1.0 (2023-12-13)

  • Support continuous (unbounded) joints properly (#59)
  • Run elite gradient descent in separate threads (#61)
  • Contributors: Sebastian Castro

1.0.2 (2023-07-25)

  • New options to control solution quality and performance
    • Option to rerun optimization until valid solution or timeout (#53)
    • Option to keep optimizing after a valid solution was found (#46)
    • Approximate solution cost threshold (#51) and joint jump threshold parameters (#42)
    • Position scale parameter (#47)
  • Fix ordering of joint limits when loading robot model (#54)
  • Fix use of solution callback (#48)
  • Remove unnecessary preprocessor macro (#40)
  • Contributors: Marc Bestmann, Sebastian Castro, Erik Holum

1.0.1 (2023-03-28)

  • Set Werror through CMake presets (#39)
  • Replace lower_bounds with gt_eq (#37)
  • Upgrade with new pkgs to fix issue with ROS
  • Target include subdirectory
  • Update Catch2 version to 3.3.0
  • Fix overriding of package
  • Fix orientation calculation in cost function and frame tests (#31)
    • Fix orientation calculation
    • Update plugin return values
    • Remove redundant (and incorrect) joints bounds check
    • Use Eigen angular distance calculation
  • Small grammar fixes (#28)
  • Contributors: Sebastian Castro, Stephanie Eng, Tyler Weaver

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
  • Docker devcontainer workflow for VSCode
  • Contributors: Chris Thrasher, Sebastian Castro, Tyler Weaver

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged pick_ik at Robotics Stack Exchange

pick_ik package from pick_ik repo

pick_ik

Package Summary

Tags No category tags.
Version 1.1.1
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 2024-11-30
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.1.1 (2024-11-30)

  • Initialize with the best seed instead of initial seed at population wipeout (#77)
  • Fix timeout calculation if solution callback fails (#73)
  • Remove incorrect override of tip_frames (#68)
  • Contributors: Amal Nanavati, Sebastian Castro, Timon Engelke

1.1.0 (2023-12-13)

  • Support continuous (unbounded) joints properly (#59)
  • Run elite gradient descent in separate threads (#61)
  • Contributors: Sebastian Castro

1.0.2 (2023-07-25)

  • New options to control solution quality and performance
    • Option to rerun optimization until valid solution or timeout (#53)
    • Option to keep optimizing after a valid solution was found (#46)
    • Approximate solution cost threshold (#51) and joint jump threshold parameters (#42)
    • Position scale parameter (#47)
  • Fix ordering of joint limits when loading robot model (#54)
  • Fix use of solution callback (#48)
  • Remove unnecessary preprocessor macro (#40)
  • Contributors: Marc Bestmann, Sebastian Castro, Erik Holum

1.0.1 (2023-03-28)

  • Set Werror through CMake presets (#39)
  • Replace lower_bounds with gt_eq (#37)
  • Upgrade with new pkgs to fix issue with ROS
  • Target include subdirectory
  • Update Catch2 version to 3.3.0
  • Fix overriding of package
  • Fix orientation calculation in cost function and frame tests (#31)
    • Fix orientation calculation
    • Update plugin return values
    • Remove redundant (and incorrect) joints bounds check
    • Use Eigen angular distance calculation
  • Small grammar fixes (#28)
  • Contributors: Sebastian Castro, Stephanie Eng, Tyler Weaver

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
  • Docker devcontainer workflow for VSCode
  • Contributors: Chris Thrasher, Sebastian Castro, Tyler Weaver

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged pick_ik at Robotics Stack Exchange