Move from string-based links and joints to id-based logic (using hashes)#7
Closed
rjoomen wants to merge 5 commits into
Closed
Move from string-based links and joints to id-based logic (using hashes)#7rjoomen wants to merge 5 commits into
rjoomen wants to merge 5 commits into
Conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Return JointId/LinkId from getJointIds, getBaseLinkId, getWorkingFrameId, getTipLinkIds instead of strings. Use cached tip_link_id from KDLChainData in calcInvKin, eliminating fromName() on every IK call. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates the Trac-IK inverse kinematics chain implementation to use ID-based (hashed) link/joint identifiers instead of string names, aligning this solver with the newer ID-based kinematics APIs.
Changes:
- Switched
calcInvKininput fromTransformMapkeyed by link name toLinkIdTransformMapkeyed by link ID. - Replaced name-based accessors (
getJointNames,getBaseLinkName, etc.) with ID-based accessors (getJointIds,getBaseLinkId, etc.).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
tesseract_kinematics/trac-ik/src/trac-ik_inv_kin_chain.cpp |
Updates implementation to look up tip pose and expose joint/link identifiers by ID. |
tesseract_kinematics/trac-ik/include/tesseract_trac_ik/trac-ik/trac-ik_inv_kin_chain.h |
Updates public API/overrides to the new ID-based method signatures and types. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…ints TracIKInvKinChain ctors now accept tesseract::common::LinkId instead of std::string for base_link / tip_link and for the chain endpoint pairs, matching the broader kinematics-layer signature tightening in tesseract (JointGroup / KinematicGroup / InverseKinematics ctors all now take LinkId / JointId directly). - include/tesseract_trac_ik/trac-ik/trac-ik_inv_kin_chain.h: base_link / tip_link and the chain vector's pair element type swap to tesseract::common::LinkId. - src/trac-ik_inv_kin_chain.cpp: corresponding parameter type updates in both ctor definitions. Callers get implicit const char* / std::string -> LinkId conversion, so existing call sites that pass string literals keep compiling without further changes.
Match the renamed InverseKinematics base-class virtual so the override compiles against the current tesseract kinematics core interface. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…PLICIT Mirror the tesseract repo split of TESSERACT_COMPILE_DEFINITIONS into _PUBLIC / _PRIVATE and apply TESSERACT_NAMEID_NO_IMPLICIT PRIVATE on the trac-ik and trac-ik_factory libraries. - TracIKInvKinChain ctor takes base/tip LinkId by const ref. - TracIKInvKinChainFactory parses base_link/tip_link as LinkId, wrapping the YAML std::string at the boundary. Drive-by: drop EIGEN_MAKE_ALIGNED_OPERATOR_NEW (class has no fixed-size Eigen members) and update the matching @param docs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Collaborator
Author
|
Replaced by #8 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requires tesseract-robotics/tesseract#1274 and tesseract-robotics/tesseract_planning#734