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

Rover: Steering angle parameters for differential steering vehicles #13468

Closed
jbeyerstedt opened this issue Nov 14, 2019 · 2 comments
Closed

Comments

@jbeyerstedt
Copy link
Contributor

Current State
The current RoverPositionControl module uses one parameter to characterize the steering behavior of a vehicle: GND_MAX_ANG. This parameter is designed to mainly work on vehicles with ackermann steering, but may also be used to vehicles, that steer with differential thrust (like the AION R1).

The position controller has to know, what the maximum steering angle of an Ackerman vehicle is to calculate the minimum turning radius. Setting GND_MAX_ANG to PI/2 or PI (open question!) might get the right results for a differentially steered vehicle, that can turn around on the spot.

Issues with this
But at least in attitude control, such an aggressive steering might not be wanted, so the steering angle should be limited to less than [-GND_MAX_ANG, GND_MAX_ANG] (or [-1, 1] in the ActuatorControl range).
While it's possible to "cheat" setting GND_MAX_ANG to a higher value, then what's actually possible, this might confuse the position controller (I haven't testes this yet).
Another option might be to introduce a gain for the yaw control in attitude control mode. But this would not have the same effect, than limiting the maximum yaw speed by limiting the steering angle/ differential steering to a smaller value, than what's physically possible.

Proposal
Therefore I propose to introduce another parameter. (Also the documentation of GND_MAX_ANG should be added/ improved.)

@stale
Copy link

stale bot commented Feb 12, 2020

This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions.

@chfriedrich98
Copy link
Contributor

Cleaning up rover related issues:
The rover support has been revamped since this issue has been opened and now supports both Ackermann and differential rovers with their own modules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

3 participants