PID control: Unterschied zwischen den Versionen

Wechseln zu: Navigation, Suche
(PID settings)
(PID controller)
Zeile 9: Zeile 9:
=PID controller=
=PID controller=
[[File: Pid_controller.png | 600px]]
  File: Pid_controller.png | PID controller

Version vom 3. Juni 2016, 07:32 Uhr


Ardumower uses a digital PID controller for

  • heading/course tracking
  • perimeter tracking
  • motor speed control
  • ...

PID controller

Pid controller.png


  1. Tracking: input sensor is inside/outside, output plant is the left and right motor. Goal is to keep error (inside/outside state time) small.
  2. Motor speed: input sensor is odometry, output plant is the motor. Goal is to keep the error (setpoint rpm - actual rpm) small.

PID settings

The optimal P,I,D parameters depend on the actual hardware. The software default PID parameters are for the Ardumower motors available in the shop. To use your own motors, one method is trial & error (it can be difficult to find the optimum PID parameters):

  1. Increase P until system starts to oscillate
  2. Set I=0.6 * P and D = 0.125 * P

Proportional, Integral and Derivative (PID) controller concept:

P : Determines how aggressively the PID reacts to the current amount of error (Proportional) 
D : Determines how aggressively the PID reacts to the change in error (Derivative) 
I : Determines how aggressively the PID reacts to error over time (Integral)

Velocity PID

The standard form is most used for position control. If you derivate the standard form, you obtain the velocity form:


For interactive learning, you can find a PID simulator here: PID simulator