-
Notifications
You must be signed in to change notification settings - Fork 367
Remove front_steering from steering library #1166
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
Remove front_steering from steering library #1166
Conversation
c83dce3
to
71800b2
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.
I support the idea, thanks!
Please deprecate the old parameters and add the new ones to support both temporarily. Then we can also backport such changes.
Additionally, please add migration notes here.
steering_controllers_library/src/steering_controllers_library.yaml
Outdated
Show resolved
Hide resolved
steering_controllers_library/src/steering_controllers_library.yaml
Outdated
Show resolved
Hide resolved
Have you read and considered #692? Ideally, we should solve it with this PR. |
The idea is the same, is all about generalize the steering library a little more.
Next PR will allow that, I am thinking about extending the current ackermann instead of new controller, if you add a pair of traction and steering joints and define the instantaneus center of robot you can have this by modifyting a little the IK and odometry. Also you can keep the current ackermann by configuring the instantaneus centor or robot at the traction joints and using the same IK and odometry. |
3965416
to
c09d17b
Compare
c09d17b
to
41b3219
Compare
This pull request is in conflict. Could you fix it @qinqon? |
Tests working
|
|
||
std::vector<std::string> rear_wheels_preceeding_names_ = { | ||
std::vector<std::string> wheels_preceeding_names_ = { |
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.
Typo, wheels_preceeding
-> wheels_preceding
. There are more instances of this typo in the current file ...
Shall we just use joints_preceding_names_
for consistency ?
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.
Good catch, fixed that in a separate PR and will merge that in here later. But we have wheels_preceeding_names_
and steers_preceeding_names_
, joints
do not work then?
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.
One option is to rename wheels_preceding_names_
to traction_joints_preceding_names_
, and steers_preceding_names_
to steering_joints_preceding_names_
. There is a variable named preceding_joint_names_
which doesn't seem to be used anywhere.
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.
done. please have a look
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.
I just had a hard time updating ros-controls/gz_ros2_control#566, because I misspelled a parameter.
traction_wheels_track instead of traction_wheel_track (due to the similarity to traction_wheels_radius). I propose renaming it to track_width instead.
This pull request is in conflict. Could you fix it @qinqon? |
…ront_steering_param_from_steering_library
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. Thanks for all the work and efforts to get this in.
496e39d
into
ros-controls:master
To Accommodate controllers that are not only steering at front or rear
this change remove the
front_steering
variable fromsteering_controller_library, as a byproduct of that the notion of
front or rear wheel radius is also removed from dependant controllers
and the library has know "traction_joints_names" and
"steering_joints_names" instead of "front_wheels_names" and
"rear_wheels_names".
Depends on: