Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 7, XP
  • Dov'è il giroscopio nell'iPhone 5s. Giroscopio non funzionante su iPhone

Dov'è il giroscopio nell'iPhone 5s. Giroscopio non funzionante su iPhone

Molti hanno sentito parlare del problema con i sensori non calibrati nel nuovo iPhone 5S: lo strumento "livello" integrato nella bussola nativa di iOS 7 mostra una deviazione di diversi gradi se il dispositivo viene posizionato su una superficie piana, come un tavolo.

Insomma, in un modo o nell'altro, il problema dell'orientamento del sensore è sempre stato presente su tutti i dispositivi iOS. In precedenza, il problema non veniva osservato così spesso a causa della mancanza di un'applicazione integrata nel sistema operativo mobile che consente di misurare il livello. Un problema simile si verifica su altri dispositivi mobili dotati di un accelerometro, poiché i principi sono gli stessi ovunque: ogni sviluppatore che ha avuto a che fare con vari sensori di movimento e orientamento dovrebbe conoscerlo in prima persona.

Ho sviluppato applicazioni che utilizzano sensori accelerometro, giroscopio e bussola digitale, proprio da quando l'API è diventata disponibile per gli sviluppatori, quasi fin dall'inizio - come autore di una delle bussole più popolari per iOS, ho riscontrato problemi con la calibrazione del accelerometro e la precisione di altri sensori alcuni anni fa.

Il modo per risolvere il problema è piuttosto banale ed è già stato incorporato nella maggior parte delle applicazioni sia applicate che di gioco che in un modo o nell'altro utilizzano sensori di gravità, movimento e campo magnetico - una calibrazione che qualsiasi sviluppatore che rispetti se stesso e i suoi utenti dovrebbe prendersi cura di. A seconda della complessità dell'applicazione e dei compiti che risolve, dal punto di vista tecnico dello sviluppatore, l'implementazione della soluzione può essere semplice o complessa. Ma il principio è lo stesso per tutti.

Invito gli sviluppatori di app e gli utenti a capire come funziona, da dove vengono questi errori, perché non dovresti preoccuparti troppo dei problemi dell'accelerometro e perché non devi correre allo store per sostituire un dispositivo "difettoso" - è improbabile che un nuovo dispositivo sia molto migliore e i problemi con gli errori del sensore vengono risolti in altri modi.

Come era

Più di quattro anni fa, mi sono trovata di fronte al compito di sviluppare non un normale analogo di una bussola bidimensionale fornita con iOS, ma una bussola che utilizzava la realtà aumentata, funzionante nello spazio tridimensionale e con un'elevata precisione di allineamento di marker virtuali sovrapposti al video in tempo reale.

Per combinare il segno virtuale di un oggetto con la sua posizione reale nell'immagine ricevuta dalla telecamera, è necessario utilizzare tutti i sensori di movimento disponibili nel dispositivo mobile.

È necessario un accelerometro per determinare il vettore di gravità o, in termini semplici, per scoprire quale parte del dispositivo guarda in basso. È necessario un sensore bussola digitale o un magnetometro per l'orientamento ai punti cardinali, al fine di scoprire quale lato del dispositivo è diretto a nord. Successivamente, è apparso un giroscopio che determina la rotazione del dispositivo e, di conseguenza, consente di aumentare significativamente la precisione dell'orientamento completo nello spazio tridimensionale.

Con lo sviluppo dell'applicazione e la comparsa dell'opportunità di utilizzare nuovi sensori, le carenze individuali inerenti ai sensori sono state rivelate quasi immediatamente.

Come si è scoperto, in tutti i dispositivi, i sensori forniscono dati disuguali che differiscono all'interno di un certo errore, da qualche parte la deviazione è maggiore, da qualche parte meno - mentre le letture dei sensori sono influenzate da una serie di diversi fattori non ovvi.

La reazione iniziale di chi non aveva esperienza in questo settore in quel momento è stata simile a quella descritta negli articoli sul sensore installato in modo errato nell'iPhone 5S, ma un ulteriore studio dei problemi mi ha fatto cambiare idea e continuare lo sviluppo senza aspettarmi che il produttore può e risolverà qualcosa, ma tenendo conto delle caratteristiche di ciascuno dei sensori necessari.

Di conseguenza, un giocattolo ad alta tecnologia con problemi di precisione si è rivelato uno strumento abbastanza preciso adatto all'uso reale: l'importante è sapere come usarlo correttamente, che segue direttamente dalle caratteristiche di ciascun sensore, che io scrivi in ​​dettaglio di seguito.

Accelerometro

Poiché, a differenza di una bussola standard che funziona in un solo orientamento, la mia applicazione avrebbe dovuto funzionare in uno dei possibili, quindi già nelle prime fasi, anche prima della comparsa del giroscopio, è stata scoperta una caratteristica molto strana dell'accelerometro.

Si è scoperto che oltre al fatto che in ogni dispositivo l'accelerometro ha una piccola deviazione, all'interno dello stesso dispositivo fisico questa deviazione è diversa per i diversi orientamenti del dispositivo - ad esempio, nel solito orientamento verticale, la deviazione dal reale l'asse di gravità può essere di 1°, mentre, ruotato di 180°, in un ritratto capovolto può essere di 4°.

La soluzione era aggiungere la possibilità di calibrare l'accelerometro separatamente per ciascuno dei sei possibili orientamenti e l'aspetto del giroscopio ha offerto nuove opportunità: la calibrazione dei sensori di movimento, rispettivamente, in una forma o nell'altra, è già disponibile in ogni decente applicazione che li utilizza.

Gli sviluppatori di giochi hanno avuto un po' più di semplicità: nei giochi è sufficiente supportare uno o due orientamenti del dispositivo, ma è comunque impossibile ignorare semplicemente la necessità di offrire all'utente l'opportunità di utilizzare la calibrazione anche con l'uso di un sensore giroscopico.

Nel "livello" integrato nella bussola di iOS 7, la calibrazione viene eseguita semplicemente premendo lo schermo: basta toccare lo schermo e la posizione corrente del dispositivo sarà considerata una posizione di riferimento o "zero".

Bussola e GPS/GLONASS (a quanto pare però)

Prima dell'avvento del giroscopio, il sensore responsabile dell'orientamento nel piano dell'orizzonte verso i punti cardinali era il sensore della bussola digitale, il più sensibile ai fattori esterni di tutti i sensori e, di conseguenza, con i maggiori problemi di precisione.

La bussola viene costantemente calibrata a livello del conducente mentre il dispositivo ruota: più dati riceve il dispositivo, più accurato sarà il risultato, ma si verificherà comunque un errore.

La soluzione assoluta al problema della precisione della bussola, purtroppo, è quasi impossibile solo con l'aiuto della calibrazione. Anche se aumenta la precisione. In iOS 7, la bussola integrata ha una calibrazione ancora più dura rispetto alle versioni precedenti del sistema operativo. La schermata di calibrazione ora copre l'intero schermo finché l'utente non interviene. Le versioni precedenti avevano un piccolo messaggio che non si sovrapponeva allo schermo.

Anche la calibrazione della bussola e il filtraggio costante dei dati non saranno di grande aiuto in condizioni di un campo magnetico disomogeneo - dopotutto, dopo aver calibrato la bussola, una persona di solito gira attorno al proprio asse e non attorno all'asse del dispositivo, che, quando ruotato di 90 °, sposta il dispositivo nello spazio di circa mezzo metro, dove potrebbero esserci altre condizioni magnetiche.

Vicino a forti campi magnetici, oggetti metallici, fili sotto tensione, le letture del magnetometro sono instabili a causa dell'elevata sensibilità alle radiazioni elettromagnetiche - questo è particolarmente evidente nelle stanze e nelle auto, che sempre più moderne e sempre più piene di tutti i tipi di ripieno elettronico.

Inoltre, se la bussola è necessaria per mostrare il nord geografico, allora entra in gioco la precisione del posizionamento con GPS e GLONASS, poiché le coordinate vengono utilizzate per determinare la declinazione magnetica o la differenza tra le direzioni verso i poli magnetico e server a un punto particolare del globo.

Una bussola magnetica funziona bene e con precisione all'aperto sul campo, dove non ci sono interferenze magnetiche, ma anche così, è consigliabile calibrare la bussola ogni volta che si rileva un rilevamento.

La direzione del Polo Nord è determinata in modo più accurato con una buona precisione GPS, di solito anche all'aperto.

Per migliorare ulteriormente la precisione, dove è richiesto, ad esempio, se è necessario puntare correttamente le antenne Wi-Fi o radio l'una verso l'altra, o per effettuare misurazioni accurate, è già necessario un supporto più approfondito sul lato dell'applicazione, come discusso qui di seguito.

Giroscopio, girobussola e modalità automobilistica

All'interno, in auto, in barca o in qualsiasi altro mezzo di trasporto, nonché quando è richiesta una maggiore precisione e stabilità di orientamento, una bussola magnetica convenzionale non è adatta: l'orientamento è necessario lungo il corso del movimento o secondo il giroscopio.

