Obtener la distancia cubierta por una rueda con un giroscopio colocado en ella

0

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!

    

1 respuesta

1

Tu gyro no está dando grados por segundo. La gráfica total tiene una duración de más de 13 segundos, a un promedio de aproximadamente 4 grados por segundo, lo que equivale a un total de 52 °, pero la circunferencia de la rueda es solo un poco más de 1 metro. Creo que está dando radianes por segundo, 52 radianes son alrededor de 8.3 rotaciones completas, lo que te dará la respuesta correcta.

    
respondido por el Icy

Lea otras preguntas en las etiquetas