Tengo que calcular la distancia recorrida por un Wheelchiar utilizando los datos recopilados de un giroscopio que se colocó en una de las ruedas motrices. Sé que la longitud total del corredor que utilizamos para la medición fue de 8,4 metros, pero me gustaría saber la distancia que cubría la silla de ruedas cuando la velocidad era constante (o casi constante). El radio de la rueda es de 0.17 my la distancia entre el giroscopio y el centro de la rueda es de 0.08 m. El giroscopio me da la velocidad en grados / s y así es como se ve la gráfica.
La frecuencia de muestreo del giroscopio es de 75Hz y este es el código que escribí en Matlab para desenvolver el ángulo:
Gyr_Z1(isnan(Gyr_Z1)) = 0 % substitute Nan with 0
splrate = 1/75;
values = zeros(length(Gyr_Z1),1); %create empty vector
for (i=2 : length(Gyr_Z1))
values(i) = values(i-1) + Gyr_Z1 (i)*splrate;
end
Y este es el bit del código que estoy usando para obtener la distancia recorrida por la rueda:
for (i=1 : length(Gyr_Z1))
values(i) = 2*pi*.17*values(i)/360;
end
Pero cuando grafico los resultados, esto es lo que obtengo
Entonces, como puede ver en la imagen, la trayectoria de la trama parece correcta, ya que la silla de ruedas parece que se desplaza a una velocidad constante como lo indica el gráfico del giroscopio, pero los valores son claramente erróneos. La longitud del corredor fue de aproximadamente 8,4 metros. Sé que estoy cometiendo un error en algún lugar (y es probable que sea algo bastante trivial), pero no puedo ver dónde. ¿Alguien puede decirme lo que estoy haciendo mal? Gracias!