gazebosim / gz-physics

Abstract physics interface designed to support simulation and rapid development of robot applications.
https://gazebosim.org
Apache License 2.0
65 stars 40 forks source link

bullet-featherstone: Enforce joint velocity and effort limits for velocity control commands #658

Closed iche033 closed 3 months ago

iche033 commented 3 months ago

🎉 New feature

Closes #

Summary

Updated SetJointVelocityCommand to enforce joint limits by

Added the following features:

Test it

Enabled tests in joint_features related to testing joint limits using velocity control. There are still issues with force control so those tests remain disabled in bullet-featherstone

Note I added collisions to the simple_joint_test in test.world (used by various joint limit tests) because bullet-featherstone requires a link to have collisions otherwise the joints do not move.

Here's a joint_limits.sdf world that consists of a simple model with JointPositionController

Before: joint limits not enforced so joint rotates at a high speed joint_limits_bullet_before

After: joint limits enforced joint_limits_bullet_after

Checklist

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.

azeey commented 3 months ago

Steve has removed homebrew CI from the required CI checks while the DART fix is in progress. We can go ahead and merge this PR.