-
 

Package Summary

Tags No category tags.
Version 2.0.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://bitbucket.org/traclabs/trac_ik.git
VCS Type git
VCS Version rolling-devel
Last Updated 2024-09-13
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

A MoveIt! Kinematics plugin using TRAC-IK

Additional Links

No additional links.

Maintainers

  • TRACLabs Robotics

Authors

  • Patrick Beeson

This package provides is a MoveIt! kinematics plugin that replaces the KDL IK solver with the TRAC-IK solver. Currently mimic joints are not supported.

###As of v1.4.3, this package is part of the ROS Indigo/Jade binaries: sudo apt-get install ros-jade-trac-ik-kinematics-plugin

To use:

  • Add this package and trac_ik_lib package to your catkin workspace.
  • Find the MoveIt! kinematics.yaml file created for your robot.
  • Replace

```kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin

(or similar) with

```kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
  • Set parameters as desired:
    • kinematics_solver_timeout (timeout in seconds, e.g., 0.005) and position_only_ik ARE supported.
    • solve_type can be Speed, Distance, Manipulation1, Manipulation2 (see trac_ik_lib documentation for details). Default is Speed.
    • kinematics_solver_attempts parameter is unneeded: unlike KDL, TRAC-IK solver already restarts when it gets stuck
    • kinematics_solver_search_resolution is not applicable here.
    • Note: The Cartesian error distance used to determine a valid solution is 1e-5, as that is what is hard-coded into MoveIt’s KDL plugin.

###NOTE: My understanding of how MoveIt! works from user experience and looking at the source code (though I am NOT a MoveIt! developer):

For normal operations, MoveIt! only really calls an IK solver for one pose (maybe multiple times if the first result is invalid due to self collisions or the like). This IK solution provides a joint configuration for the goal. MoveIt! already knows the current joint configuration from encoder info. All planning at that point is done in JOINT SPACE. Collision detection and constraint checking may use Forward Kinematics to determine the pose of any subgoal joint configuration, but the planning IS NOT being done in Cartesian space. After a joint trajectory is found, MoveIt! tries to smooth the trajectory to make it less “crazy looking”, but this does not always result in a path that is pleasing to human users.

If you don’t have obstacles in your space, you may want to try the Cartesian planning API in MoveIt! to get “straight-line” motion. MoveIt’s Cartesian planner IS “planning” in Cartesian space (doing lots of IK calls). Though really it is just performing linear interpolation in x,y,z,roll,pitch,yaw between the current and desired poses – it isn’t really “searching” for a solution. That is, MoveIt’s Cartesian capability is not doing collision avoidance or replanning – if a collision is detected, the linear interpolation “planning” immediately stops. Unfortunately, in MoveIt! this scenario still returns True that a trajectory was found. This is not ideal, and needs to be fixed – I may write a new Cartesian capability plugin for MoveIt! that addresses this, but that would be outside the scope of Inverse Kinematics.

CHANGELOG

Changelog for package trac_ik_kinematics_plugin

2.0.1 (2024-04-12)

2.0.0 (2024-03-29)

  • hide parameters header file, as it is implemetation
  • remove boost from trac_ik_lib and trac_ik_kinematics_plugin
  • Set default solve type to Distance
  • Contributors: Ana C. Huaman Quispe, Kenji Brameld

1.6.6 (2021-05-05)

  • removed bad depends
  • propagated nlopt deps to sat packages
  • Contributors: Stephen Hart

1.6.4 (2021-04-29)

1.6.2 (2021-03-17)

  • changed package.xmls to format 3
  • switched to non-deprecated function for neotic
  • Contributors: Stephen Hart

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.

Dependant Packages

Name Deps
trac_ik

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged trac_ik_kinematics_plugin at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.0.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://bitbucket.org/traclabs/trac_ik.git
VCS Type git
VCS Version rolling-devel
Last Updated 2024-09-13
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

