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 steering controllers library kinematics (backport #1150) #1195

Merged
merged 1 commit into from
Jul 6, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Jul 5, 2024

A follow-up of #1149 to fix bugs of the steering library, namely

  • in open-loop mode, zero steering angle was used for IK calculation
    discussed in Add mobile robot kinematics 101 and improve steering library docs #954 (my fix breaks API of the library, but it had no information about open_loop. I could duplicate the get_commands() method to get_commands_open_loop(), but that would break ABI too?)
  • wrong wheelspeed was used (traction on steering wheel, instead of other axle was assumed)
  • Improve odometry of overdetermined measurements. use nonlinear dependency from wheel speed to calculate linear velocity (ideal) vs the old linear average:
    image

This should finally fix #937 #933 and #789


This is an automatic backport of pull request #1150 done by Mergify.

Copy link

codecov bot commented Jul 5, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 86.67%. Comparing base (485c561) to head (eb2bb6d).

Additional details and impacted files
@@            Coverage Diff             @@
##             iron    #1195      +/-   ##
==========================================
+ Coverage   86.42%   86.67%   +0.24%     
==========================================
  Files          91       91              
  Lines        7875     7932      +57     
  Branches      690      687       -3     
==========================================
+ Hits         6806     6875      +69     
+ Misses        819      813       -6     
+ Partials      250      244       -6     
Flag Coverage Δ
unittests 86.67% <100.00%> (+0.24%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
...roller/test/test_ackermann_steering_controller.cpp 100.00% <ø> (ø)
...ntroller/test/test_bicycle_steering_controller.cpp 100.00% <100.00%> (ø)
...steering_controllers_library/steering_odometry.hpp 100.00% <100.00%> (ø)
...llers_library/src/steering_controllers_library.cpp 74.16% <100.00%> (ø)
...ring_controllers_library/src/steering_odometry.cpp 81.41% <100.00%> (+7.61%) ⬆️
...ontrollers_library/test/test_steering_odometry.cpp 100.00% <100.00%> (ø)
...troller/test/test_tricycle_steering_controller.cpp 100.00% <ø> (ø)

... and 3 files with indirect coverage changes

@bmagyar bmagyar merged commit 73b20e5 into iron Jul 6, 2024
10 of 12 checks passed
@bmagyar bmagyar deleted the mergify/bp/iron/pr-1150 branch July 6, 2024 07:04
henrygerardmoore pushed a commit to henrygerardmoore/ros2_controllers that referenced this pull request Jul 19, 2024
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.

2 participants