-
Notifications
You must be signed in to change notification settings - Fork 334
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 #1150
Conversation
4b06b5f
to
77212df
Compare
498e09d
to
c421ad0
Compare
c421ad0
to
0209540
Compare
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.
first pass, I will review the "Improve odometry of overdetermined measurements" later on
steering_controllers_library/include/steering_controllers_library/steering_odometry.hpp
Outdated
Show resolved
Hide resolved
This pull request is in conflict. Could you fix it @christophfroehlich? |
…ring_controllers_library_kinematics
|
// overdetermined, we take the average | ||
const double right_steer_pos_est = std::atan( | ||
wheelbase_ * std::tan(right_steer_pos) / | ||
(wheelbase_ - wheel_track_ / 2 * std::tan(right_steer_pos))); | ||
const double left_steer_pos_est = std::atan( | ||
wheelbase_ * std::tan(left_steer_pos) / | ||
(wheelbase_ + wheel_track_ / 2 * std::tan(left_steer_pos))); | ||
steer_pos_ = (right_steer_pos_est + left_steer_pos_est) * 0.5; |
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.
Calculations are fine, but I thin we can split it a little to re-use and improve readability having "atan" and "tan" at the same line is a little confusing.
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.
Nah that's fine since this is following the docs.
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
(cherry picked from commit df04492)
(cherry picked from commit df04492)
…rom the library. (ros-controls#1150) * Rename HW for simpler debugging and remove deprecated initial value handling. * Remove fake from parameters. * Remove FakeSystem * Cleanup fake from tests.
A follow-up of #1149 to fix bugs of the steering library, namely
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?)
This should finally fix #937 #933 and #789