A MoveIt! Kinematics plugin using TRAC-IK

Additional Links

No additional links.

Maintainers

  • TRACLabs Robotics

Authors

  • Patrick Beeson

This package provides is a MoveIt! kinematics plugin that replaces the KDL IK solver with the TRAC-IK solver. Currently mimic joints are not supported.

###As of v1.4.3, this package is part of the ROS Indigo/Jade binaries: sudo apt-get install ros-jade-trac-ik-kinematics-plugin

To use:

  • Add this package and trac_ik_lib package to your catkin workspace.
  • Find the MoveIt! kinematics.yaml file created for your robot.
  • Replace

```kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin

(or similar) with

```kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
  • Set parameters as desired:
    • kinematics_solver_timeout (timeout in seconds, e.g., 0.005) and position_only_ik ARE supported.
    • solve_type can be Speed, Distance, Manipulation1, Manipulation2 (see trac_ik_lib documentation for details). Default is Speed.
    • kinematics_solver_attempts parameter is unneeded: unlike KDL, TRAC-IK solver already restarts when it gets stuck
    • kinematics_solver_search_resolution is not applicable here.
    • Note: The Cartesian error distance used to determine a valid solution is 1e-5, as that is what is hard-coded into MoveIt’s KDL plugin.

###NOTE: My understanding of how MoveIt! works from user experience and looking at the source code (though I am NOT a MoveIt! developer):

For normal operations, MoveIt! only really calls an IK solver for one pose (maybe multiple times if the first result is invalid due to self collisions or the like). This IK solution provides a joint configuration for the goal. MoveIt! already knows the current joint configuration from encoder info. All planning at that point is done in JOINT SPACE. Collision detection and constraint checking may use Forward Kinematics to determine the pose of any subgoal joint configuration, but the planning IS NOT being done in Cartesian space. After a joint trajectory is found, MoveIt! tries to smooth the trajectory to make it less “crazy looking”, but this does not always result in a path that is pleasing to human users.

If you don’t have obstacles in your space, you may want to try the Cartesian planning API in MoveIt! to get “straight-line” motion. MoveIt’s Cartesian planner IS “planning” in Cartesian space (doing lots of IK calls). Though really it is just performing linear interpolation in x,y,z,roll,pitch,yaw between the current and desired poses – it isn’t really “searching” for a solution. That is, MoveIt’s Cartesian capability is not doing collision avoidance or replanning – if a collision is detected, the linear interpolation “planning” immediately stops. Unfortunately, in MoveIt! this scenario still returns True that a trajectory was found. This is not ideal, and needs to be fixed – I may write a new Cartesian capability plugin for MoveIt! that addresses this, but that would be outside the scope of Inverse Kinematics.

CHANGELOG

Changelog for package trac_ik_kinematics_plugin

2.0.1 (2024-04-12)

2.0.0 (2024-03-29)

  • hide parameters header file, as it is implemetation
  • remove boost from trac_ik_lib and trac_ik_kinematics_plugin
  • Set default solve type to Distance
  • Contributors: Ana C. Huaman Quispe, Kenji Brameld

1.6.6 (2021-05-05)

  • removed bad depends
  • propagated nlopt deps to sat packages
  • Contributors: Stephen Hart

1.6.4 (2021-04-29)

1.6.2 (2021-03-17)

  • changed package.xmls to format 3
  • switched to non-deprecated function for neotic
  • Contributors: Stephen Hart

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.

Dependant Packages

Name Deps
trac_ik

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged trac_ik_kinematics_plugin at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.6.6
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://bitbucket.org/traclabs/trac_ik.git
VCS Type git
VCS Version master
Last Updated 2024-10-08
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A MoveIt! Kinematics plugin using TRAC-IK

Additional Links

No additional links.

Maintainers

  • TRACLabs Robotics

Authors

  • Patrick Beeson

This package provides is a MoveIt! kinematics plugin that replaces the KDL IK solver with the TRAC-IK solver. Currently mimic joints are not supported.

###As of v1.4.3, this package is part of the ROS Indigo/Jade binaries: sudo apt-get install ros-jade-trac-ik-kinematics-plugin

To use:

  • Add this package and trac_ik_lib package to your catkin workspace.
  • Find the MoveIt! kinematics.yaml file created for your robot.
  • Replace

```kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin

(or similar) with

```kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
  • Set parameters as desired:
    • kinematics_solver_timeout (timeout in seconds, e.g., 0.005) and position_only_ik ARE supported.
    • solve_type can be Speed, Distance, Manipulation1, Manipulation2 (see trac_ik_lib documentation for details). Default is Speed.
    • kinematics_solver_attempts parameter is unneeded: unlike KDL, TRAC-IK solver already restarts when it gets stuck
    • kinematics_solver_search_resolution is not applicable here.
    • Note: The Cartesian error distance used to determine a valid solution is 1e-5, as that is what is hard-coded into MoveIt’s KDL plugin.

###NOTE: My understanding of how MoveIt! works from user experience and looking at the source code (though I am NOT a MoveIt! developer):

For normal operations, MoveIt! only really calls an IK solver for one pose (maybe multiple times if the first result is invalid due to self collisions or the like). This IK solution provides a joint configuration for the goal. MoveIt! already knows the current joint configuration from encoder info. All planning at that point is done in JOINT SPACE. Collision detection and constraint checking may use Forward Kinematics to determine the pose of any subgoal joint configuration, but the planning IS NOT being done in Cartesian space. After a joint trajectory is found, MoveIt! tries to smooth the trajectory to make it less “crazy looking”, but this does not always result in a path that is pleasing to human users.

If you don’t have obstacles in your space, you may want to try the Cartesian planning API in MoveIt! to get “straight-line” motion. MoveIt’s Cartesian planner IS “planning” in Cartesian space (doing lots of IK calls). Though really it is just performing linear interpolation in x,y,z,roll,pitch,yaw between the current and desired poses – it isn’t really “searching” for a solution. That is, MoveIt’s Cartesian capability is not doing collision avoidance or replanning – if a collision is detected, the linear interpolation “planning” immediately stops. Unfortunately, in MoveIt! this scenario still returns True that a trajectory was found. This is not ideal, and needs to be fixed – I may write a new Cartesian capability plugin for MoveIt! that addresses this, but that would be outside the scope of Inverse Kinematics.

CHANGELOG

Changelog for package trac_ik_kinematics_plugin

1.6.6 (2021-05-05)

  • removed bad depends
  • propagated nlopt deps to sat packages
  • Contributors: Stephen Hart

1.6.4 (2021-04-29)

1.6.2 (2021-03-17)

  • changed package.xmls to format 3
  • switched to non-deprecated function for neotic
  • Contributors: Stephen Hart

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 trac_ik_kinematics_plugin at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.6.6
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://bitbucket.org/traclabs/trac_ik.git
VCS Type git
VCS Version master
Last Updated 2024-10-08
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A MoveIt! Kinematics plugin using TRAC-IK

Additional Links

No additional links.

Maintainers

  • TRACLabs Robotics

Authors

  • Patrick Beeson

This package provides is a MoveIt! kinematics plugin that replaces the KDL IK solver with the TRAC-IK solver. Currently mimic joints are not supported.

###As of v1.4.3, this package is part of the ROS Indigo/Jade binaries: sudo apt-get install ros-jade-trac-ik-kinematics-plugin

To use:

  • Add this package and trac_ik_lib package to your catkin workspace.
  • Find the MoveIt! kinematics.yaml file created for your robot.
  • Replace

```kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin

(or similar) with

```kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
  • Set parameters as desired:
    • kinematics_solver_timeout (timeout in seconds, e.g., 0.005) and position_only_ik ARE supported.
    • solve_type can be Speed, Distance, Manipulation1, Manipulation2 (see trac_ik_lib documentation for details). Default is Speed.
    • kinematics_solver_attempts parameter is unneeded: unlike KDL, TRAC-IK solver already restarts when it gets stuck
    • kinematics_solver_search_resolution is not applicable here.
    • Note: The Cartesian error distance used to determine a valid solution is 1e-5, as that is what is hard-coded into MoveIt’s KDL plugin.

###NOTE: My understanding of how MoveIt! works from user experience and looking at the source code (though I am NOT a MoveIt! developer):

For normal operations, MoveIt! only really calls an IK solver for one pose (maybe multiple times if the first result is invalid due to self collisions or the like). This IK solution provides a joint configuration for the goal. MoveIt! already knows the current joint configuration from encoder info. All planning at that point is done in JOINT SPACE. Collision detection and constraint checking may use Forward Kinematics to determine the pose of any subgoal joint configuration, but the planning IS NOT being done in Cartesian space. After a joint trajectory is found, MoveIt! tries to smooth the trajectory to make it less “crazy looking”, but this does not always result in a path that is pleasing to human users.

If you don’t have obstacles in your space, you may want to try the Cartesian planning API in MoveIt! to get “straight-line” motion. MoveIt’s Cartesian planner IS “planning” in Cartesian space (doing lots of IK calls). Though really it is just performing linear interpolation in x,y,z,roll,pitch,yaw between the current and desired poses – it isn’t really “searching” for a solution. That is, MoveIt’s Cartesian capability is not doing collision avoidance or replanning – if a collision is detected, the linear interpolation “planning” immediately stops. Unfortunately, in MoveIt! this scenario still returns True that a trajectory was found. This is not ideal, and needs to be fixed – I may write a new Cartesian capability plugin for MoveIt! that addresses this, but that would be outside the scope of Inverse Kinematics.

CHANGELOG

Changelog for package trac_ik_kinematics_plugin

1.6.6 (2021-05-05)

  • removed bad depends
  • propagated nlopt deps to sat packages
  • Contributors: Stephen Hart

1.6.4 (2021-04-29)

1.6.2 (2021-03-17)

  • changed package.xmls to format 3
  • switched to non-deprecated function for neotic
  • Contributors: Stephen Hart

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.

Dependant Packages

Name Deps
trac_ik

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged trac_ik_kinematics_plugin at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.6.6
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://bitbucket.org/traclabs/trac_ik.git
VCS Type git
VCS Version master
Last Updated 2024-10-08
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A MoveIt! Kinematics plugin using TRAC-IK

Additional Links

No additional links.

Maintainers

  • TRACLabs Robotics

Authors

  • Patrick Beeson

This package provides is a MoveIt! kinematics plugin that replaces the KDL IK solver with the TRAC-IK solver. Currently mimic joints are not supported.

###As of v1.4.3, this package is part of the ROS Indigo/Jade binaries: sudo apt-get install ros-jade-trac-ik-kinematics-plugin

To use:

  • Add this package and trac_ik_lib package to your catkin workspace.
  • Find the MoveIt! kinematics.yaml file created for your robot.
  • Replace

```kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin

(or similar) with

```kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
  • Set parameters as desired:
    • kinematics_solver_timeout (timeout in seconds, e.g., 0.005) and position_only_ik ARE supported.
    • solve_type can be Speed, Distance, Manipulation1, Manipulation2 (see trac_ik_lib documentation for details). Default is Speed.
    • kinematics_solver_attempts parameter is unneeded: unlike KDL, TRAC-IK solver already restarts when it gets stuck
    • kinematics_solver_search_resolution is not applicable here.
    • Note: The Cartesian error distance used to determine a valid solution is 1e-5, as that is what is hard-coded into MoveIt’s KDL plugin.

###NOTE: My understanding of how MoveIt! works from user experience and looking at the source code (though I am NOT a MoveIt! developer):