Di conseguenza, nella mia applicazione ho implementato entrambe queste possibilità: per l'uso in vari veicoli esiste una modalità "auto" e una modalità "bussola giroscopica" per tutto il resto.

Con la modalità automobilistica, tutto è semplice: viene utilizzato il percorso, che dipende solo dalla precisione di GPS e GLONASS e, di conseguenza, la direzione viene determinata in modo abbastanza accurato durante la guida a piedi, su auto, biciclette, barche, aeroplani e così via in poi.

Con una bussola giroscopica, la situazione è sia più facile che un po' più complicata.

Nella modalità girobussola, puoi impostare con precisione l'iniziale o correggere la direzione corrente utilizzando qualsiasi punto di riferimento esterno: il sole, la luna, le stelle, gli oggetti geografici, il lato di un albero coperto di muschio, navigare usando le mappe o usando altri metodi.

Questo viene fatto semplicemente per l'utente. Il marker sovrapposto al video in tempo reale o la freccia che punta all'oggetto sul quadrante della bussola è allineato con la posizione reale dell'oggetto o con la direzione verso di esso. Tutta la complessa matematica basata su migliaia di righe di formule è invisibile a livello di applicazione.

All'incirca le stesse azioni vengono eseguite da piloti o personale al servizio di moderni aerei militari, navi: la verifica e la successiva calibrazione dei sistemi di navigazione inerziale vengono eseguite all'inizio e durante il volo, il che è facilitato anche dalla posizione fissa dei sensori, mentre i nostri dispositivi mobili sono quasi in costante movimento.

Sembrerebbe che la girobussola sia una soluzione ideale al problema dell'accuratezza della bussola e dell'orientamento ai punti cardinali, ma ci sono anche insidie ​​qui.

Nei sistemi industriali e militari di navigazione inerziale, contrariamente a quanto avviene attualmente nei dispositivi mobili, viene utilizzato un intero complesso, una serie di sensori per determinare con precisione la posizione nello spazio, il che consente di compensare errori e imprecisioni nelle letture.

Nei dispositivi mobili, di solito c'è solo un'istanza di ciascun sensore, il che rende impossibile compensare gli errori e porta all'accumulo di errori.

Quanto più tempo passa dal momento della taratura della girobussola, ovvero, se visto da un punto di vista tecnico, dal momento in cui viene determinata la posizione di riferimento "zero", tanto maggiore è l'errore accumulato, che si esprime nello spostamento periodico del orientamento del giroscopio.

Il video qui sotto illustra il problema.

Il video mostra una bussola in modalità "girobussola", sintonizzata esattamente sul server in esecuzione su un dispositivo che giace immobile sul tavolo. Sebbene il dispositivo sia fermo, lo spostamento si verifica nel tempo. Alle 00:09 si passa da 0° a 359°. Alle 01:21 si scende a 358 °. Alle 03:03 vediamo già un azimut di 357°.

L'accumulo di errori avviene a causa della discretezza dei sensori, che in alcuni momenti possono mancare degli eventi, come, ad esempio, nel video qui sopra, le letture del giroscopio sono influenzate dalle più piccole vibrazioni delle ventole di alimentazione nel monitor e nel computer situato accanto al tavolo. I sensori, ovviamente, progrediscono nel tempo, ottengono una risoluzione più elevata, ma la discrezione dei dati rimane. Di conseguenza, anche fattori minori come la frequenza cardiaca e il polso possono influenzare le letture.

I sistemi micromeccanici di tali sensori sono anche influenzati da fattori non ovvi come la temperatura ambiente - sebbene la temperatura non sia disponibile per gli sviluppatori ordinari, viene presa in considerazione per correggere i dati del sensore a livello dei driver del sistema operativo.

Allo stesso tempo, l'orientamento utilizzando un giroscopio è molto più accurato rispetto all'utilizzo di un sensore bussola: quando si gira di 180 °, il sensore segnala che la rotazione era la stessa di 180 ° e non di 150 °, come, ad esempio, una bussola può dire in condizioni di interferenza.

Vale solo la pena ricordare che il giroscopio ha una tale funzione e tenerne conto quando si utilizza il dispositivo come uno o un altro strumento o quando si sviluppano le proprie applicazioni e giochi.

Ma che dire del nuovo coprocessore di movimento M7?

Con l'annuncio dell'M7 speravo che i dispositivi mobili si avvicinassero ai grandi sistemi di navigazione inerziale, ma, purtroppo, questo nuovo coprocessore risolve problemi leggermente diversi.

L'M7 è progettato principalmente per ridurre il consumo della batteria quando si utilizzano GPS e altri sensori. Viene speso meno tempo per calcolare i dati dai satelliti perché questo calcolo non parte da zero quando viene lanciata l'applicazione. Inoltre, i dati di altri sensori vengono raccolti in background anche quando l'applicazione non è in esecuzione, il che aiuta anche a ridurre il consumo della batteria.

Ad esempio, nel video che illustra la situazione con l'accumulo di errori nel giroscopio, sopra riportato, la bussola in modalità girobussola funziona sul nuovo iPhone 5S che utilizza già l'M7.

I dispositivi mobili possono essere considerati attendibili?

La risposta è sì, conoscendo e tenendo conto delle caratteristiche dei sensori utilizzati.

Gli sviluppatori trarranno le proprie conclusioni da soli.

Per gli utenti che erano interessati a leggere fino in fondo, lascia che ti dia qualche consiglio.

Non è necessario cambiare dispositivo in particolare. Potrebbe non essere migliore. E chi ha detto che la superficie della tavola utilizzata è strettamente perpendicolare al vettore gravità?

Nei giochi con controlli tattili, se l'errore dell'accelerometro o del giroscopio è chiaramente visibile, cerca nelle impostazioni o nella modalità di pausa il menu di calibrazione.

In tutte le applicazioni attuali che implementano lo strumento "livello", dovrebbe esserci una calibrazione che imposta la posizione "zero" - ovviamente, è anche nell'applicazione integrata.

La bussola magnetica funziona bene solo durante le escursioni nella natura. Non dovresti aspettarti l'impossibile dal dispositivo, cercando di determinare in modo assolutamente accurato la direzione vicino a un computer, altoparlanti, una batteria di riscaldamento o in qualsiasi veicolo. Utilizzare le applicazioni e le modalità appositamente progettate che si adattano meglio all'attività.

Quando si utilizza una bussola magnetica, ricordare che le letture sono valide solo immediatamente dopo la calibrazione, fino a quando il dispositivo non è stato spostato a una distanza significativa - una rotazione di 90 ° lungo l'asse della colonna vertebrale potrebbe già richiedere la ricalibrazione.

Quando si utilizzano applicazioni come "livello" o "bussola giroscopica" ricordare che le letture del sensore sono valide per circa uno o due minuti, il che è sufficiente per eseguire una misurazione - per evitare l'accumulo di errori, ripetere la calibrazione prima di ogni misurazione per migliorare la misurazione precisione.

P.S. Ascolto le domande nei commenti.

Molti hanno sentito parlare del problema con i sensori non calibrati nel nuovo iPhone 5S: lo strumento "livello" integrato nella bussola nativa di iOS 7 mostra una deviazione di diversi gradi se il dispositivo viene posizionato su una superficie piana, come un tavolo.

Insomma, in un modo o nell'altro, il problema dell'orientamento del sensore è sempre stato presente su tutti i dispositivi iOS. In precedenza, il problema non veniva osservato così spesso a causa della mancanza di un'applicazione integrata nel sistema operativo mobile che consente di misurare il livello. Un problema simile si verifica su altri dispositivi mobili dotati di un accelerometro, poiché i principi sono gli stessi ovunque: ogni sviluppatore che ha avuto a che fare con vari sensori di movimento e orientamento dovrebbe conoscerlo in prima persona.

Ho sviluppato applicazioni che utilizzano sensori accelerometro, giroscopio e bussola digitale, proprio da quando l'API è diventata disponibile per gli sviluppatori, quasi fin dall'inizio - come autore di una delle bussole più popolari per iOS, ho riscontrato problemi con la calibrazione del accelerometro e la precisione di altri sensori alcuni anni fa.

Il modo per risolvere il problema è piuttosto banale ed è già stato incorporato nella maggior parte delle applicazioni sia applicate che di gioco che in un modo o nell'altro utilizzano sensori di gravità, movimento e campo magnetico - una calibrazione che qualsiasi sviluppatore che rispetti se stesso e i suoi utenti dovrebbe prendersi cura di. A seconda della complessità dell'applicazione e dei compiti che risolve, dal punto di vista tecnico dello sviluppatore, l'implementazione della soluzione può essere semplice o complessa. Ma il principio è lo stesso per tutti.

Invito gli sviluppatori di app e gli utenti a capire come funziona, da dove vengono questi errori, perché non dovresti preoccuparti troppo dei problemi dell'accelerometro e perché non devi correre allo store per sostituire un dispositivo "difettoso" - è improbabile che un nuovo dispositivo sia molto migliore e i problemi con gli errori del sensore vengono risolti in altri modi.

Come era

Più di quattro anni fa, mi sono trovata di fronte al compito di sviluppare non un normale analogo di una bussola bidimensionale fornita con iOS, ma una bussola che utilizzava la realtà aumentata, funzionante nello spazio tridimensionale e con un'elevata precisione di allineamento di marker virtuali sovrapposti al video in tempo reale.

Per combinare il segno virtuale di un oggetto con la sua posizione reale nell'immagine ricevuta dalla telecamera, è necessario utilizzare tutti i sensori di movimento disponibili nel dispositivo mobile.

È necessario un accelerometro per determinare il vettore di gravità o, in termini semplici, per scoprire quale parte del dispositivo guarda in basso. È necessario un sensore bussola digitale o un magnetometro per l'orientamento ai punti cardinali, al fine di scoprire quale lato del dispositivo è diretto a nord. Successivamente, è apparso un giroscopio che determina la rotazione del dispositivo e, di conseguenza, consente di aumentare significativamente la precisione dell'orientamento completo nello spazio tridimensionale.

Con lo sviluppo dell'applicazione e la comparsa dell'opportunità di utilizzare nuovi sensori, le carenze individuali inerenti ai sensori sono state rivelate quasi immediatamente.

Come si è scoperto, in tutti i dispositivi, i sensori forniscono dati disuguali che differiscono all'interno di un certo errore, da qualche parte la deviazione è maggiore, da qualche parte meno - mentre le letture dei sensori sono influenzate da una serie di diversi fattori non ovvi.

La reazione iniziale di chi non aveva esperienza in questo settore in quel momento è stata simile a quella descritta negli articoli sul sensore installato in modo errato nell'iPhone 5S, ma un ulteriore studio dei problemi mi ha fatto cambiare idea e continuare lo sviluppo senza aspettarmi che il produttore può e risolverà qualcosa, ma tenendo conto delle caratteristiche di ciascuno dei sensori necessari.

Di conseguenza, un giocattolo ad alta tecnologia con problemi di precisione si è rivelato uno strumento abbastanza preciso adatto all'uso reale: l'importante è sapere come usarlo correttamente, che segue direttamente dalle caratteristiche di ciascun sensore, che io scrivi in ​​dettaglio di seguito.

Accelerometro

Poiché, a differenza di una bussola standard che funziona in un solo orientamento, la mia applicazione avrebbe dovuto funzionare in uno dei possibili, quindi già nelle prime fasi, anche prima della comparsa del giroscopio, è stata scoperta una caratteristica molto strana dell'accelerometro.

Si è scoperto che oltre al fatto che in ogni dispositivo l'accelerometro ha una piccola deviazione, all'interno dello stesso dispositivo fisico questa deviazione è diversa per i diversi orientamenti del dispositivo - ad esempio, nel solito orientamento verticale, la deviazione dal reale l'asse di gravità può essere di 1°, mentre, ruotato di 180°, in un ritratto capovolto può essere di 4°.

La soluzione era aggiungere la possibilità di calibrare l'accelerometro separatamente per ciascuno dei sei possibili orientamenti e l'aspetto del giroscopio ha offerto nuove opportunità: la calibrazione dei sensori di movimento, rispettivamente, in una forma o nell'altra, è già disponibile in ogni decente applicazione che li utilizza.

Gli sviluppatori di giochi hanno avuto un po' più di semplicità: nei giochi è sufficiente supportare uno o due orientamenti del dispositivo, ma è comunque impossibile ignorare semplicemente la necessità di offrire all'utente l'opportunità di utilizzare la calibrazione anche con l'uso di un sensore giroscopico.

Nel "livello" integrato nella bussola di iOS 7, la calibrazione viene eseguita semplicemente premendo lo schermo: basta toccare lo schermo e la posizione corrente del dispositivo sarà considerata una posizione di riferimento o "zero".

Bussola e GPS/GLONASS (a quanto pare però)

Prima dell'avvento del giroscopio, il sensore responsabile dell'orientamento nel piano dell'orizzonte verso i punti cardinali era il sensore della bussola digitale, il più sensibile ai fattori esterni di tutti i sensori e, di conseguenza, con i maggiori problemi di precisione.

La bussola viene costantemente calibrata a livello del conducente mentre il dispositivo ruota: più dati riceve il dispositivo, più accurato sarà il risultato, ma si verificherà comunque un errore.

La soluzione assoluta al problema della precisione della bussola, purtroppo, è quasi impossibile solo con l'aiuto della calibrazione. Anche se aumenta la precisione. In iOS 7, la bussola integrata ha una calibrazione ancora più dura rispetto alle versioni precedenti del sistema operativo. La schermata di calibrazione ora copre l'intero schermo finché l'utente non interviene. Le versioni precedenti avevano un piccolo messaggio che non si sovrapponeva allo schermo.

