[Cursodrones] Control PID
Oscar Higuera
oscar.higuera en gmail.com
Mie Mar 4 10:34:56 CET 2015
Hola jessi,
Como decia en otro mail lo primero que debes hacer en el metodo execute es
llamar al update para que se actualice la posicion del drone, pero no puede
a continuacion hacer un while donde meter todo el procesamiento del PID
porque entonces bloqueas el ciclo de ejecucion.
El metodo execute() se va a ejecutar continuamente y debe ser asi, por lo
que en ligar de usar un while es como si YA estuvieses dentro de un gran
bucle de ejecucion. Lo mejor es definirte una serie de estados como si de
un automata de estados finito se tratase, y en cada ejecucion compruebas en
que estado estas y ejecutas el codigo correspondiente.
En el caso de que te encuentres en medio de una navegacion el codigo de ese
estado solo debe recalcular el error, llamar al PID para actualizar la
salida y cambiar de estado en caso de que se cumplan las condiciones
(waypoint alcanzado).
Pero sea lo que sea que hagas no debes bloquear la ejecicion de execute ya
que ya cuenta con su propio planificador y lo ideal es que se actualice la
posicion del drone una sola vez por ciclo de ejecucion.
Queda claro?
Saludos,
Sent from my iPhone
On 4 Mar 2015, at 10:24, jessi fernandez martinez <jessi_3118 en hotmail.com>
wrote:
Hola
Estoy intentando hacer el programa del control PID pero tengo un problema y
es que si uso un while no se actualiza la posición de los drones. ¿Cómo
puedo solucionar esto?
Un saludo y gracias
_______________________________________________
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/b8fc6dd0/attachment-0001.htm
More information about the Cursodrones
mailing list