Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IK Solver Redundant Solutions Update #601

Merged

Conversation

marip8
Copy link
Contributor

@marip8 marip8 commented May 5, 2021

This PR:

  • Removes the addition of redundant solutions to the output of the inverse kinematic solvers
    • Returning redundant IK solutions with nominal solutions can cause downstream applications to repeat operations because those applications cannot disambiguate the two types of solutions. For example, the Tesseract Descartes planner collision checks all generated IK solutions, resulting in a lot of unnecessary repeated work when the vast majority of IK solutions are just redundancies of a solution that has already been checked.
    • Applications requiring redundant solutions should use the provided utility function to produce them from a nominal solution
  • Adds a function for generating a list of indices which indicate which joints in a input list are capable of generating redundant solutions.
    • Linear joints, unlike revolute joints, are not capable of producing redundant solutions.
  • Updates the redundant solution calculation function to only generate redundant solutions for joints that are capable of producing them

@marip8 marip8 force-pushed the update/redundant-solutions branch from e75c19e to 7078f16 Compare May 5, 2021 16:29
@codecov
Copy link

codecov bot commented May 5, 2021

Codecov Report

Merging #601 (ad218f9) into master (71cad6c) will increase coverage by 0.04%.
The diff coverage is 100.00%.

❗ Current head ad218f9 differs from pull request most recent head bcffa1e. Consider uploading reports for the commit bcffa1e to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##           master     #601      +/-   ##
==========================================
+ Coverage   92.33%   92.37%   +0.04%     
==========================================
  Files         155      155              
  Lines        8887     8882       -5     
==========================================
- Hits         8206     8205       -1     
+ Misses        681      677       -4     
Impacted Files Coverage Δ
...eract_kinematics/src/kdl/kdl_inv_kin_chain_lma.cpp 94.44% <ø> (+1.89%) ⬆️
...seract_kinematics/src/kdl/kdl_inv_kin_chain_nr.cpp 94.68% <ø> (+1.82%) ⬆️
tesseract_kinematics/src/opw/opw_inv_kin.cpp 95.77% <ø> (-0.23%) ⬇️
tesseract_kinematics/src/ur/ur_inv_kin.cpp 79.67% <ø> (-0.43%) ⬇️
...nematics/include/tesseract_kinematics/core/utils.h 97.29% <100.00%> (+0.29%) ⬆️

@marip8 marip8 force-pushed the update/redundant-solutions branch from 2f47a51 to 1135d72 Compare May 28, 2021 19:03
@Levi-Armstrong Levi-Armstrong merged commit d04e9dd into tesseract-robotics:master Jun 1, 2021
@marip8 marip8 deleted the update/redundant-solutions branch June 1, 2021 18:14
@johnwason
Copy link
Contributor

@Levi-Armstrong Can we get a release tag to catch up with these changes?

@Levi-Armstrong
Copy link
Contributor

I have created a new tag and submitted a release to the build farm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants