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

Fix Ackermann plugin zero linVel turningRadius bug #1849

Merged
merged 1 commit into from
Dec 29, 2022
Merged

Fix Ackermann plugin zero linVel turningRadius bug #1849

merged 1 commit into from
Dec 29, 2022

Conversation

bperseghetti
Copy link
Member

@bperseghetti bperseghetti commented Dec 28, 2022

🦟 Bug fix

Fixes #1848

Summary

Fix for handling Ackermann wheel steering angle bug where wheel always points same direction when linVel is zero and abs(angVel) > 0.001. This results in an always positive evaluated turningRadius. This solution fixes it by handling linVel zero properly. Allowing it to get past the first conditional that it is otherwise stuck on.

Now the wheels can rotate both directions when the vehicle has no linVel:

FixedAckermannPluginBug.mp4

Checklist

  • Signed all commits for DCO
  • Added tests
  • 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.

@github-actions github-actions bot added the 🏯 fortress Ignition Fortress label Dec 28, 2022
@codecov
Copy link

codecov bot commented Dec 28, 2022

Codecov Report

Merging #1849 (50ab0ab) into ign-gazebo6 (68008d2) will increase coverage by 0.00%.
The diff coverage is 71.42%.

❗ Current head 50ab0ab differs from pull request most recent head efb3b5a. Consider uploading reports for the commit efb3b5a to get more accurate results

@@             Coverage Diff              @@
##           ign-gazebo6    #1849   +/-   ##
============================================
  Coverage        64.80%   64.80%           
============================================
  Files              322      322           
  Lines            26389    26392    +3     
============================================
+ Hits             17101    17103    +2     
- Misses            9288     9289    +1     
Impacted Files Coverage Δ
...rc/systems/ackermann_steering/AckermannSteering.cc 85.50% <71.42%> (-0.17%) ⬇️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Copy link
Contributor

@jennuine jennuine left a comment

Choose a reason for hiding this comment

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

LGTM, left a minor comment

src/systems/ackermann_steering/AckermannSteering.cc Outdated Show resolved Hide resolved
Fix for handling Ackermann wheel steering angle bug where wheel always
points same direction when linVel is zero and abs(angVel) > 0.001.

Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>

Co-authored-by: Jenn Nguyen <jenn@openrobotics.org>
Copy link
Member Author

@bperseghetti bperseghetti left a comment

Choose a reason for hiding this comment

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

@jennuine did a quick test and seems to work fine.

Copy link
Contributor

@jennuine jennuine left a comment

Choose a reason for hiding this comment

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

We need to wait for CI before this can be merged and a new release made. If I can't get to it tonight, it will be finished tomorrow

@bperseghetti
Copy link
Member Author

We need to wait for CI before this can be merged and a new release made. If I can't get to it tonight, it will be finished tomorrow

Thanks @jennuine! Really appreciate it!

@ahcorde ahcorde merged commit fe03f37 into gazebosim:ign-gazebo6 Dec 29, 2022
@bperseghetti bperseghetti deleted the pr-fixAckermannPlugin branch December 29, 2022 15:08
@bperseghetti
Copy link
Member Author

@ahcorde @jennuine @mjcarroll thank you all for the expediency on getting this bug fixed, does anyone know when the next forward port to gz-sim7? looks like the last was: #1832. Also I think that there has not been a new point release for garden in a while (39520a1), looks like the motor plugin update wasn't included as well in last point release: #1794.

@mjcarroll
Copy link
Contributor

I'm going to try to get a forward port and point release out today for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏯 fortress Ignition Fortress
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants