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

Allow joint to recover after reaching position limits in servo mode #1774

Merged

Conversation

azeey
Copy link
Contributor

@azeey azeey commented Dec 13, 2023

Fixes #1683


Before creating a pull request

  • [ ] Document new methods and classes
  • Format new code files using ClangFormat by running make format
  • Build with -DDART_TREAT_WARNINGS_AS_ERRORS=ON and resolve all the compile warnings

Before merging a pull request

  • Set version target by selecting a milestone on the right side
  • Summarize this change in CHANGELOG.md
  • Add unit test(s) for this change
  • Add Python bindings for new methods and classes

@azeey azeey changed the base branch from main to release-6.13 December 13, 2023 22:36
@jslee02 jslee02 merged commit f82833d into dartsim:release-6.13 Dec 13, 2023
0 of 3 checks passed
@azeey azeey deleted the joint_recover_after_limit branch December 13, 2023 22:40
@jslee02
Copy link
Member

jslee02 commented Dec 13, 2023

For some reason, the CI is not being triggered for PRs from the forked repositories. Let's check the CI on the release-6.13 branch after merging: https://github.com/dartsim/dart/actions

@azeey
Copy link
Contributor Author

azeey commented Dec 14, 2023

Is it because I had the target branch be main by mistake and then changed it to release-6.13?

@jslee02
Copy link
Member

jslee02 commented Dec 14, 2023

Ah, the CI wasn't configured to trigger CI on pull requests. It should be fixed now by c420a02, c63be96, 82bbe52, 3e8133c

jslee02 added a commit that referenced this pull request Dec 19, 2023
@azeey
Copy link
Contributor Author

azeey commented Jan 4, 2024

@jslee02 would it be possible to get a new release of 6.13, maybe after #1779?

cc @j-rivero

@jslee02
Copy link
Member

jslee02 commented Jan 5, 2024

Sounds good to me. Creating a tag with 6.13.1 would be enough?

@jslee02 jslee02 added this to the DART 6.13.1 milestone Jan 5, 2024
@jslee02
Copy link
Member

jslee02 commented Jan 5, 2024

@azeey
Copy link
Contributor Author

azeey commented Jan 5, 2024

Thank you!!

azeey added a commit to azeey/gz-sim that referenced this pull request Jan 19, 2024
The failures are caused by a change in the DART physics engine
(dartsim/dart#1774) which causes joints to
recover after reaching or exceeding their position limits. It seems like
the model used in this plugin starts off with joint limits violated and
recovers after a few iterations. This causes a small movement of the
robot. Since the test works by comparing images taken of the robot at
the start of simulation and after a few iterations, the small movement
causes a discrepancy in the images. The solution here is to run the
whole test while simulation is paused.

This also cleans up some TestFixture warnings.

Signed-off-by: Addisu Z. Taddese <[email protected]>
azeey added a commit to gazebosim/gz-sim that referenced this pull request Jan 19, 2024
The failures are caused by a change in the DART physics engine
(dartsim/dart#1774) which causes joints to
recover after reaching or exceeding their position limits. It seems like
the model used in this plugin starts off with joint limits violated and
recovers after a few iterations. This causes a small movement of the
robot. Since the test works by comparing images taken of the robot at
the start of simulation and after a few iterations, the small movement
causes a discrepancy in the images. The solution here is to run the
whole test while simulation is paused.

This also cleans up some TestFixture warnings.

Signed-off-by: Addisu Z. Taddese <[email protected]>
azeey added a commit to azeey/gz-sim that referenced this pull request Mar 19, 2024
The failures are caused by a change in the DART physics engine
(dartsim/dart#1774) which causes joints to
recover after reaching or exceeding their position limits. It seems like
the model used in this plugin starts off with joint limits violated and
recovers after a few iterations. This causes a small movement of the
robot. Since the test works by comparing images taken of the robot at
the start of simulation and after a few iterations, the small movement
causes a discrepancy in the images. The solution here is to run the
whole test while simulation is paused.

This also cleans up some TestFixture warnings.

Signed-off-by: Addisu Z. Taddese <[email protected]>
azeey added a commit to gazebosim/gz-sim that referenced this pull request Apr 23, 2024
The failures are caused by a change in the DART physics engine
(dartsim/dart#1774) which causes joints to
recover after reaching or exceeding their position limits. It seems like
the model used in this plugin starts off with joint limits violated and
recovers after a few iterations. This causes a small movement of the
robot. Since the test works by comparing images taken of the robot at
the start of simulation and after a few iterations, the small movement
causes a discrepancy in the images. The solution here is to run the
whole test while simulation is paused.

This also cleans up some TestFixture warnings.

Signed-off-by: Addisu Z. Taddese <[email protected]>
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.

Joint can't recover from position limits in servo mode
2 participants