[Cursodrones] Normalizar salida PID
Oscar Higuera
oscar.higuera en gmail.com
Mie Mar 4 10:44:33 CET 2015
Lo normal es poner limites a la entrada y calcular las salidas minima y
maxima del pid en funcion de los rangos de entrada y luego normalizar a -1,1
Tambien puedes primero limitar las salidas del PID antes de normalizar
(para quitarte extremos y aprovechar al maximo los rangos de salida).
Date cuenta de que se puede usar el error como entrada, pero tambien los
valores actuales y pasados de la variable que se esta procesando (la
posicion), dependiendo de lo que uses tendras que definir los rangos de
dichas entradas.
Tambien puedes experimentar y poner los limites de salida "a mano" y luego
normalizarlos a -1,1 (un poco mas cutre pero funciona)
Saludos,
Sent from my iPhone
On 4 Mar 2015, at 10:24, Jorge Tudela Gonzalez de Riancho <
jorgetgr87 en gmail.com> wrote:
Buenos dÃas,
Me ha surgido esta duda respecto al rango de salida del PID.
En primer lugar decir que he probado con mi propio PID, y que investigando
si alguna libreria tenia ya alguno predefinido existen varios, por si os
interesa:
http://cgkit.sourceforge.net/doc2/pidcontroller.html#PIDController
https://pypi.python.org/pypi/pypid/
El caso, es que al final, para no complicarme mucho, me he basado en este,
que es muy simple:
http://code.activestate.com/recipes/577231-discrete-pid-controller/
La formula es la siguiente:
error_ant = error iteracionn anterior
error_ac = acumulación del error
PID = Kp * error + Kd*(error - error_ant) + Ki * error_ac
Mi problema viene al intentar normalizar la salida al rango [1, -1], el de
la velocidad del Drone.
Dado que no conozco el rango que puede tener PID, no puedo normalizar la
salida. La intuición me dice que tendrÃa que acotar los terminos de error
para poder hacerlo, ya que las Ks las conozco.
Mi pregunta es si esta aproximación la de acotar los 3 terminos de error es
la correcta, o existe alguna otra mejor.
Muchas gracias,
Saludos.
_______________________________________________
Cursodrones mailing list
Cursodrones en gsyc.es
http://gsyc.es/cgi-bin/mailman/listinfo/cursodrones
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.es/pipermail/cursodrones/attachments/20150304/3b68272c/attachment.htm
More information about the Cursodrones
mailing list