Anche la calibrazione della bussola e il filtraggio costante dei dati non saranno di grande aiuto in condizioni di un campo magnetico disomogeneo - dopotutto, dopo aver calibrato la bussola, una persona di solito gira attorno al proprio asse e non attorno all'asse del dispositivo, che, quando ruotato di 90 °, sposta il dispositivo nello spazio di circa mezzo metro, dove potrebbero esserci altre condizioni magnetiche.

Vicino a forti campi magnetici, oggetti metallici, fili sotto tensione, le letture del magnetometro sono instabili a causa dell'elevata sensibilità alle radiazioni elettromagnetiche - questo è particolarmente evidente nelle stanze e nelle auto, che sempre più moderne e sempre più piene di tutti i tipi di ripieno elettronico.

Inoltre, se la bussola è necessaria per mostrare il nord geografico, allora entra in gioco la precisione del posizionamento con GPS e GLONASS, poiché le coordinate vengono utilizzate per determinare la declinazione magnetica o la differenza tra le direzioni verso i poli magnetico e server a un punto particolare del globo.

Una bussola magnetica funziona bene e con precisione all'aperto sul campo, dove non ci sono interferenze magnetiche, ma anche così, è consigliabile calibrare la bussola ogni volta che si rileva un rilevamento.

La direzione del Polo Nord è determinata in modo più accurato con una buona precisione GPS, di solito anche all'aperto.

Per migliorare ulteriormente la precisione, dove è richiesto, ad esempio, se è necessario puntare correttamente le antenne Wi-Fi o radio l'una verso l'altra, o per effettuare misurazioni accurate, è già necessario un supporto più approfondito sul lato dell'applicazione, come discusso qui di seguito.

Giroscopio, girobussola e modalità automobilistica

All'interno, in auto, in barca o in qualsiasi altro mezzo di trasporto, nonché quando è richiesta una maggiore precisione e stabilità di orientamento, una bussola magnetica convenzionale non è adatta: l'orientamento è necessario lungo il corso del movimento o secondo il giroscopio.

Di conseguenza, nella mia applicazione ho implementato entrambe queste possibilità: per l'uso in vari veicoli esiste una modalità "auto" e una modalità "bussola giroscopica" per tutto il resto.

Con la modalità automobilistica, tutto è semplice: viene utilizzato il percorso, che dipende solo dalla precisione di GPS e GLONASS e, di conseguenza, la direzione viene determinata in modo abbastanza accurato durante la guida a piedi, su auto, biciclette, barche, aeroplani e così via in poi.

Con una bussola giroscopica, la situazione è sia più facile che un po' più complicata.

Nella modalità girobussola, puoi impostare con precisione l'iniziale o correggere la direzione corrente utilizzando qualsiasi punto di riferimento esterno: il sole, la luna, le stelle, gli oggetti geografici, il lato di un albero coperto di muschio, navigare usando le mappe o usando altri metodi.

Questo viene fatto semplicemente per l'utente. Il marker sovrapposto al video in tempo reale o la freccia che punta all'oggetto sul quadrante della bussola è allineato con la posizione reale dell'oggetto o con la direzione verso di esso. Tutta la complessa matematica basata su migliaia di righe di formule è invisibile a livello di applicazione.

All'incirca le stesse azioni vengono eseguite da piloti o personale al servizio di moderni aerei militari, navi: la verifica e la successiva calibrazione dei sistemi di navigazione inerziale vengono eseguite all'inizio e durante il volo, il che è facilitato anche dalla posizione fissa dei sensori, mentre i nostri dispositivi mobili sono quasi in costante movimento.

Sembrerebbe che la girobussola sia una soluzione ideale al problema dell'accuratezza della bussola e dell'orientamento ai punti cardinali, ma ci sono anche insidie ​​qui.

Nei sistemi industriali e militari di navigazione inerziale, contrariamente a quanto avviene attualmente nei dispositivi mobili, viene utilizzato un intero complesso, una serie di sensori per determinare con precisione la posizione nello spazio, il che consente di compensare errori e imprecisioni nelle letture.

Nei dispositivi mobili, di solito c'è solo un'istanza di ciascun sensore, il che rende impossibile compensare gli errori e porta all'accumulo di errori.

Quanto più tempo passa dal momento della taratura della girobussola, ovvero, se visto da un punto di vista tecnico, dal momento in cui viene determinata la posizione di riferimento "zero", tanto maggiore è l'errore accumulato, che si esprime nello spostamento periodico del orientamento del giroscopio.

Il video qui sotto illustra il problema.

Il video mostra una bussola in modalità "girobussola", sintonizzata esattamente sul server in esecuzione su un dispositivo che giace immobile sul tavolo. Sebbene il dispositivo sia fermo, lo spostamento si verifica nel tempo. Alle 00:09 si passa da 0° a 359°. Alle 01:21 si scende a 358 °. Alle 03:03 vediamo già un azimut di 357°.

L'accumulo di errori avviene a causa della discretezza dei sensori, che in alcuni momenti possono mancare degli eventi, come, ad esempio, nel video qui sopra, le letture del giroscopio sono influenzate dalle più piccole vibrazioni delle ventole di alimentazione nel monitor e nel computer situato accanto al tavolo. I sensori, ovviamente, progrediscono nel tempo, ottengono una risoluzione più elevata, ma la discrezione dei dati rimane. Di conseguenza, anche fattori minori come la frequenza cardiaca e il polso possono influenzare le letture.

I sistemi micromeccanici di tali sensori sono anche influenzati da fattori non ovvi come la temperatura ambiente - sebbene la temperatura non sia disponibile per gli sviluppatori ordinari, viene presa in considerazione per correggere i dati del sensore a livello dei driver del sistema operativo.

Allo stesso tempo, l'orientamento utilizzando un giroscopio è molto più accurato rispetto all'utilizzo di un sensore bussola: quando si gira di 180 °, il sensore segnala che la rotazione era la stessa di 180 ° e non di 150 °, come, ad esempio, una bussola può dire in condizioni di interferenza.

Vale solo la pena ricordare che il giroscopio ha una tale funzione e tenerne conto quando si utilizza il dispositivo come uno o un altro strumento o quando si sviluppano le proprie applicazioni e giochi.

Ma che dire del nuovo coprocessore di movimento M7?

Con l'annuncio dell'M7 speravo che i dispositivi mobili si avvicinassero ai grandi sistemi di navigazione inerziale, ma, purtroppo, questo nuovo coprocessore risolve problemi leggermente diversi.

L'M7 è progettato principalmente per ridurre il consumo della batteria quando si utilizzano GPS e altri sensori. Viene speso meno tempo per calcolare i dati dai satelliti perché questo calcolo non parte da zero quando viene lanciata l'applicazione. Inoltre, i dati di altri sensori vengono raccolti in background anche quando l'applicazione non è in esecuzione, il che aiuta anche a ridurre il consumo della batteria.

Ad esempio, nel video che illustra la situazione con l'accumulo di errori nel giroscopio, sopra riportato, la bussola in modalità girobussola funziona sul nuovo iPhone 5S che utilizza già l'M7.

I dispositivi mobili possono essere considerati attendibili?

La risposta è sì, conoscendo e tenendo conto delle caratteristiche dei sensori utilizzati.

Gli sviluppatori trarranno le proprie conclusioni da soli.

Per gli utenti che erano interessati a leggere fino in fondo, lascia che ti dia qualche consiglio.

Non è necessario cambiare dispositivo in particolare. Potrebbe non essere migliore. E chi ha detto che la superficie della tavola utilizzata è strettamente perpendicolare al vettore gravità?

Nei giochi con controlli tattili, se l'errore dell'accelerometro o del giroscopio è chiaramente visibile, cerca nelle impostazioni o nella modalità di pausa il menu di calibrazione.

In tutte le applicazioni attuali che implementano lo strumento "livello", dovrebbe esserci una calibrazione che imposta la posizione "zero" - ovviamente, è anche nell'applicazione integrata.

La bussola magnetica funziona bene solo durante le escursioni nella natura. Non dovresti aspettarti l'impossibile dal dispositivo, cercando di determinare in modo assolutamente accurato la direzione vicino a un computer, altoparlanti, una batteria di riscaldamento o in qualsiasi veicolo. Utilizzare le applicazioni e le modalità appositamente progettate che si adattano meglio all'attività.

Quando si utilizza una bussola magnetica, ricordare che le letture sono valide solo immediatamente dopo la calibrazione, fino a quando il dispositivo non è stato spostato a una distanza significativa - una rotazione di 90 ° lungo l'asse della colonna vertebrale potrebbe già richiedere la ricalibrazione.

Quando si utilizzano applicazioni come "livello" o "bussola giroscopica" ricordare che le letture del sensore sono valide per circa uno o due minuti, il che è sufficiente per eseguire una misurazione - per evitare l'accumulo di errori, ripetere la calibrazione prima di ogni misurazione per migliorare la misurazione precisione.

