-
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
Remove front_steering from steering library #1166
base: master
Are you sure you want to change the base?
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
|
41b3219
to
33cc1cc
Compare
This pull request is in conflict. Could you fix it @qinqon? |
3a6a032
to
07b63e6
Compare
@destogl please add your take |
07b63e6
to
f3b643a
Compare
@destogl I have rebase the PR, the idea is to prepare a PR based on this one to allow four steering at the ackerman controller. |
To Accommodate controllers that are not only steering at front or rear this change remove the `front_steering` variable from steering_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". Signed-off-by: Quique Llorente <[email protected]>
f3b643a
to
4710c60
Compare
@christophfroehlich I have a suggestion for arbitrarily long robots with an arbitrary number of traction and steering wheels in each "row". So for example if we have the following setups:
Then the way each of these can be relayed to the controller could be as follows: a list (an arbitrarily long number of rows) of lists (info for each row) of two lists and two doubles (steerable joints list, traction joints list, this row's track double, distance of this row to the previous row double) 🫠 where each row's list contains the following info:
so examples of this would be:
EDIT: Alternatively, for more readability, something like robot_localization's handling of multiple sources of a single message type (like IMU here) can be implemented for row1, row2, .... |
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: