Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola, una pregunta para los que han participado en anteriores velocistas. Según el reglamento del cosmobot, la prueba concluye cuando:
1. Sea capaz de alcanzar a su contrincante.
Qué se entiende por alcanzar al contrincante, acercarse una distacia dada, o impactar contra el otro velocista. Porque si se tienen que tocar yo me quedo sin sensores.
La única forma que podemos leer el suelo es usar los CNY, que tendrán su precición dependiente de la distancia entre ellos, eso es independiente del software y de nuestra programación. Lo único que podemos hacer es tomar valores medios, por eso los sensores centrales van más juntos.
Respecto a lo de T=1, el térmido de la derivada es K*media, media sería dependiente del tiempo, y se correspondería con (E1-E2)/T, ese 1/T es una constante (tenemos una frecuencia de muestreo). K * 1/T, si llamamos Kr a K*1/T, y calculamos esta constante de forma experimental, como ahí indica, no es mejor hacer esta aproximación?. La relación es la misma, y hacerlo con un timer no sería complicarse?. No veo como usar un timer ahí cuando tenemos un período de muestreo.
Mmm, bueno si tienes un periodo de muestreo (por ejemplo, una interrupción de tiempo real o similar) puedes usar ese mismo tiempo. Lo del timer no creo que sea complicarse, simplemente programas una interrupción cuando un timer desborde, así que solo sería dentro de la rutina ajustar el timer y ejecutar el control PID. Por supuesto habría que configurar dicha interrupción.
Saludos!
Lo suyo es utilizar uno de esos timers como condición de bucle del programa principal, de esta forma siempre se ejecuta en el mismo tiempo.
Lo de medir el tiempo sería si no muestreases de manera continua, y contases el tiempo entre sucesos, pero en este caso yo creo que lo mejor es hacer t igual a uno, ya que no hay otra forma de hacerlo.