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

include fixed tfs to siblings in links #912

Merged

Conversation

v4hn
Copy link
Contributor

@v4hn v4hn commented May 23, 2018

If the robot structure contains y-paths made up of fixed transforms, the
previous implementation missed these associations in the associated_transforms.

The structure

  • a - b - c
    \
    • d

only added associationed fixed transforms for a and b to c, but missed d.

I missed to submit this request when I wrote it two months ago
and it just popped up again here.

v4hn added 2 commits May 23, 2018 13:53
It does not compute *all* fixed transforms,
but only those *below* the link in the kinematic tree.
If the robot structure contains y-paths made up of
fixed transforms, the previous implementation could miss
associations.

The structure

- a - b - c
  \
   - d

only added associationed fixed transforms for a and b to c, but missed d.
@BryceStevenWilley
Copy link
Contributor

Sorry this took so long for me to look at, but LGTM. I added a test that I though I'd be able to add to this PR, but I can't; would you mind cherry-picking commit 76366f126 off my copy of this PR?

Minor comment, but the Below in computeFixedTransformsBelow is a little vague (depends on whether you think of trees of chains growing up or down). Maybe computeDescendantFixedTransforms works better? Up to you though.

@rhaschke
Copy link
Contributor

@BryceStevenWilley Thanks for providing an initial unit test for this. I cleaned this up and augmented some more tests.

getLinkModel(it->first->getName())->addAssociatedFixedTransform(link_model_vector_[i], it->second.inverse());
link_model_vector_[i]->addAssociatedFixedTransform(it->first, it->second);
// this const-cast is equivalent to
// associated_transforms[tf_base.first->getLinkIndex()]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't make sense at all, does it?
associated_transforms is probably way smaller than tf_base.first->getLinkIndex().
You just want to regain write access to the "base" link, don't you?
I will add a commit to fix this comment.

@rhaschke rhaschke merged commit 5a1d5a8 into moveit:kinetic-devel Oct 21, 2018
rhaschke pushed a commit to ubi-agni/moveit that referenced this pull request Oct 21, 2018
…moveit#912)

Old implementation only computes those transforms *below* the link in the kinematic tree.

If the robot structure contains y-paths made up of fixed transforms, the previous implementation could miss associations.

The structure

- a - b - c
  \
   - d

only added associationed fixed transforms for a and b to c, but missed d.
pull bot pushed a commit to shadow-robot/moveit that referenced this pull request Sep 3, 2020
…moveit#912)

Old implementation only computes those transforms *below* the link in the kinematic tree.

If the robot structure contains y-paths made up of fixed transforms, the previous implementation could miss associations.

The structure

- a - b - c
  \
   - d

only added associationed fixed transforms for a and b to c, but missed d.
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.

None yet

3 participants