Pergunta

Usando apenas a propriedade de rotação do movimento central ou giroscópio é possível extrair quantos radianos (ou graus se quiser) o dispositivo girado?

Eu tentei fazer uma amostragem cronometrada dos dados principais de movimento, por exemplo, amostrando 5 vezes por segundo, então eu sei que há 0.2seconds entre cada leitura.Então, se eu tiver uma rotação de 0,5 radianos por segundo de uma leitura para outra, em teoria eu poderia dividir isso por 5 e saber agora muito radiantes o dispositivo girado desde a última vez.

Isso parece lógico, mas os resultados não têm nada a ver com a realidade.Girar o dispositivo 90 graus produzirá resultados me dizendo que o dispositivo girou 100 vezes menor que isso.

É possível extrair quanto o dispositivo girou apenas olhando para a rotação?

O que estou perdendo?

Foi útil?

Solução

Need more space than a comment ;-) iOS retrieves all data in radians and if your other calculations are correct, I thought it might be the angle measured in radians.

In general your approach seems to be alright: Take every signal's angle velocity, multiply it with time delta and you will have the angle delta for this timeframe. Then sum all your angles and the result should be the covered distance as angle in radians. Angle phi is the integral of angle velocity omega over the elapsed time and doing numerical integration with the trapezoidal rule (i.e. like described) is OK for gyroscope's data (not for accelerometer).

In general I would recommend to use the timestamp delivered by core motion instead of the defined period (1/5) as recommended by Apple, because device motion data is often delivered in a lower frequency than expected (see What is the official iPhone 4 maximum gyroscope data update frequency and or Push method for core motion and frequency of Accelerometer/Gyroscope Data.

Furthermore you should take a higher frequency to avoid errors in your numerical integration.

[Update from comments section:]

If your are interested in integrating via extended Simpson's Rule I recommend this paper (German only, p. 173 ff.) and An Extension to Newton-Cotes Formulae. Some sample code as extracted snippet taken from an existing project can be found here: DevicePosition.m Note that it might not compile, no warranty, as is, ... you know this from other sites ;-)

A free app displaying sensor input as graphs for iPhone: Sensor Monitor

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top