LA CAMPANA

C’è chi ha letto questa notizia prima di te.
Iscriviti per ricevere nuovi articoli.
E-mail
Nome
Cognome
Come vuoi leggere La Campana?
Niente spam

2GISè sia un libro di consultazione che un libro che funziona senza accesso a Internet. Basta scaricare in anticipo la mappa della città desiderata e sul tuo telefono apparirà un enorme database di informazioni utili! Puoi scaricare 2 GIS per Android gratuitamente in formato apk utilizzando il collegamento diretto qui sotto.

L'applicazione mobile 2 GIS non è in alcun modo inferiore alla versione per computer desktop e sa assolutamente tutto sull'infrastruttura cittadina. Ti mostrerà come raggiungere la stazione di servizio, il bancomat o il bar più vicino senza ingorghi, ti aiuterà a trovare un notaio, un parrucchiere, una farmacia, una moschea, un centro servizi auto, un centro commerciale, un negozio di alimentari aperto 24 ore su 24. Per i turisti, l'applicazione contiene una guida della città che conosce i luoghi più interessanti e i locali più frequentati.

Caratteristiche di 2 navigatori GIS per Android:
- 9 paesi e 330 città russe: Mosca, Ekaterinburg, Tyumen, Novosibirsk, Kazan, Perm, Lipetsk, Izhevsk, Saratov, Krasnodar, ecc.;
- Lavoro stabile senza Internet e senza compromettere la funzionalità in roaming, in aereo, in metropolitana: ovunque c'è una via d'uscita;
- Creare percorsi pedonali utilizzando i mezzi pubblici (autobus, filobus, metropolitana, tram) con o senza trasferimenti;
- Quando si guida un'auto, viene preso in considerazione lo stato reale della strada, mostrando ingorghi, autovelox, dossi e tempo medio di percorrenza;
- Trovare le informazioni necessarie su un edificio specifico, numero civico, numero di telefono per contattare, da che parte si trova l'ingresso;
- Comodi filtri, ricerca per parole chiave e categorie.

A differenza dei navigatori convenzionali, con 2 GIS su Android ottieni una mappa aggiornata della Russia e un'enorme directory con contatti, indirizzi e fotografie di molti edifici. Gli sviluppatori aggiornano il programma mensilmente, aggiungendo le ultime informazioni pertinenti e aggiungendo nuove funzionalità. Ad esempio, recentemente puoi confrontare i prezzi dei servizi di taxi e ordinarli immediatamente.

2GIS è una delle migliori applicazioni per Android, che fornisce comode mappe geografiche con informazioni di contatto delle aziende e collegamenti di trasporto. Sono supportati molti paesi in tutto il mondo, comprese anche piccole città e paesi, e il programma mobile funziona offline.

L'applicazione ti aiuterà se desideri costruire il percorso ottimale in una città sconosciuta e lo consigliamo anche scarica 2GIS come un buon libro di consultazione con numeri di telefono, indirizzi e orari di apertura di aziende o organizzazioni. Per utilizzare lo strumento senza connessione Internet, è sufficiente caricare in anticipo la posizione desiderata nel database. Puoi farlo direttamente dall'applicazione, non incontrerai alcuna difficoltà. Inoltre, il programma mobile non solo ha un'interfaccia chiara e facile da usare, ma contiene anche mappe dettagliate e di alta qualità con informazioni visive presentate in modo chiaro. E sarai in grado di tracciare il percorso sia con l'auto personale che a piedi e, in aggiunta, l'orario dei trasporti pubblici.

