jueves, 17 de marzo de 2011

Práctica 4 - Inicio con el SegWay

Hemos empezado buscando un diseño adecuado para nuestra práctica. Tras mirar algunos videos en youtube, hemos encontrado uno que hos ha gustado:


Desde el vídeo nos redirigen a un pequeño manual de cómo construirlo (link).

Tras tener el montaje hecho, hemos empezado a pensar cómo hacer nuestro SegWay. Finalmente, hemos hecho un bucle de la siguiente forma:

Calibrar();
loop
      Leer valor del sensor de luz ();
      Calcular PID ();
      Mover el robot ();
end loop;
Calibrar():
       Para calibrar lo que haremos es situar el robot en la posición 0 (a la que volverá
       siempre) y tras unos segundos leyendo valores, pulsamos "ENTER" para que
       haga la media de esos valores leídos, teniendo el valor medio del sensor de luz
       en esa posición.

Leer valor del sensor de luz ():
       Leerá el valor actual del sensor de luz

Calcular PID ():
       Llamará a tres funciones, calcularProporcional(), calcularDerivada() y calcularIntegral().
       La función calcular PID () nos devolverá el valor del pid, que será el siguiente:

              pid = Kp * proporcional + Kd * derivada + Ki * integral

       De tal forma que cuando queramos probar el segway con uno o varios controladores,
       el valor de las constante del controlador que no queramos utilizar tendrá el valor 0.

Mover el robot():
       Ajustaremos la velocidad del motor con el valor del PID, de tal forma que cuanto más
       alto sea el PID, más velocidad tendrán los motores. Para ello utilizamos el valor
       absoluto del PID y lo metemos en "setSpeed".
       Por último, para si el pid es positivo o negativo los motores irán hacia delante o atrás.

En las siguientes entradas comentaremos las pruebas que hemos ido haciendo con las distintas combinaciones de los controladores y sus constantes.

No hay comentarios:

Publicar un comentario