P.S. Ascolto le domande nei commenti.

Naturalmente, qualsiasi utente può affrontare molti inconvenienti quando l'accelerometro GSM non funziona sull'iPhone 5 per un motivo sconosciuto. Vorrei notare subito che non dovresti aspettarti nulla di buono dall'autoriparazione, poiché solo gli specialisti esperti e competenti del centro di assistenza Apple possono far fronte a questo problema. Inoltre, le ricche conoscenze e abilità degli artigiani sono integrate dalla disponibilità di attrezzature professionali, attrezzature di alta precisione e componenti di alta qualità sempre disponibili. Garantiamo qualsiasi tipo di riparazione con una garanzia a lungo termine.

Nessuno mette in dubbio la necessità di un elemento così importante come un accelerometro per i gadget moderni. E tutto perché questo sensore "dovrebbe" svolgere funzioni piuttosto importanti (lavorare con lo schermo, giochi, varie applicazioni, ecc.). Ma a volte gli utenti devono affrontare uno sfortunato problema: l'accelerometro GSM non funziona sull'iPhone 5. Ciò accade principalmente a causa di una caduta, un impatto o una forte scossa del dispositivo. Va bene se hai ancora una garanzia sull'iPhone. Quindi può essere portato in un centro di assistenza specializzato e diagnosticato gratuitamente.

Servizi forniti dall'Apple Service Center:

  • sostituzione di una batteria non funzionante;
  • riparazione di moduli GSM e Wi Fi;
  • lampeggio di alta qualità del dispositivo;
  • ripristino delle funzioni del bootloader;
  • sostituzione di pulsanti non funzionanti;
  • sostituzione di elementi della fotocamera danneggiati;
  • sostituzione dell'altoparlante e del microfono;
  • sostituzione di una custodia rotta;
  • sostituzione di connettori rotti;
  • sblocco e russificazione del gadget.

Qualunque sia la ragione per cui l'accelerometro GSM non funziona sull'IPhone 5, non esitare a contattare un centro di assistenza Apple affidabile per chiedere aiuto.

La maggior parte degli smartphone ha un accelerometro integrato che ti consente di fare una serie di cose interessanti, come determinare quanto in alto puoi lanciare il telefono.

Inoltre, utilizzando i dati ricevuti da esso, è possibile determinare la sua posizione sulla scheda telefonica. L'idea principale è ottenere dati sull'accelerazione dal telefono, quindi tenere traccia della variazione di accelerazione in base alla posizione del corpo dello smartphone e, in base a ciò, calcolare la posizione del sensore dell'accelerometro.

Proviamo?

La chiave dell'esperimento sarà il movimento circolare. Quando un oggetto si muove in un cerchio a velocità costante, avrà un'accelerazione:

Inoltre, l'accelerazione di un oggetto che si muove in un cerchio sarà diretta verso il centro del cerchio:

Se l'asse y dell'iPhone è verso il centro del cerchio, la componente y della sua accelerazione sarà costante. Quindi, è necessario posizionare il telefono su una piattaforma rotante, a una distanza costante dal centro di rotazione. Registrando l'accelerazione e la velocità angolare, è possibile determinare la distanza dal sensore al centro del cerchio. Abbastanza semplice, non è vero?

Per registrare l'accelerazione su iPhone, puoi utilizzare qualsiasi applicazione adatta, ad esempio Mobile Science Acceleration.

È completamente gratuito e i dati possono essere esportati in un file CVS o ricevuti via e-mail.

Usiamo un metro rotante con un iPhone a un'estremità. Puoi utilizzare il costruttore LEGO Mindstorms per controllare la velocità del motore elettrico.

Otteniamo la velocità angolare utilizzando una videocamera montata sulla parte superiore.

Imposteremo la registrazione dei valori dall'acceleratore nell'applicazione con una frequenza di 10 volte al secondo. I dati salvati (possono essere importati in Vernier's Logger Pro) hanno questo aspetto:

L'accelerazione è mostrata qui, i dati sono leggermente diversi, ma puoi vedere valori costanti (evidenziati in blu), che possono essere presi come base per calcolare la posizione dell'acceleratore.

Avrai anche bisogno di un valore per la velocità angolare. Ecco la velocità angolare per mezzo giro, che può essere ottenuta analizzando i dati della telecamera utilizzando Tracker Video Analysis.

L'immagine sotto è un diagramma che mostra i due orientamenti del corpo del telefono rispetto al centro di rotazione. La distanza centrale viene misurata dal lato vicino dello smartphone.

Principali articoli correlati