For normal operations, MoveIt! only really calls an IK solver for one pose (maybe multiple times if the first result is invalid due to self collisions or the like). This IK solution provides a joint configuration for the goal. MoveIt! already knows the current joint configuration from encoder info. All planning at that point is done in JOINT SPACE. Collision detection and constraint checking may use Forward Kinematics to determine the pose of any subgoal joint configuration, but the planning IS NOT being done in Cartesian space. After a joint trajectory is found, MoveIt! tries to smooth the trajectory to make it less “crazy looking”, but this does not always result in a path that is pleasing to human users.

If you don’t have obstacles in your space, you may want to try the Cartesian planning API in MoveIt! to get “straight-line” motion. MoveIt’s Cartesian planner IS “planning” in Cartesian space (doing lots of IK calls). Though really it is just performing linear interpolation in x,y,z,roll,pitch,yaw between the current and desired poses – it isn’t really “searching” for a solution. That is, MoveIt’s Cartesian capability is not doing collision avoidance or replanning – if a collision is detected, the linear interpolation “planning” immediately stops. Unfortunately, in MoveIt! this scenario still returns True that a trajectory was found. This is not ideal, and needs to be fixed – I may write a new Cartesian capability plugin for MoveIt! that addresses this, but that would be outside the scope of Inverse Kinematics.

CHANGELOG

Changelog for package trac_ik_kinematics_plugin

1.6.6 (2021-05-05)

  • removed bad depends
  • propagated nlopt deps to sat packages
  • Contributors: Stephen Hart

1.6.4 (2021-04-29)

1.6.2 (2021-03-17)

  • changed package.xmls to format 3
  • switched to non-deprecated function for neotic
  • Contributors: Stephen Hart

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 trac_ik_kinematics_plugin at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.6.6
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://bitbucket.org/traclabs/trac_ik.git
VCS Type git
VCS Version master
Last Updated 2024-10-08
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A MoveIt! Kinematics plugin using TRAC-IK

Additional Links

No additional links.

Maintainers

  • TRACLabs Robotics

Authors

  • Patrick Beeson

This package provides is a MoveIt! kinematics plugin that replaces the KDL IK solver with the TRAC-IK solver. Currently mimic joints are not supported.

###As of v1.4.3, this package is part of the ROS Indigo/Jade binaries: sudo apt-get install ros-jade-trac-ik-kinematics-plugin

To use:

  • Add this package and trac_ik_lib package to your catkin workspace.
  • Find the MoveIt! kinematics.yaml file created for your robot.
  • Replace

```kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin

(or similar) with

```kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
  • Set parameters as desired:
    • kinematics_solver_timeout (timeout in seconds, e.g., 0.005) and position_only_ik ARE supported.
    • solve_type can be Speed, Distance, Manipulation1, Manipulation2 (see trac_ik_lib documentation for details). Default is Speed.
    • kinematics_solver_attempts parameter is unneeded: unlike KDL, TRAC-IK solver already restarts when it gets stuck
    • kinematics_solver_search_resolution is not applicable here.
    • Note: The Cartesian error distance used to determine a valid solution is 1e-5, as that is what is hard-coded into MoveIt’s KDL plugin.

###NOTE: My understanding of how MoveIt! works from user experience and looking at the source code (though I am NOT a MoveIt! developer):

For normal operations, MoveIt! only really calls an IK solver for one pose (maybe multiple times if the first result is invalid due to self collisions or the like). This IK solution provides a joint configuration for the goal. MoveIt! already knows the current joint configuration from encoder info. All planning at that point is done in JOINT SPACE. Collision detection and constraint checking may use Forward Kinematics to determine the pose of any subgoal joint configuration, but the planning IS NOT being done in Cartesian space. After a joint trajectory is found, MoveIt! tries to smooth the trajectory to make it less “crazy looking”, but this does not always result in a path that is pleasing to human users.

If you don’t have obstacles in your space, you may want to try the Cartesian planning API in MoveIt! to get “straight-line” motion. MoveIt’s Cartesian planner IS “planning” in Cartesian space (doing lots of IK calls). Though really it is just performing linear interpolation in x,y,z,roll,pitch,yaw between the current and desired poses – it isn’t really “searching” for a solution. That is, MoveIt’s Cartesian capability is not doing collision avoidance or replanning – if a collision is detected, the linear interpolation “planning” immediately stops. Unfortunately, in MoveIt! this scenario still returns True that a trajectory was found. This is not ideal, and needs to be fixed – I may write a new Cartesian capability plugin for MoveIt! that addresses this, but that would be outside the scope of Inverse Kinematics.

CHANGELOG

Changelog for package trac_ik_kinematics_plugin

1.6.6 (2021-05-05)

  • removed bad depends
  • propagated nlopt deps to sat packages
  • Contributors: Stephen Hart

1.6.4 (2021-04-29)

1.6.2 (2021-03-17)

  • changed package.xmls to format 3
  • switched to non-deprecated function for neotic
  • Contributors: Stephen Hart

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 trac_ik_kinematics_plugin at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.6.6
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://bitbucket.org/traclabs/trac_ik.git
VCS Type git
VCS Version master
Last Updated 2024-10-08
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A MoveIt! Kinematics plugin using TRAC-IK

Additional Links

No additional links.

Maintainers

  • TRACLabs Robotics

Authors

  • Patrick Beeson

This package provides is a MoveIt! kinematics plugin that replaces the KDL IK solver with the TRAC-IK solver. Currently mimic joints are not supported.

###As of v1.4.3, this package is part of the ROS Indigo/Jade binaries: sudo apt-get install ros-jade-trac-ik-kinematics-plugin

To use:

  • Add this package and trac_ik_lib package to your catkin workspace.
  • Find the MoveIt! kinematics.yaml file created for your robot.
  • Replace

```kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin

(or similar) with

```kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
  • Set parameters as desired:
    • kinematics_solver_timeout (timeout in seconds, e.g., 0.005) and position_only_ik ARE supported.
    • solve_type can be Speed, Distance, Manipulation1, Manipulation2 (see trac_ik_lib documentation for details). Default is Speed.
    • kinematics_solver_attempts parameter is unneeded: unlike KDL, TRAC-IK solver already restarts when it gets stuck
    • kinematics_solver_search_resolution is not applicable here.
    • Note: The Cartesian error distance used to determine a valid solution is 1e-5, as that is what is hard-coded into MoveIt’s KDL plugin.

###NOTE: My understanding of how MoveIt! works from user experience and looking at the source code (though I am NOT a MoveIt! developer):

For normal operations, MoveIt! only really calls an IK solver for one pose (maybe multiple times if the first result is invalid due to self collisions or the like). This IK solution provides a joint configuration for the goal. MoveIt! already knows the current joint configuration from encoder info. All planning at that point is done in JOINT SPACE. Collision detection and constraint checking may use Forward Kinematics to determine the pose of any subgoal joint configuration, but the planning IS NOT being done in Cartesian space. After a joint trajectory is found, MoveIt! tries to smooth the trajectory to make it less “crazy looking”, but this does not always result in a path that is pleasing to human users.

If you don’t have obstacles in your space, you may want to try the Cartesian planning API in MoveIt! to get “straight-line” motion. MoveIt’s Cartesian planner IS “planning” in Cartesian space (doing lots of IK calls). Though really it is just performing linear interpolation in x,y,z,roll,pitch,yaw between the current and desired poses – it isn’t really “searching” for a solution. That is, MoveIt’s Cartesian capability is not doing collision avoidance or replanning – if a collision is detected, the linear interpolation “planning” immediately stops. Unfortunately, in MoveIt! this scenario still returns True that a trajectory was found. This is not ideal, and needs to be fixed – I may write a new Cartesian capability plugin for MoveIt! that addresses this, but that would be outside the scope of Inverse Kinematics.

