¿Cómo funciona la calibración de la brújula?

8

Me pregunto cómo funciona la calibración de la brújula / por qué, por ejemplo, dibujar un 8 o rotar el teléfono a los 3 ejes funciona (o al menos funcionará). Quiero decir que entendería el proceso de calibración, si una aplicación me dijera: señalar hacia el norte, luego presione ese botón allí abajo, pero puede comenzar con cero conocimiento para la aplicación, ¡simplemente girando su teléfono! ¿Cómo se hace eso? Además, ¿debo ingresar a un modo de calibración especial o puedo dibujar estas figuras (como la 8) directamente en Google Maps? ¿Cómo sabe Google Maps que no solo estoy moviendo el teléfono, sino que quiero calibrar la brújula? Gracias por cualquier pista!

stefan.at.wpf
fuente
Marcado como engañado, no publique dos preguntas separadas para el mismo problema. Edite su pregunta existente con nueva información; android.stackexchange.com/questions/30328/…
pzkpfw
1
Mover un objeto a través de un campo magnético puede inducir una corriente eléctrica, que supongo que se está midiendo en este caso. La figura 8 asegura que el teléfono se mueve a lo largo de cada vector posible en un plano 2D, lo que debería permitirle distinguir el norte del sur. Yo creo que. En cuanto a Maps, eso es fácil: ¿qué otra vez haces un movimiento tan absurdo con tu teléfono? Es bastante diferente de los movimientos normales y debería ser fácil de detectar.
Matthew Read
@ bigbadonk420 Esto no es un duplicado, es una pregunta completamente diferente.
Matthew leyó el
1
Información técnica: electronics.stackexchange.com/questions/22144/…
bwDraco

Respuestas:

3

La calibración de la brújula funciona detectando la intensidad del campo magnético de la tierra. Pero a veces, debido a la fuerte interferencia de otros dispositivos electrónicos como los transformadores, el sensor de la brújula puede tener una idea equivocada acerca de los polos magnéticos de la tierra y puede apuntar en la dirección incorrecta.

Entonces, para asegurarse de eso, les pide a los usuarios que recalibren la brújula girando en la dirección de la figura 8 para poder juzgar la intensidad magnética en todas las direcciones. A partir de esos datos, deduce los polos reales de la tierra.

Punto muerto
fuente
1
Esta es en realidad una respuesta incorrecta. La calibración solo puede cancelar las distorsiones provenientes de los objetos fijados al dispositivo (girando así con el dispositivo durante la calibración). Si los objetos están en el entorno, el teléfono observará un campo magnético fijo y no tendrá idea de qué tan lejos del verdadero Norte está dirigido.
Marko Topolnik el
5

El propósito de la calibración es descubrir cómo compensar la forma en que los componentes de su teléfono (tornillos, imanes de altavoces, etc.) interfieren con el campo magnético medido.

El proceso de calibración se basa en el hecho de que puede separar las contribuciones internas y externas al campo magnético observando cómo cambia el campo a medida que gira el teléfono. Por ejemplo, en una orientación, el campo magnético del imán en el altavoz se sumará al campo de la Tierra; pero cuando el teléfono está orientado en la dirección opuesta, los dos campos se cancelarán parcialmente.

A medida que mueve el teléfono, el magnetómetro registra cómo cambia la magnitud del campo medido y lo usa para calibrar los sensores de campo magnético x, y y z. Consulte la respuesta de geometrikal a una pregunta similar para obtener más detalles sobre este proceso. Tenga en cuenta que esta calibración no le permite compensar la influencia de otros objetos externos (por ejemplo, su refrigerador) en el campo magnético.

Con respecto a la implementación en Google Maps: creo que Google Maps no tiene control sobre la calibración de la brújula porque no existe tal funcionalidad en la API de Android. El magnetómetro probablemente se esté calibrando continuamente, y Google Maps solo le pide que gire su teléfono para que el magnetómetro pueda recopilar los datos que necesita para obtener una calibración precisa.

En otras palabras, puede calibrar su brújula en cualquier momento que se esté utilizando el sensor de campo magnético con solo agitar su teléfono; no hay un "modo de calibración".

Max Radin
fuente
Pero, ¿cómo decide el sistema operativo Android cuándo cambiar sus valores de calibración, si respondo al movimiento o a intervalos regulares o ambos?
Hamish_Fernsby
Android solo debe mantener un historial de lecturas y seguir aplicando la corrección de hierro duro en ellas. Esto incluso se especifica en la documentación .
Marko Topolnik el
3

En cualquier punto del espacio, la intensidad y dirección del campo magnético es el efecto neto de todas las fuentes de campo magnético que afectan ese punto. El campo magnético de la tierra es uno de ellos. Destornilladores magnetizados, automóviles, imanes de refrigerador, etc. todos producen campos. Los campos también son producidos por la corriente que fluye a través de los cables. Es como verter agua en un vaso de múltiples fuentes. Una vez que está en el cristal, no se puede saber de dónde vino.

No hay ningún instrumento que pueda determinar los "polos reales" de la tierra midiendo el campo magnético en un punto. Sin embargo, lo que puede hacer el teléfono es detectar el punto donde el eje del teléfono es paralelo a la línea de fuerza magnética N / S y determinar qué extremo del teléfono está apuntando hacia el norte. Si haces tu baile lejos de objetos que podrían estar magnetizados, como autos y cercas de acero, el campo que mide el teléfono puede ser principalmente el campo de la Tierra y, por lo tanto, la brújula del teléfono estará calibrada adecuadamente. Sin embargo, si coloca el teléfono en un automóvil magnetizado, señalará la dirección incorrecta hacia el norte. El acero en cada automóvil está magnetizado en un grado u otro.

Las brújulas de alta precisión se usan en aviones y las embarcaciones marítimas serias en realidad tienen pequeños imanes de corrección que son ajustables con tornillos para errores N / S y E / W. Después de la instalación, se calibran girando el vehículo hacia títulos conocidos (una rosa de los vientos pintada por un topógrafo en una calle de rodaje lejos de edificios metálicos, por ejemplo) y se preocupan por los imanes hasta que se minimiza el error de la brújula. Luego, los errores residuales se registran en una "tarjeta de corrección de la brújula" para su uso en la corrección de las lecturas indicadas. Busque "tarjeta de corrección de brújula" para ver las imágenes.

En teoría, el GPS podría usarse para calibrar la brújula al caminar o conducir, ya que la pista instantánea del GPS es precisa. No he oído hablar de esto, aunque posiblemente sea común. Funcionaría incluso en un automóvil magnetizado. Sin embargo, en un avión o un barco, esto no funcionaría porque el rumbo del vehículo es, en un grado u otro, generalmente arrastrado ligeramente por el viento y el GPS no tiene conocimiento de esto.

Paul Frere
fuente
Esto no parece decir cómo y por qué funciona el procedimiento de calibración común en Android.
Ruslan
1

He probado las mediciones de los campos de la brújula proporcionadas por el teléfono Android y descubrí que si giro el teléfono 180 grados, el campo no cambia a exactamente opuesto, que debe ser el caso si los sensores son correctos. Esto podría deberse al magnetismo interno de los detalles del teléfono o la inexactitud de lectura del sensor.

Si no compensa eso y simplemente usa la lectura tal como está e intenta calcular la dirección Norte, descubrirá que son incorrectos: la rotación del teléfono 90 grados alrededor del eje vertical no conduce a la rotación del campo magnético medido por el mismo ángulo (eso es cierto para cualquier ángulo, es más fácil verificarlo con 90 grados).

Entonces, el objetivo de la calibración es desarrollar una fórmula de compensación que transformará las lecturas incorrectas del sensor magnético a valores más realistas, a partir de los cuales podemos calcular la demora correcta. Supongo que está buscando un desplazamiento óptimo de cero para cada eje, lo que le dará al resultado una longitud del vector magnético independiente de la orientación del teléfono (ese debe ser el caso en una situación ideal, pero no es el caso cuando el cero se desplaza en cualquier eje )

Leonid Mednikov
fuente