-
Notifications
You must be signed in to change notification settings - Fork 333
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 steering odometry #921
Fix ackermann steering odometry #921
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #921 +/- ##
==========================================
+ Coverage 46.86% 48.03% +1.16%
==========================================
Files 41 41
Lines 3862 3862
Branches 1816 1816
==========================================
+ Hits 1810 1855 +45
+ Misses 792 745 -47
- Partials 1260 1262 +2
Flags with carried forward coverage won't be shown. Click here to find out more.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @franzrammerstorfer! Thanks for the PR.
Some first comments from my side:
To fix the linter issues, you can check it locally by
- install pre-commit by
pip3 install pre-commit
pre-commit run--all
Why do you use EXPECT_FLOAT_EQ
instead of EXPECT_DOUBLE_EQ
?
Does it make sense to check these cases also with update_from_velocity
and update_from_position
, i.e., for params_.open_loop=false
?
Hi @christophfroehlich! Yes, you're right, there are a lot of things open to test -- but right now I just wanted to provide a quick fix for the Ackermann odometry, only rudimentary tested. Maybe we should open a new issue, tagged "help wanted" for proper testing of the steering lib -- starting with tests for the integrator functions, etc. But maybe first we should check for a redesign cf. #692 BTW, I just added this file 'test_steering_odometry.cpp', with some hard-coded tests. Is that the way to go, or do we want to have a more advanced testing style? |
ok, I'll create a new issue then.
Should the expectations of the FW kinematics be true for all the different kinematic configurations? Then we could change this to a parameterized test as we have with JTC ros2_controllers/joint_trajectory_controller/test/test_trajectory_controller_utils.hpp Lines 695 to 710 in 1d0d753
ros2_controllers/joint_trajectory_controller/test/test_trajectory_controller.cpp Lines 1840 to 1849 in 1d0d753
|
But we can for now just fix the CI and extend the tests in a follow-up PR. |
@aleksandrsizmailovs and @roncapat, as you have commented on the issue: Is this PR fine for you? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Seems fine IMHO :) |
Looks good to me. |
according to pre-commit checks. sry!
according to pre-commit checks. sry!
according to pre-commit checks. sry!
add missing namespace
89ed2bf
to
5181b95
Compare
d915497
into
ros-controls:master
* fix Ackermann steering odometry bug issue #878 --------- Co-authored-by: Christoph Fröhlich <[email protected]> (cherry picked from commit d915497)
* fix Ackermann steering odometry bug issue #878 --------- Co-authored-by: Christoph Fröhlich <[email protected]> (cherry picked from commit d915497)
This is IMHO a quick and easy fix for
#878