Caratteristiche uniche del programma mobile:

  • Mappe accessibili e chiare con informazioni dettagliate sulle aziende della città senza connessione Internet: orari di apertura, contatti, indirizzi e foto
  • Ubicazione di organizzazioni pubbliche nelle vicinanze: bar, ristoranti, cinema, negozi, taxi, ecc.
  • Costruire percorsi tenendo conto di qualsiasi tipo di trasporto: metropolitana, filobus, autobus, treno e persino un autobus fluviale, o semplicemente un percorso a piedi
  • Navigazione attraverso i più grandi centri commerciali e supermercati: il diagramma mostra planimetrie, servizi igienici, aree alimentari e altre informazioni importanti
  • Dati delle vostre organizzazioni di servizi: fornitori, ospedali, uffici immobiliari, ecc.

    In questo modo non solo non ti perderai mai da qualche parte per strada, non perderai la fermata o la svolta, ma potrai anche navigare perfettamente all'interno degli edifici. È per questo 2GIS per AndroidÈ considerato il miglior navigatore ed esploratore, capace di eclissare tutte le altre applicazioni di questo genere. Lo strumento può comprendere letteralmente le query, puoi persino inserire nomi popolari, l'applicazione troverà comunque ciò di cui hai bisogno.

  • La guida vocale lungo il percorso è apparsa in 2GIS. Ora l'applicazione può essere utilizzata come navigatore: ti guiderà fino all'ingresso dell'organizzazione, tenendo conto degli ingorghi, delle recinzioni e dei ponti aperti. Il navigatore è già disponibile su iOS e Windows Phone e dal 22 agosto nella nuova versione di 2GIS per Android con un nuovo design.

    La modalità navigatore ti aiuta a raggiungere un luogo lungo il percorso ottimale, tenendo conto della situazione del traffico. Lo schermo del dispositivo visualizza il percorso esatto e la distanza fino alla manovra successiva, mentre i comandi vocali consentono al conducente di non distrarsi dalla strada. Se l'autista perde una svolta, il navigatore cambierà immediatamente il percorso.

    “2GIS aggiorna costantemente mappe e reti stradali. Conosciamo molti passaggi interni, quali case sono circondate da recinzioni, dove si trovano gli ingressi e gli ingressi alle organizzazioni. Il nostro navigatore vi conduce esattamente all’ingresso desiderato,”

    Dice Pavel Mochalkin, direttore del dipartimento di ricerca e sviluppo di 2GIS.

    Come l'applicazione stessa, il navigatore funziona senza connessione Internet in tutte le città della Russia e della CSI dove è disponibile 2GIS. Calcola il tempo di viaggio approssimativo e mostra a che ora l'utente arriverà al luogo. Tiene conto degli ingorghi, degli orari di apertura dei ponti e delle chiusure stradali, ove noti. Se ci sono due modi per arrivarci, il navigatore offrirà una scelta.

    Il navigatore 2GIS funziona su iPhone con iOS 8.0 e versioni successive, Windows Phone 8.1 e versioni successive. Per utilizzarlo è necessario aggiornare 2GIS sul proprio smartphone oppure scaricarlo gratuitamente da AppStore o Windows Store.

    "Poiché l'audience mensile di 2GIS su Android supera da tempo gli 8 milioni di utenti, rilasceremo la nuova versione per Android gradualmente, nell'arco di diverse settimane a partire dal 22 agosto. Questo è più lungo che su altre piattaforme, perché oltre all'aspetto del navigatore nell'applicazione Android, cambia completamente il design. La prima opportunità di scaricare il 2GIS aggiornato sarà data al 5% degli utenti Android casuali che possiedono già la versione precedente. Poi un altro 5%, poi un altro. Se desideri utilizzare subito il nuovo 2GIS, puoi scaricare la versione beta su Google Play cercando "2GIS beta",

    Lo riferisce Pavel Mochalkin.

    Descrizione del principio di funzionamento del navigatore 2GIS

    Il navigatore 2GIS costruisce un percorso fino all'ingresso dell'organizzazione desiderata e offre fino a due opzioni di percorso ottimali (1 foto - esempio su Android, 2 foto - esempio su iOS).

    Il navigatore 2GIS tiene conto degli ingorghi e costruisce un percorso attorno ad essi (1 foto - esempio su Android, 2 foto - esempio su iOS).


    Il navigatore 2GIS ti guida lungo la strada, ti dice quanti metri dopo devi effettuare la manovra successiva e calcola l'orario di arrivo a destinazione. Se l'utente si allontana dalla rotta prevista, il navigatore ricostruirà immediatamente il percorso (1 foto - esempio su Android, 2 foto - esempio su iOS).


    Il navigatore 2GIS conosce le strade all'interno dell'isolato e costruisce un percorso attorno a recinzioni e barriere direttamente fino all'ingresso desiderato. Funziona offline (1 foto - esempio su Android, 2 foto - esempio su iOS).


    Su tutti gli smartphone basati su Android 4.1 e versioni successive, all'inizio di settembre sarà disponibile 2GIS con un nuovo design e con navigatore.

    Viaggi spesso nel nostro enorme e bellissimo mondo? Se sì, ti consigliamo di scaricare 2GIS: libro di consultazione e navigatore per Android. Grazie a questa applicazione non ti perderai mai e potrai trovare il posto giusto senza problemi. Inoltre, puoi aprire un sacco di città non solo nel paese in cui vivi, ma anche oltre i suoi confini. Molti hanno già capito che il programma non è solo un libro di consultazione, ma anche un fantastico navigatore che molti abitanti del nostro pianeta vorrebbero utilizzare. Grazie a questa applicazione potrai lavorare in taxi senza problemi, perché qui tutte le strade sono intasate e ci vuole pochissimo tempo per trovarle. Utilizzando l'applicazione potrai spostarti da un punto all'altro della città in un attimo pochi minuti. Inoltre potrai conoscere la durata del viaggio, cercare il numero di telefono dell'azienda desiderata o anche altre informazioni importanti. Non tutte le applicazioni offrono funzioni utente così estese. Puoi scaricare 2GIS: libro di consultazione e navigatore per Android in modo completamente gratuito e in qualsiasi momento. Il programma può essere scaricato sia su un dispositivo mobile che su un tablet.

    Cammina per qualsiasi città

    L'unicità di questo programma è che non richiede Internet. È necessario scaricare il programma, installarlo, scaricare diverse mappe di diverse città o paesi contemporaneamente, quindi selezionare semplicemente la città e i luoghi desiderati. Grazie all'applicazione potrai costruire il percorso ottimale senza problemi. Puoi andare dal punto A al punto B con la tua auto, a piedi o con i mezzi di trasporto. Tutte le informazioni necessarie sono fornite nell'applicazione e molto probabilmente saranno importanti per molte persone. La cosa interessante è che l'applicazione fornisce mappe dettagliate dove sono disegnate tutte le strade, i negozi, i parchi o altri stabilimenti. Eventuali centri direzionali verranno presentati anche per piano. Chi avrebbe mai pensato che uno degli sviluppatori avrebbe pensato di creare un programma così interessante? Adesso puoi scarica 2GIS: libro di consultazione e navigatore per Android e iniziare a usarlo. I creatori hanno incluso molte mappe, quindi trovare la città giusta non sarà difficile per te. Puoi essere in qualsiasi paese, ma dovrai comunque utilizzare un programma, perché è tutto qui. L'applicazione si è rivelata comoda, piace a molte persone. Speriamo che possa sicuramente aiutare anche te. Provalo e lascia i tuoi commenti su questo programma per Android.

    L'applicazione 2GIS ora ha un navigatore. Abbiamo imparato a "guidare" lungo un binario, effettuare manovre vocali, riorganizzare automaticamente il percorso, calcolare il tempo di viaggio, guidare l'utente fino all'ingresso di un edificio o di un'organizzazione, tenendo conto di recinzioni e barriere - e tutto questo in un ambiente offline onesto . Da tempo prendiamo in considerazione gli ingorghi stradali (a meno che non richiedano Internet), i ponti aperti e le strade chiuse. Per ora il nostro navigatore contiene il minimo richiesto. Un po’ più tardi gli insegneremo ad avvisare in caso di velocità troppo elevate, dossi e autovelox, a impostare la modalità notturna e a rendere facoltativi i percorsi su strade a pedaggio e sterrate. Per utilizzarlo è necessario aggiornare 2GIS sul proprio smartphone oppure scaricarlo da AppStore o Windows Store. Per Android l'aggiornamento verrà rilasciato gradualmente, a partire dal 22 agosto (sarà disponibile per tutto il pubblico entro settembre).

    E oggi ti diremo come il navigatore 2GIS prevede la posizione dell'auto e sposta dolcemente la freccia lungo il percorso. Dopotutto, è la qualità di guidare l'utente lungo il percorso che determina l'ergonomia dell'interfaccia di qualsiasi navigatore moderno, la facilità di orientamento a terra e la tempestività delle manovre.

    Nella maggior parte dei casi, il conducente di un'auto è costretto a monitorare la strada, quindi anche una rapida occhiata allo schermo di un dispositivo con un programma di navigazione dovrebbe essere sufficiente per ottenere le informazioni più precise e tempestive sulla propria posizione rispetto al percorso e oggetti circostanti. Questa funzionalità apparentemente semplice richiede la risoluzione di molti problemi tecnici per l'implementazione. Ne prenderemo in considerazione alcuni.

    Indicatore GPS e percorso

    Per indicare la posizione dell'utente sulla mappa, molti navigatori (e il nostro non ha fatto eccezione) utilizzano uno speciale indicatore GPS a forma di punta di freccia o semplicemente di triangolo, che indica intuitivamente la direzione del movimento. Inoltre, l'indicatore deve essere chiaramente visibile sulla mappa, quindi il suo colore è solitamente molto diverso dallo sfondo, i bordi sono inoltre delineati, ecc.

    Nel caso più semplice, puoi visualizzare la posizione del dispositivo sul terreno leggendo le coordinate da un sensore GPS e posizionando un marker nel punto corrispondente sulla mappa. Già qui ci troviamo di fronte al primo problema: l'errore di misurazione, che anche in condizioni di buon segnale può facilmente raggiungere i 20-30 metri.

    Per rispondere alla domanda comune “Dove sono?” Questo metodo di visualizzazione sarà più che sufficiente, soprattutto se si disegna anche un cerchio di precisione attorno al marker con un raggio pari alla stima dell'errore. Tuttavia, per la navigazione è necessario inventare qualcosa di meglio, perché è improbabile che un guidatore che si muove lungo una strada cittadina si accontenti di un indicatore GPS situato all'interno di una casa vicina o, peggio ancora, su qualche passaggio all'interno dell'isolato.

    Un percorso costruito dal programma fino al punto di destinazione e sempre presente nello script di navigazione aiuta a risolvere il problema. Con l'aiuto di alcuni accorgimenti possiamo “tirare” un punto sulla mappa verso il percorso, livellando parte dell'errore di misurazione del sensore GPS. In prima approssimazione l'attrazione può essere considerata come la proiezione di un punto su una linea di percorso. Sfortunatamente, la considerazione delle sfumature e dei metodi per rilevare la partenza dal percorso va oltre lo scopo di questo articolo.

    Adottando la tecnica di attrazione indicata, possiamo astrarre dalle coordinate geografiche bidimensionali (latitudine-longitudine o qualsiasi altra) e passare a una coordinata unidimensionale - uno spostamento rispetto all'inizio del percorso, misurato, ad esempio, in metri. Questa transizione semplifica sia i modelli teorici che i calcoli eseguiti sui dispositivi dell'utente.

    Visualizzazione della geolocalizzazione nel tempo

    La natura discreta dei dati ricevuti dal sensore GPS è un altro problema quando si implementa la guida a destinazione dell'utente. Idealmente, le coordinate vengono aggiornate una volta al secondo. Consideriamo diverse opzioni per visualizzare la geoposizione nel tempo e selezioniamo quella più adatta ai nostri compiti.

    1. Il modo più semplice è agganciarsi immediatamente al percorso dopo aver ricevuto ogni nuova lettura dal sensore e visualizzare la posizione corrispondente sulla mappa. Tra i vantaggi, vale la pena notare l'eccezionale facilità di implementazione, l'elevata, in un certo senso, precisione (dopotutto, qui stiamo semplicemente visualizzando i dati satellitari senza apportare modifiche serie ad essi) e la minima complessità computazionale. Lo svantaggio principale è che l'indicatore in questo caso non si muove sulla mappa nel solito senso, ma si “teletrasporta” da un punto all'altro. Nello scenario di navigazione principale, la fotocamera (osservatore virtuale è un termine del campo della computer grafica) è collegata a un indicatore GPS, quindi tali teletrasporti portano ad un brusco "scorrimento" della mappa lungo il percorso e, di conseguenza, al disorientamento del conducente, soprattutto ad alta velocità, quando l'auto percorre una distanza considerevole tra le letture della geoposizione. Il nostro obiettivo è aiutare l'utente, non confonderlo, quindi questo difetto è già sufficiente per escludere questa opzione dalla considerazione.

    L'unico modo per evitare il disorientamento è spostare l'indicatore GPS in modo fluido, senza "teletrasporto", il che significa che è necessario spostarlo molto più spesso di quanto arrivino le letture della geoposizione. Per garantire tale movimento, è necessario calcolare in qualche modo i punti intermedi tra le letture reali del sensore e utilizzarli fino alla ricezione della lettura successiva. Vale la pena prestare particolare attenzione all'approccio specifico al calcolo di questi punti intermedi, poiché alla fine influenzerà notevolmente l'ergonomia complessiva del programma di navigazione.

    2. Il secondo modo per visualizzare la posizione dell'utente è associato all'approccio più ovvio per generare punti intermedi: l'interpolazione tra le ultime letture GPS reali. Lo scopo è spostare il marcatore dal penultimo campione all'ultimo per un certo tempo specificato, calcolando i punti intermedi con la frequenza richiesta utilizzando una delle funzioni matematiche conosciute (l'opzione più semplice è l'interpolazione lineare). Usare un navigatore in questo modo è molto più comodo, ma presenta anche degli svantaggi.

    Uno dei più innocui è la necessità di impostare in anticipo il tempo di interpolazione. Impostarlo su un secondo funzionerà bene solo nel caso ideale sopra menzionato, quando questo è il tempo che trascorre tra le letture GPS. Se passa meno tempo, non importa, puoi semplicemente iniziare a spostarti dalla posizione attuale verso un nuovo obiettivo. Ma se è di più, il marcatore dovrà restare fermo e attendere nuove coordinate dal sensore, anche se in questo momento l'auto dell'utente potrebbe essere in movimento.

    C'è un problema più serio. Nel momento in cui arriva un nuovo campione, il marcatore, nella migliore delle ipotesi, si trova nel punto reale precedente. Dal punto di vista dell'utente, introduciamo un altro errore di posizionamento, la cui entità non è inferiore alla distanza percorsa dall'auto nell'intervallo tra le letture. A una velocità di 100 km/h, questo valore raggiunge quasi 28 metri, il che, unito a un possibile errore di misurazione, rende le informazioni fornite all'utente, per usare un eufemismo, inaffidabili.

    Potremmo creare un enorme indicatore GPS e bloccare con esso un quarto dello schermo, mascherando accuratamente i difetti del metodo di posizionamento descritto, ma ricorrere alla falsificazione diretta sarebbe irrispettoso nei confronti degli utenti e di noi stessi. L'accuratezza e la tempestività dei dati visualizzati non sono criteri meno importanti nello sviluppo di un navigatore rispetto alla bellezza esterna e alla fluidità dei movimenti.

    3. Tenendo conto dell'esigenza emergente di precisione del posizionamento, vale la pena notare che ora siamo tenuti, poco prima dell'arrivo di una nuova lettura GPS, a posizionare il marker in un punto il più vicino possibile a questa nuova lettura. Cioè, in sostanza, guardare al futuro, anche se solo per poco tempo. Anche se attualmente le cose sembrano andare molto male per l’umanità con l’invenzione della macchina del tempo, c’è ancora la salvezza per noi. Il movimento dell'auto è inerte, quindi la velocità e la direzione del suo movimento non possono cambiare istantaneamente e, in tal caso, possiamo provare a prevedere con una certa precisione dove si troverà l'utente nell'intervallo tra l'ultimo riferimento di posizione e il futuro. Se riusciamo a garantire che l'errore di previsione nella maggior parte dei casi sarà inferiore all'errore del secondo metodo, renderemo molto più semplice la vita ai nostri utenti navigatori.

    Questo tipo di previsione nelle scienze esatte è chiamata estrapolazione. Questa è la strada che intraprenderemo nel tentativo di sviluppare un terzo metodo di guida a destinazione che soddisfi tutti i criteri sopra elencati. Successivamente dovremo ricorrere ad un linguaggio di presentazione più formale, poiché parleremo di modelli matematici.

    Guida a destinazione con estrapolazione della posizione

    Si è accennato in precedenza che grazie all'attrazione della geoposizione dell'utente sul percorso di navigazione si può passare da coordinate geografiche bidimensionali ad una coordinata unidimensionale - offset rispetto all'inizio del percorso (per brevità approfondiremo ulteriormente utilizzare il termine “compensazione” senza chiarimenti).

    Ricordiamo i dati che ci arrivano e introduciamo la loro notazione:

    Letture dello spostamento reale ottenute avvicinando la posizione GPS alla linea del percorso;
    - orario di arrivo dei corrispondenti campioni di spostamento.
    Qui finisce l'elenco dei dati di input. Dovrai spremere da loro quante più informazioni utili possibili.

    In definitiva, dobbiamo costruire una funzione di estrapolazione dello spostamento che si avvicini alla dinamica reale dell'auto e allo stesso tempo garantisca un movimento fluido del marker GPS lungo tutto il nostro percorso (la sua lunghezza non influirà su nulla, dal momento che il completamento del il percorso viene elaborato separatamente, quindi considereremo condizionatamente il percorso infinito). Per garantire una buona uniformità visiva, sarà sufficiente la condizione di uniformità, ovvero né la posizione né la velocità del marcatore dovrebbero cambiare bruscamente. In altre parole, la funzione deve essere continua insieme alla sua derivata prima (di seguito - nel tempo) in tutto il dominio di definizione.

    Notiamo che ogni campione di spostamento reale porta con sé informazioni significativamente nuove sul movimento. Ad esempio, se un'auto ha guidato a lungo in modo uniforme e poi ha iniziato ad accelerare, il navigatore potrà “sentire” l'accelerazione solo con l'arrivo del successivo conto alla rovescia. Poiché non possiamo guardare al futuro per un lungo periodo di tempo, tutte le nuove letture GPS in arrivo, nel caso generale, cambieranno il comportamento della funzione desiderata, il che non ci consente di specificarla in un'espressione analitica. Proviamo invece a definire la funzione a tratti. Per fare ciò, risolviamo prima un problema più semplice.

    Estrapolazione diretta a tratti

    Costruiamo una funzione di estrapolazione dello spostamento tale che dopo l'esimo campione i suoi valori prevedano la posizione effettiva dell'utente per un tempo sufficiente prima dell'arrivo dell'esimo campione. Tutti i dati utili di cui disponiamo sono una sequenza di conteggi fino a - compreso, insieme all'ora di ricezione di ciascuno di essi.

    Ricordando le differenze finite, notiamo che abbiamo l'opportunità di stimare la velocità dell'auto nell'istante-esimo dividendo la lunghezza del segmento compreso tra l'ultimo e il penultimo spostamento per il corrispondente intervallo di tempo:


    , dove è la stima della velocità dai campioni, ed è la derivata della funzione di estrapolazione che stiamo cercando di costruire.

    Allo stesso modo per le derivate di ordine superiore: accelerazione, strappo, ecc.:


    Come si vede da queste formule, per ottenere una stima di derivate dello spostamento sempre più elevate è necessario tenere conto di un numero sempre maggiore di campioni precedenti a quello attuale: per determinare la velocità sono necessari due campioni, per l'accelerazione - tre, per idiota - quattro, ecc. Da un lato, quanto più caratteristiche dinamiche del movimento terremo in considerazione nelle nostre previsioni, tanto maggiore sarà la capacità di modellazione che otterremo; d’altro canto, le informazioni utili contenute in letture sempre più “vecchie” perdono drammaticamente rilevanza. Ad esempio, il fatto che un minuto fa stessimo guidando a una velocità di 30 km/h non ci aiuta in alcun modo nel momento attuale: da allora avremmo potuto accelerare, rallentare o addirittura fermarci più volte. Per questo motivo le stime di derivate dello spostamento sempre più elevate si allontanano sempre più dalla realtà; inoltre, il contributo dell'errore nel calcolo di una certa derivata al modello analitico generale dello spostamento aumenta anche con l'ordine crescente di tale derivata. Se è così, allora, a partire da un certo ordine, le caratteristiche dinamiche stimate utilizzando le differenze finite, invece del raffinamento, rovineranno solo il nostro modello.

    Sulla base di test reali, sembra che la stima dei jerk, soprattutto nei casi di qualità del segnale GPS “media”, sia già abbastanza negativa da causare più danni che benefici. D'altra parte, fortunatamente, gli scenari dinamici dell'auto più comuni sono quelli di riposo, di moto uniforme e uniforme, descritti da equazioni polinomiali rispettivamente di 0°, 1° e 2° grado nel tempo.

    Si scopre che il modello quadratico del movimento uniformemente variabile sarà abbastanza sufficiente per descrivere la maggior parte delle situazioni stradali, e per questo abbiamo solo stime più o meno di alta qualità delle caratteristiche dinamiche: velocità e accelerazione. Ricordando il corso di fisica scolastica, possiamo già elaborare approssimativamente un'espressione analitica per la funzione di estrapolazione desiderata:


    Resta solo un passo da fare: il dominio di definizione inizia dal momento del tempo, quindi è più conveniente contare il tempo nei calcoli a partire dallo stesso momento.

    Di conseguenza, la funzione assumerà la forma:


    Una caratteristica notevole di questa funzione è la sua uniformità nell'intero dominio della definizione, che, come accennato in precedenza, è incluso nella formulazione del nostro problema.

    Ora prendiamo diversi campioni di spostamento reale dal dispositivo e proviamo ad estrapolarli ad ogni intervallo (sebbene sia stato determinato prima, nel momento in cui arriva il campione passeremo subito alla funzione successiva, perché ha dati più recenti):

    Facciamo una riserva che, per chiarezza, i dati sono stati acquisiti con un segnale GPS di qualità relativamente bassa, ma la situazione nella figura è abbastanza reale e può venire in mente a qualsiasi utente.

    La regolarità di ciascun polinomio di estrapolazione è perfettamente visibile sul corrispondente intervallo temporale, ma il problema è che alle giunzioni degli intervalli la curva grigia generale soffre di discontinuità, a volte molto evidenti.

    Chiamiamo errore di estrapolazione l'entità del divario al momento. In effetti, è questo valore che mostra quanto ciascuna delle nostre previsioni sia imprecisa alla fine del suo intervallo di tempo. È possibile calcolare il valore dell'errore utilizzando la seguente espressione:


    Purtroppo non possiamo ridurre l’errore a zero variando le funzioni stesse, perché ciò equivarrebbe a una precisione al cento per cento della visione del futuro. Ciò significa che per risolvere il nostro problema iniziale di costruzione di un'unica funzione, dovremo in qualche modo “incollare” insieme i polinomi di estrapolazione a tratti, cioè correggere gli errori che si presentano nei giunti.

    Approccio alla correzione degli errori

    Secondo la notazione scelta sopra, possiamo dire informalmente che nel momento in cui arriva un nuovo riferimento siamo al punto , cioè spostato rispetto alla posizione reale della quantità di errore accumulato dal precedente polinomio di estrapolazione.

    Da un lato, dal punto di vista della conformità dei dati forniti all'utente con la realtà, il modo migliore per correggere l'errore sarebbe quello di interrompere la funzione nel punto iniziale del polinomio successivo, ma non possiamo farlo, perché in questo caso “teletrasporteremo” nuovamente il segnalino sulla mappa e disorienteremo il conducente.

    Ovviamente, se una variazione istantanea del valore è inaccettabile, la correzione dell'errore richiederà un tempo diverso da zero. È inoltre chiaro che è consigliabile completare la correzione degli errori prima che arrivi il conteggio successivo per evitare l'accumulo di errori.

    A causa della natura stocastica degli intervalli di tempo tra le letture di offset, non è possibile determinare in modo affidabile il tempo esatto di correzione. Pertanto, in prima approssimazione, fisseremo il tempo di correzione dell'errore sotto forma di un valore costante, il cui valore specifico verrà selezionato sperimentalmente in futuro.

    Parlando di nuovo in un linguaggio informale, per correggere un errore, è necessario "tornare" dolcemente da un punto al successivo polinomio di estrapolazione: una curva.

    Per descrivere il processo di correzione degli errori, è conveniente introdurre singole funzioni di correzione in modo tale che in quel momento la corrispondente funzione di correzione assuma il valore , e a partire dal momento in cui diventa uguale a zero:


    Se aggiungiamo tale funzione di correzione con il corrispondente polinomio di interpolazione, nei punti chiave forniremo la correzione dell'errore di offset:
    Chiamiamo funzione di spostamento corretta la somma del polinomio di estrapolazione e della corrispondente funzione di correzione:
    Si noti che grazie alle proprietà delle funzioni di correzione sopra descritte, abbiamo ottenuto una proprietà molto importante delle funzioni: sono già "cucite per offset", ad es. non tollerano rotture nei punti:
    L'insieme delle funzioni corrette potrebbe pretendere di essere il modello di spostamento desiderato, definito in ogni momento, se non fosse per una circostanza: nonostante l'assenza di discontinuità di spostamento nei punti, le derivate di questo insieme di funzioni nel caso generale sono ancora discontinue.

    Nello specifico, siamo interessati alla discontinuità della derivata prima - velocità, perché i requisiti iniziali contengono la condizione di levigatezza universale, cioè condizione di continuità universale della velocità. Tenendo conto di ciò, è necessario ampliare i requisiti per le funzioni di correzione in modo da “cucire” anche le derivate delle funzioni corrette:


    Questa equazione è la condizione per la regolarità dell'insieme delle funzioni corrette. Sostituendo la definizione di funzione aggiustata in entrambi i lati dell'equazione, otteniamo
    Abbiamo accennato in precedenza che, trascorso il tempo di correzione, la funzione di correzione assume valori zero. Aggiungiamo un ulteriore requisito alla funzione di correzione: lasciamo che anche la sua derivata assuma valori zero dopo che è scaduto il tempo di correzione:
    Quindi, supponendo che il tempo di correzione sia sempre inferiore all'intervallo tra i campioni, possiamo assumere che la derivata dell'esima funzione di correzione sarà già zero al momento dell'arrivo del campione successivo. Quindi, tornando alla condizione di levigatezza, otteniamo:
    Esprimiamolo da qui:

    Da notare che questa è una stima della velocità fatta utilizzando le differenze finite, sostituiamola:


    Il lato destro rappresenta l'errore di estrapolazione della velocità, la differenza tra la velocità ottenuta dal polinomio di estrapolazione precedente e la lettura della velocità “reale”. Ora possiamo mettere insieme le condizioni al contorno per le funzioni di correzione:
    Possono essere descritti con parole come questa: è necessario trovare una funzione di correzione in modo che:
    • all'inizio dell'intervallo di correzione il suo valore coincideva con l'errore di estrapolazione dello spostamento;
    • all'inizio dell'intervallo di correzione, il valore della sua derivata coincideva con l'errore di estrapolazione della velocità;
    • alla fine dell'intervallo di correzione e oltre, il valore della funzione stessa e della sua derivata era zero.

    Selezione di una funzione di correzione degli errori

    Vale la pena notare che è molto difficile ottenere un'unica espressione analitica per le funzioni di correzione che soddisfi esattamente le quattro condizioni precedenti. Il problema risiede in quella parte del dominio di definizione che viene dopo la scadenza del tempo di correzione: è necessario ottenere valori zero della funzione e della sua derivata su tutto il resto dell'asse numerico. Per semplificare il problema, ridurremo il dominio di definizione dell'espressione analitica desiderata della funzione di correzione all'intervallo di correzione , e dopo il suo limite superiore considereremo banalmente zero il valore della funzione e della sua derivata (per fortuna, a a livello di codice del programma abbiamo tale opportunità grazie alla presenza di rami).

    Formalmente, tenendo conto di questa tecnica, la funzione di correzione a tratti è una qualche espressione per l'intervallo di correzione e la costante 0 sottostante, tuttavia, se le condizioni al contorno sono soddisfatte in quel punto, non ci sarà alcuna discontinuità né nella funzione di correzione stessa né nella sua derivata prima. Poiché le discontinuità delle derivate superiori non ci interessano (non rovineranno la regolarità della funzione desiderata), in futuro non menzioneremo la “coda” zero della funzione di correzione e riformuleremo le condizioni al contorno in una forma più comoda:


    Indichiamo l'errore di estrapolazione della velocità con:
    Ora dobbiamo definire un'espressione analitica per . A causa dei requisiti ergonomici del programma, oltre alle condizioni limite, è necessario che la funzione di correzione presenti il ​​minor numero possibile di estremi e piegamenti durante l'intervallo di correzione, in modo che il contrassegno GPS non si “muova”.

    La funzione più semplice che soddisfa questi requisiti è ancora una volta un polinomio, un polinomio del minimo grado possibile nel tempo (teoricamente, tra le funzioni elementari, anche il seno, ad esempio, ha caratteristiche simili, ma calcolarne il valore è più costoso in termini di tempo del processore ).

    Poiché le condizioni al contorno sono un sistema di quattro equazioni non banali, il grado minimo del polinomio che fornisce una parametrizzazione sufficiente della funzione di correzione è il terzo. Considerando che quando si costruisce un'espressione analitica è più conveniente contare il tempo dal momento dell'esimo conteggio (esattamente come nella definizione), il polinomio richiesto assumerà la seguente forma:


    Sostituendo questa espressione nel sistema delle condizioni al contorno e risolvendola rispetto alle costanti e , otteniamo i seguenti valori:
    Di conseguenza, se definiamo le funzioni di correzione nel modo descritto, le funzioni corrette si fondono in un'unica funzione di estrapolazione, sempre uniforme. Non daremo l'espressione completa a causa della sua ingombro.

    Nota: l'ultima imprecisione è rimasta nel presupposto nella scelta del tempo di correzione - il nostro ragionamento si basava sulla condizione che ci sarà sempre un intervallo inferiore tra le letture:


    Una caratteristica interessante del modello costruito è che dobbiamo solo scegliere in modo tale da non superare il tempo medio tra i campioni: se i singoli intervalli sono inferiori a , allora parte dell'errore che non abbiamo avuto il tempo di correggere un intervallo troppo breve verrà corretto con uno dei seguenti. Per fare ciò sarà sufficiente calcolare l'errore di estrapolazione non dalla solita funzione di estrapolazione, ma da quella aggiustata:
    La figura seguente mostra un esempio di grafico della funzione di estrapolazione finale, costruita utilizzando dati reali:

    Il problema formale è risolto, la curva risultante soddisfa tutte le condizioni specificate e appare piuttosto gradevole. Su questo ci si potrebbe rilassare, ma le caratteristiche del mondo reale presentano alcune difficoltà per il sistema idealizzato costruito.

    Consideriamone alcuni in modo più dettagliato, riservando che tutte le decisioni prese di seguito siano implementate direttamente nel codice del programma al di fuori del modello matematico.

    Adattamento del modello matematico alle condizioni reali

    Divieto di movimento del marker nella direzione opposta

    Nell'ultimo grafico si può vedere che in alcuni casi la funzione inizia a diminuire, anche quando, secondo misurazioni reali, l'utente guida esclusivamente in avanti lungo il percorso. Ciò accade quando le nostre previsioni sovrastimano notevolmente la velocità del movimento. D'altronde, nella realtà, un'auto si muove in senso contrario solo per due motivi: il conducente ha effettivamente messo la retromarcia ed è tornato indietro (caso molto raro), oppure ha fatto un'inversione a U.

    In caso di inversione di marcia, la situazione stradale cambia notevolmente, il che richiede la ristrutturazione del percorso di navigazione; questo è un argomento separato e non rientra nell'ambito di questo articolo.

    Se utilizziamo direttamente i risultati dell'estrapolazione della posizione, allora di tutti i movimenti del marker verso l'inizio del percorso, una minoranza evanescente corrisponderà al movimento reale dell'auto nella stessa direzione. Alla luce di ciò si è deciso di vietare del tutto al segnavia di spostarsi all'indietro senza modificare il percorso, per non trarre in inganno gli utenti.

    Una condizione così rigorosa è difficile da descrivere in linguaggio matematico, ma è relativamente facile da implementare nel codice del programma. Per cominciare, prendiamo in considerazione la natura discreta del tempo modello: a causa delle peculiarità del funzionamento dei computer, riceveremo in ogni caso i risultati dell'estrapolazione in determinati momenti selezionati nel tempo.

    Se è così, allora non sarà difficile garantire che lo spostamento estrapolato non diminuisca: è sufficiente confrontare il nuovo valore ottenuto con quello precedente, e se quello attuale risulta essere minore, sostituirlo con il precedente uno. Nonostante l'apparente rozzezza di questa tecnica, non disturberemo la regolarità della funzione di estrapolazione, perché per iniziare a muoversi all'indietro lungo una funzione regolare, è necessario prima fermarsi completamente.
    In futuro, la modalità operativa in cui sostituiremo i valori matematicamente corretti con quelli più vecchi per impedire il movimento indietro sarà chiamata modalità di arresto forzato.

    Gli errori di estrapolazione sono troppo grandi e gli intervalli tra i campioni sono troppo lunghi

    Nonostante abbiamo costruito una funzione qualitativa in un certo senso, a volte gli errori di estrapolazione possono raggiungere valori inaccettabili. In questi casi, il programma dovrebbe smettere di tentare di correggere gli errori utilizzando mezzi standard. Un'altra situazione in cui i dati estrapolati perdono la loro rilevanza si verifica se per qualche motivo una nuova lettura di offset non arriva per troppo tempo: la capacità di modellazione diminuisce drasticamente da quando è stata ricevuta l'ultima lettura. Per evitare di oltrepassare il confine tra tentativi di previsione e spudorate bugie, affidarsi a un modello di solito non costa più di tre secondi.

    Per semplicità, chiameremo la prima situazione negativa un errore di spostamento non correggibile e la seconda un errore temporale non correggibile.

    Possiamo lavorare con ciascuno di questi tipi di errori in due modi:

    • Accedere alla modalità di arresto forzato sopra menzionata. Il vantaggio di questo approccio è che preserva il movimento fluido dell'indicatore di posizione geografica sulla mappa del terreno. Tuttavia, più a lungo rimaniamo in modalità di arresto forzato, peggio informiamo l'utente sulla sua reale posizione;
    • Teletrasporta istantaneamente il marcatore GPS all'ultima posizione di riferimento. Qui, al contrario, sacrifichiamo l'ergonomia a favore dell'affidabilità delle informazioni fornite all'utente.
    Per la nostra applicazione è stato scelto il primo metodo, poiché viene prestata particolare attenzione alla fluidità del movimento.

    Modalità di arresto forzato prolungato

    Qualsiasi ingresso nella modalità di arresto forzato è associato alla produzione di dati di posizione meno accurati allo scopo di impedire il movimento inverso del contrassegno GPS. Per non disinformare l'utente in casi particolarmente sfavorevoli, il nostro modello è inoltre dotato della possibilità di interrompere la modalità di arresto forzato “teletrasportando” il marker nell'ultima posizione reale dopo un determinato periodo di tempo, indipendentemente dal motivo dell'inserimento la modalità (risultato matematico dell'estrapolazione o errori di offset/tempo non correggibili). In questo momento, anche la fluidità dei movimenti deve essere sacrificata per il bene dei “resti” di precisione.

    conclusioni

    Come risultato del lavoro svolto, siamo stati in grado di migliorare la guida del percorso in modo da fornire un buon equilibrio tra la precisione dei dati forniti e l'ergonomia visiva della loro visualizzazione. L'utente si sentirà abbastanza a suo agio, soprattutto quando il sensore GPS riceve dati di alta qualità grazie a un buon segnale.

    Il sistema di estrapolazione descritto può essere utilizzato in altre applicazioni che utilizzano la geolocalizzazione. Laddove non esiste il concetto di percorso, e quindi di spostamento rispetto al suo inizio, il modello matematico da scalare unidimensionale può essere generalizzato a vettoriale multidimensionale. L'implementazione del modello stesso nel codice non è un problema in nessuno dei linguaggi di programmazione più diffusi: richiede solo semplici operazioni aritmetiche.

    Per quanto riguarda gli ulteriori percorsi di sviluppo, vale la pena prestare attenzione all'errore di misurazione menzionato all'inizio dell'articolo nei dati di posizione "grezzi" del sensore. Se stiamo già cercando di correggere gli errori nelle nostre previsioni, la lotta agli errori di misurazione è un livello di lavoro separato per il futuro, difficile, ma non per questo meno interessante. I vantaggi di un potenziale successo in questo campo per l'accuratezza delle informazioni visualizzate non possono essere sopravvalutati.

    Tag: aggiungi tag

    LA CAMPANA

    C’è chi ha letto questa notizia prima di te.
    Iscriviti per ricevere nuovi articoli.
    E-mail
    Nome
    Cognome
    Come vuoi leggere La Campana?
    Niente spam