-
Notifications
You must be signed in to change notification settings - Fork 43
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
Added Shapes Features to bullet-featherstone #382
Added Shapes Features to bullet-featherstone #382
Conversation
Signed-off-by: ahcorde <ahcorde@gmail.com>
Signed-off-by: ahcorde <ahcorde@gmail.com>
Codecov Report
@@ Coverage Diff @@
## add-bullet-featherstone #382 +/- ##
===========================================================
+ Coverage 74.55% 75.91% +1.36%
===========================================================
Files 128 139 +11
Lines 5628 6578 +950
===========================================================
+ Hits 4196 4994 +798
- Misses 1432 1584 +152
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
Signed-off-by: ahcorde <ahcorde@gmail.com>
Signed-off-by: ahcorde <ahcorde@gmail.com>
…corde/add-bullet-featherstone/shapesFeatures
{ | ||
for (unsigned int i = 0; i < value->collisionEntityIds.size(); ++i) | ||
{ | ||
if (value->collisionEntityIds[i] == _id.ID()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you seeing a case where the incoming _id
is for a collision entity? The kinematics feature list doesn't include ShapeFrameSemantics
so it's not supposed to be possible for a user to ask for the frame data of a collision object.
If you're seeing that happen then it probably indicates an error in the template system. If you can point me at a way to recreate it, that would be very helpful.
@@ -232,7 +232,7 @@ std::optional<Structure> ValidateModel(const ::sdf::Model &_sdfModel) | |||
for (std::size_t i = 0; i < model.LinkCount(); ++i) | |||
{ | |||
const auto *link = model.LinkByIndex(i); | |||
if (parentOf.count(link) == 0) | |||
if (parentOf.size() != 0 && parentOf.count(link) == 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure why we would check the size here. parentOf.size() == 0
implies that there is only one link and that link has no parent. In that case parentOf.count(link) == 0
will be true. Inside of this branch we then double-check that if a rootLink
was selected while iterating over the model then that root link is the same as the one we're currently looking at. I think it's reasonable to double-check that because if that's not true then there's an error in the logic of the parser or the model has multiple root links which is not currently supported by Bullet's Featherstone algorithm and will produce problems later on.
Was there a specific situation that motivated these additional conditions? If so it would be helpful if I can reproduce it to figure out what might be wrong with the parser's logic.
…corde/add-bullet-featherstone/shapesFeatures
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
…corde/add-bullet-featherstone/shapesFeatures
Signed-off-by: ahcorde <ahcorde@gmail.com>
…corde/add-bullet-featherstone/shapesFeatures
…corde/add-bullet-featherstone/shapesFeatures
* Improved joints in bullet featherstone Signed-off-by: ahcorde <ahcorde@gmail.com>
…rstone/shapesFeatures Signed-off-by: Michael Carroll <michael@openrobotics.org>
Signed-off-by: ahcorde ahcorde@gmail.com
🎉 New feature
Summary
Added Shapes Features to bullet-featherstone.
TODOs
Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining
Signed-off-by
messages.