Aunque ya sé que ha pasado mucho tiempo desde que se ha publicado este tema quiero dejar algo de lo que sé para a quien le haga falta ya que veo que alguno de los "electronicos" le tienen algo de miedo al hardware y a las ecuaciones de movimiento, etc...
Para muchos será una chorrada pero para los que no, se lo explico, es algo básico de dinámica pero yo lo explico como puedo:
ADJUNTO IMAGEN DE EXPLICACIÓNCuando en nuestro robot conocemos la velocidad de dos puntos del mismo podemos conocer en este caso la de cualquier punto de él (interesa la del centro del eje que une las ruedas en la mayoria de los casos). Es muy sencillo, conocemos la velocidad de las ruedas que es igual a su velocidad angular (velocidad con que giran (rad/s) o bien en rpm, Hz, o cualquier otra...) multiplicada por el radio (como ya han explicado anteriormente).
Entonces [
V = w * r] para cada rueda que seran distintas si son giros abiertos o iguales y contrarias si giran sobre el centro del eje
(ojo porque para poder multiplicar a machada hay que estar en rad).Si unimos vectorialmente estas velocidades y hacemos que esta linea corte a la perpendicular a la misma obtenemos el centro instantaneo de rotacion (CIR) respecto al que gira el conjunto del robot describiendo una circunferencia (centro de la curva).
Analiticamente y para implementar el software ¿cómo calculamos esto y la velocidad del centro?
Pues dado el angulo "beta" su tangente es la velocidad de cada rueda dividida por la distancia de cada una al CIR, tg"beta"=V
a/dist
(a-CIR)=V
b/dist
(b-CIR) y asi para cualquier punto de la linea que los une como P.(la tangente es la velocidad angular tambien).
Por lo tanto
Va/Vb=dista/distby como la distancia (a-CIR)= dist(b-CIR) + distancia entre ruedas(D) podemos calcular el CIR. En principio no interesa.
Facil, ¿no?
Pues venga que acabo, si ahora situamos un punto de referencia en la rueda B existe la relacion de que (V
a-V
b)/D=(V
p-V
b)/0.5D por lo que despejando obtenemos que
Vp=2Va-Vb entonces ya
conocemos la velocidad del centro de nuestro robot.
Ahora dejo caer algo más sobre velocidades, desplazamientos, etc. Con cualquiera de estas velocidades podemos calcular la velocidad angular con que gira el "bicho" alrededor de su CIR, cualquier velocidad dividida entre su distancia al CIR. De esta manera podemos conocer el arco que describe si la multiplicamos por ejemplo por el tiempo y asi sabemos cuantos radianes o grados hemos girado (es el mismo angulo). La distancia que recorre la tomamos respecto al punto P (centro) bien con el arco o con la V
p multiplicada por el tiempo (ojo porque no es lineal).
Pues bien, si estamos utilizando encoders, por ejemplo, podemos adaptar lo explicado para saber cuanto recorre cada rueda, de aqui sacar su velocidad y luego el arco que ha descrito para saber lo que ha girado... a darle imaginación.
Yo lo utilizo en una plataforma robot (todavia no autonoma) y creo que va bien y es sencillo aunque yo no lo haya explicado del todo bien, sobretodo al final, pero bueno hay queda la cosa y si alguien tiene dudas pues que pregunte, que somos muchos los que podemos responder.
No puedo subir la imagen y eso que pesa 39 KB pero bueno, seguiré probando