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

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

Merged
merged 9 commits into from
Jul 3, 2024

Conversation

iche033
Copy link
Contributor

@iche033 iche033 commented Jun 25, 2024

🎉 New feature

Closes #

Summary

Updated SetJointVelocityCommand to enforce joint limits by

Added the following features:

  • SetJointPositionLimitsFeature
  • SetJointVelocityLimitsFeature
  • SetJointEffortLimitsFeature

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

  • Signed all commits for DCO
  • Added tests
  • Added example and/or tutorial
  • Updated documentation (as needed)
  • Updated migration guide (as needed)
  • Consider updating Python bindings (if the library has them)
  • codecheck passed (See contributing)
  • All tests passed (See test coverage)
  • While waiting for a review on your PR, please help review another open pull request to support the maintainers

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.

iche033 added 2 commits June 24, 2024 18:56
Signed-off-by: Ian Chen <ichen@openrobotics.org>
Signed-off-by: Ian Chen <ichen@openrobotics.org>
@iche033 iche033 added the Bullet Bullet engine label Jun 25, 2024
@github-actions github-actions bot added the 🎵 harmonic Gazebo Harmonic label Jun 25, 2024
Signed-off-by: Ian Chen <ichen@openrobotics.org>
@iche033 iche033 requested a review from ahcorde June 25, 2024 18:36
Copy link
Contributor

@azeey azeey left a comment

Choose a reason for hiding this comment

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

I haven't tried it out yet, but the code looks good. Just a few minor comments.

iche033 added 4 commits June 26, 2024 23:00
Copy link
Contributor

@azeey azeey left a comment

Choose a reason for hiding this comment

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

Other than the dartsim test being skipped, this looks good to me. I've verified locally that the limits work.

@azeey
Copy link
Contributor

azeey commented Jul 3, 2024

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.

@iche033 iche033 dismissed ahcorde’s stale review July 3, 2024 15:14

comments addressed

@iche033 iche033 merged commit 707aa69 into gz-physics7 Jul 3, 2024
8 of 9 checks passed
@iche033 iche033 deleted the vel_effort_limits branch July 3, 2024 15:14
@scpeters scpeters mentioned this pull request Aug 26, 2024
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bullet Bullet engine 🎵 harmonic Gazebo Harmonic
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants