[Cursodrones] Control PID
Alberto Martin
almartinflorido en gmail.com
Mie Mar 4 16:55:11 CET 2015
Buenas Jessi,
primero aclarar que no es necesario hacer un update en el método execute,
el thread que está ejecutando tú código lo deberÃa haber realizado
previamente.
Como dice Óscar, el método execute se ejecuta periodicamente y es necesario
que sea asà para que el thread que ejecuta el código pueda actualizar los
datos sensoriales. Dentro del método execute no deberÃas tener un bucle que
hiciera uso de los datos sensoriales del drone ya que para una misma
iteración siempre serÃan los mismos.
Un saludo
2015-03-04 10:34 GMT+01:00 Oscar Higuera <oscar.higuera en gmail.com>:
> 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
>
>
> _______________________________________________
> 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/c87f4923/attachment.htm
More information about the Cursodrones
mailing list