CHANGELOG

Changelog for package trac_ik_kinematics_plugin

1.6.6 (2021-05-05)

  • removed bad depends
  • propagated nlopt deps to sat packages
  • Contributors: Stephen Hart

1.6.4 (2021-04-29)

1.6.2 (2021-03-17)

  • changed package.xmls to format 3
  • switched to non-deprecated function for neotic
  • Contributors: Stephen Hart

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 trac_ik_kinematics_plugin at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.6.6
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://bitbucket.org/traclabs/trac_ik.git
VCS Type git
VCS Version master
Last Updated 2024-10-08
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A MoveIt! Kinematics plugin using TRAC-IK

Additional Links

No additional links.

Maintainers

  • TRACLabs Robotics

Authors

  • Patrick Beeson

This package provides is a MoveIt! kinematics plugin that replaces the KDL IK solver with the TRAC-IK solver. Currently mimic joints are not supported.

###As of v1.4.3, this package is part of the ROS Indigo/Jade binaries: sudo apt-get install ros-jade-trac-ik-kinematics-plugin

To use:

  • Add this package and trac_ik_lib package to your catkin workspace.
  • Find the MoveIt! kinematics.yaml file created for your robot.
  • Replace

```kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin

(or similar) with

```kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
  • Set parameters as desired:
    • kinematics_solver_timeout (timeout in seconds, e.g., 0.005) and position_only_ik ARE supported.
    • solve_type can be Speed, Distance, Manipulation1, Manipulation2 (see trac_ik_lib documentation for details). Default is Speed.
    • kinematics_solver_attempts parameter is unneeded: unlike KDL, TRAC-IK solver already restarts when it gets stuck
    • kinematics_solver_search_resolution is not applicable here.
    • Note: The Cartesian error distance used to determine a valid solution is 1e-5, as that is what is hard-coded into MoveIt’s KDL plugin.

###NOTE: My understanding of how MoveIt! works from user experience and looking at the source code (though I am NOT a MoveIt! developer):

For normal operations, MoveIt! only really calls an IK solver for one pose (maybe multiple times if the first result is invalid due to self collisions or the like). This IK solution provides a joint configuration for the goal. MoveIt! already knows the current joint configuration from encoder info. All planning at that point is done in JOINT SPACE. Collision detection and constraint checking may use Forward Kinematics to determine the pose of any subgoal joint configuration, but the planning IS NOT being done in Cartesian space. After a joint trajectory is found, MoveIt! tries to smooth the trajectory to make it less “crazy looking”, but this does not always result in a path that is pleasing to human users.

If you don’t have obstacles in your space, you may want to try the Cartesian planning API in MoveIt! to get “straight-line” motion. MoveIt’s Cartesian planner IS “planning” in Cartesian space (doing lots of IK calls). Though really it is just performing linear interpolation in x,y,z,roll,pitch,yaw between the current and desired poses – it isn’t really “searching” for a solution. That is, MoveIt’s Cartesian capability is not doing collision avoidance or replanning – if a collision is detected, the linear interpolation “planning” immediately stops. Unfortunately, in MoveIt! this scenario still returns True that a trajectory was found. This is not ideal, and needs to be fixed – I may write a new Cartesian capability plugin for MoveIt! that addresses this, but that would be outside the scope of Inverse Kinematics.

CHANGELOG

Changelog for package trac_ik_kinematics_plugin

1.6.6 (2021-05-05)

  • removed bad depends
  • propagated nlopt deps to sat packages
  • Contributors: Stephen Hart

1.6.4 (2021-04-29)

1.6.2 (2021-03-17)

  • changed package.xmls to format 3
  • switched to non-deprecated function for neotic
  • Contributors: Stephen Hart

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 trac_ik_kinematics_plugin at Robotics Stack Exchange