-
Notifications
You must be signed in to change notification settings - Fork 41
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
Ignore invalid joint commands #137
Ignore invalid joint commands #137
Conversation
…commanded Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
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.
Wow some bugs are just amazing. The fix looks good 👍
Thanks for finding this! |
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.
This seems like a reasonable safety measure, although I'm alarmed that the DiffDrive system would be outputting NaNs. I hope that issue can be addressed as well.
Yeah, we should probably do a better job of validating user input in ign-gazebo. |
Jenkins CI looks good, but the GitHub actions didn't run. @chapulina, do you know why? is there a way to start them manually? |
I've only been fixing the actions for forks from Citadel onwards because Blueprint will go EOL soon and I wasn't expecting many fork PRs for it.
I don't think so. You could open a PR from a branch... But I think this is safe to merge just with Jenkins CI, so I'll go ahead and do that. |
Robots falling through the floor were reported in osrf/subt#675. This was caused by an input joint velocity command of
nan
being passed toJointFeatures::SetJointVelocityCommand
via ign-gazebo's DiffDrive system. In DART, Joint velocity commands are handled by the constraint solver, which also handles collisions, so it makes sense that the robot falls through when the solver fails. The solution here is to ignorenan
values inJointFeatures::SetJointVelocityCommand
.I have taken the opportunity to ignore invalid values in other
JointFeatures::SetJoint*
commands as well.