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

[Feature]: Further tuning and testing of VelocityController's PID #135

Closed
10 tasks done
hellschwalex opened this issue Dec 6, 2023 · 3 comments · Fixed by #125
Closed
10 tasks done

[Feature]: Further tuning and testing of VelocityController's PID #135

hellschwalex opened this issue Dec 6, 2023 · 3 comments · Fixed by #125
Assignees
Labels

Comments

@hellschwalex
Copy link
Collaborator

hellschwalex commented Dec 6, 2023

Description

  • newly tune PID around 14 m/s (~50km/h) with aim to hit target_velocity as closely as possible (overshooting is allowed to some degree)
  • Test different constant target velocities (10, 30, 50, 70, 80, 90, 100 km/h)

-> From here we need to implement braking first to actually test dropping from a higher to a lower target velocity. So #136 first before continuing.

  • Test switching between constant target velocities (10 -> 50 -> 10 , 30 -> 100 -> 50 -> 10)

  • Test linearly changing target velocities (optional)

Definition of Done

  • PID is well tuned around 50km/h (14 m/s)
  • PID works for all testcases with max 1.5m/s (5.4km/h) error
    • working point 50km/h
    • other constant velocities to 100 km/h
    • hard-switching velocities from 0-100km/h
    • linearly changing velocities from 0-100km/h
@hellschwalex hellschwalex self-assigned this Dec 6, 2023
@hellschwalex hellschwalex changed the title [Feature]: Further testing of VelocityController's PID [Feature]: Further tuning and testing of VelocityController's PID Dec 6, 2023
@hellschwalex
Copy link
Collaborator Author

PID is now tuned around workingpoint of 50km/h (14m/s) without overshooting (yippie) and nearly perfect driving at target velocity. Maximum error (after reaching 14m/s) is 0.05 m/s which are 0.18 km/h.
newPID

@hellschwalex
Copy link
Collaborator Author

hellschwalex commented Dec 6, 2023

Tested new PID on different target velocities and got following results. Since the PID controller is linearised around 50km/h while the vehicle's velocity obviously is not linear, the results will always be imperfect the further you are from the working point.
In this case the newly tuned PID controller seems more than good enough for all velocities we may drive:

  • overshooting a little if target velocity is higher than 50km/h (maximum constant error /offset is 0.8 m/s = 2.88km/h at 100km/h)
  • undershooting if target velocity is lower than 50km/h (maximum constant error/offset is 0.5m/s = 1.8km/h at 10 km/h)
    PID_differentVelocities

@hellschwalex
Copy link
Collaborator Author

With braking controller now implemented, this issue will be finished soon aswell. Testing the whole of velocity control (throttle+braking) now on alternating velocities, and linearly changing ones.

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

Successfully merging a pull request may close this issue.

1 participant