Jumping Jack Flash weblog

Studi su immagini a 360°

Posted in 360 by jumpjack on 5 maggio 2019

MPREMAP” (“Moving Panoramas REMAPper”) è un tool a linea di comando di Helmut Dersch che si appoggia alle librerie “Panorama Tools” o Panotools, dello stesso autore, ed è usato dal programma dome2rect per convertire sia immagini che video da formato fisheye (o sferico) a equirettangolare (o “lat/lon”), per visione su visori VR.

MANUALE: Link (versione Java)

Tipi di proiezioni “fisheye” (in base a quanto riportato nelle istruzioni degli script per MPREMAP); tra parentesi il codice con cui sono identificate in MPREMAP:

  • equidistant (F3/org)
  • fullframe (F3/dest)
  • circular (F5)
  • equisolid (F10)

“Circular” e “fullframe” sono esattamente la stessa proiezione, ma nella seconda viene presa solo una parte dell’immagine risultante, in modo che non ci siano zone nere nell’immagine finale:

circular risheye fullframe fishey (=cropping)

In sostanza il fullframe è un semplice “cropping” (ritaglio) di un’immagine fisheye completa.

Secondo questo sito (che elenca le formule trigonometriche delle varie proiezioni), i tipi possibili di proiezioni fisheye sono: (evidenziate quelle presenti anche in MPREMAP)

  • equidistant
  • stereographic
  • orthographic
  • equisolid
  • Rectilinear lens : R = f . tan (𝛩)   (proiezione “standard” delle macchine fotografiche)
  • Equidistant fisheye lens : R = f . 𝛩
  • Stereographic lens: R = 2f . tan ( 𝛩 / 2 )
  • Orthographic fisheye lens : R = f . sin (𝛩)
  • Equisolid fisheye lens : R = 2f . sin ( 𝛩 / 2 )
  • R = Radial position of a point on the image sensor
  • f = Focal length of the lens
  • 𝛩 = The angle between an object and the optical axis, expressed in radians

Le immagini qui sotto mostrano, tramite una griglia, qual è la distorsione prodotta dai vari tipi di fisheye, a partire da un’immagine equirettangolare totale, che cioè copre 360°x360°; il FOV di queste immagini è invece di 220°:

equirettangolare

Equirettangolare / lat-lon

 

equidistante

Equidistante

 

stereografica

Stereografico

 

ortografica

Ortografico

 

Equisolido

Equisolido

Sembrano a prima vista tutte identiche, ma in realtà la distorsione differisce leggermente dall’una all’altra; la più evidente è la distorsione ortografica, in cui i poli appaiono completamente schiacciati e quindi perpendicolari al piano dell’immagine, mentre nelle altre proiezioni i poli sono “spalmati” sul piano visuale, come evidenziato in questo esempio:

confronto
Questo vuol dire che in proiezione ortografica non si possono coprire più di 180°.

Questo grafico (fonte) mostra l’andamento del rapporto R/f al variare dell’angolo teta, evidenziando l’entità delle distorsioni ottiche nei vari casi:

grafico confronto proiezioni fisheye

Quest’immagine mostra chi sono R, f e teta:

fisheye schema

 

Paul Bourke distingue due famiglie di fisheye:  Hemispherical e Angular, facendo riferimento a come la sfera viene proiettata sul piano: se parallelamente, quindi con compressione crescente delle distanze man mano che si arriva a 90° rispetto allo zenith della camera, si hal’Hemispherical; se invece nell’immagine piatta la distanza tra due punti è sempre “uguale” all’angolo tra i due punti nell’immagine sferica, si parla di “angular”; nel primo caso il FOV massimo è 180°, nel secondo può arrivare a 360°.

Hemispherical fisheye (squeezed) Angular fisheye (constant distance)

 

Le proiezioni non-fisheye supportate da MPREMAP sono invece:

  • rectilinear (F0)
  • cylindrical (F1)
  • equirectagular/latlong (F2)
  • equirectagular (F4)

La proiezione usata dai visori VR è la equirectagular/latlong vista sopra, che riporto per comodità:

equirettangolare

Da notare che un’equirettangolare come questa rappresenta l’intera sfera 360°x360°; una foto scattata puntando la  telecamera verso l’alto con un FOV di 180° l’immagine apparirebbe così:

Manca cioè la semisfera che si trova sotto la telecamera. Notare che ogni quadratino è di 10°x10° di lato.

 


Dimensioni standard frame 35mm: 36mm x 24mm

Se il sensore è più piccolo di uno standard frame, inquadrerà una parte più piccola dell’immagine; questa parte più piccola verrebbe inquadrata in un fullframe, posta la camera alla stessa distanza dall’oggetto, se la lunghezza focale fosse più grande; il rapporto tra questa lunghezza focale più grande (Lf, full frame) e la lunghezza focale effettiva della macchina (Lr, ridotta) è il cosiddetto “moltiplicatore di lunghezza focale” (focal length multiplier):

FLM = Lf/Lr


 

Il fattore di ingrandimento m (magnification) è dato da:

m = (dimensioni immagine)÷(dimensioni oggetto)

Le dimensioni dell’immagine sono anche le dimensioni del sensore


La lunghezza focale si può calcolare come:

1/f = 1/u + 1/v

oppure

f = u÷(1+1/m)


Questo schema mostra come varia il FOV (angolo visuale) al variare della lunghezza focale, ma solo fino a FOV di 180°:

tabella-focal-length-angolo

 

Quest’altro schema (fonte – brevetto n.  3737214 by Mr. Shimizu, 5 giugno 1973) mostra lo spaccato di una lente fisheye con FOV di 220° (110×2), ottenuto tramite rifrazioni multiple:

Figure-22

La lunghezza focale indicata è di 6.3 mm

E’ possibile raggiungere addirittura i 270° (fonte – brevetto 3524697) :

fisheye270.jpg

La lunghezza focale in questo  caso è di 5.4 mm

 

Graficando le tre figure si può provare a ricavare per interpolazione la lunghezza focale per 235°:

grafico-LF-FOV.png

Conversione Ecojumbo da piombo a litio

Posted in batterie, Diario elettrico Ecojumbo 5000 by jumpjack on 9 novembre 2014

ecojumbo-scooter-elettrico-sella-rossa

Terminato l’esperimento con le batterie al piombo trovate sull’Ecojumbo comprato usato d’occasione, è tempo di dire addio una volta per tutte al pesantissimo e poco longevo piombo per passare al litio.

A casa ho ben 4 batterie al litio “e mezzo”:

1) LiFePo4 Ecoitalmotor da 18 Ah

2) LiFePo4 autocostruita da 15 Ah, headway-based, in riparazione

3) 2xLi-ion ex-Zem da 24 Ah

3.5) 16 celle Winston LiFePO4 da 40Ah, di cui 5 o 6 “cotte” e quindi da buttare.

In attesa che mi arrivino i pezzi per aggiustare la mia LiFePO4 autocostruita e di mettere da parte abbastanza soldi per comprare altre 5 o 6 celle Winston per completare la batteria da 40 Ah, mi do, tanto per cambiare, alla sperimentazione… 🙂

Per due giorni, a causa del cedimento della batteria al piombo, sono andato in giro con una batteria li-ion ESTERNA appoggiata sulla pedana laterale dello scooter, collegata in parallelo a quella al piombo mezza scarica e a quella LiFePO4 nel sottosella, col risultato che la batteria aggiuntiva aggiuntiva supplisce alla quasi-mancanza di quella al piombo permettendomi di fare i canonici 10+10 km giornalieri casa-lavoro con buone prestazioni.

Però, dalle misure prese dall’esterno dello scooter, mi sembra di capire che forse le mie valigette al litio potrebbero entrare nella pancia dell’Ecojumbo al posto delle batterie al piombo.

L’Estrazione delle batterie al piombo

Il problema è che è un mese o più che cerco di accedere alle batterie al piombo togliendo le plastiche, ma nonostante abbia tolto oltre quaranta viti allo scooter, le batterie sono irraggiungibili! Da un mese vado in giro con 30 viti in meno (almeno 10 le ho rimesse…), e lo scooter non si è ancora mai smontato in viaggio… tranne una  volta che mi si è staccato lo scudo anteriore, ma per colpa mia che all’ultimo smontaggio avevo dimenticato di rimettere due  viti..

Così mi sono messo di punta a cercare un modo per smontare il “copriserbatoio”, cioè quel pezzo di plastica tra manubrio e sellino.

E’ stato un incubo!

Ci sono ben sette viti fissate dall’interno, quindi completamente invisibili da fuori, che tengono in sede quel pezzo! Due di esse sono nascoste dietro i fari; una è nascosta dietro il palo di ferro della forcella. Altre 4 sono nascoste sui fianchi.

Questo scooter sembra in-smontabile!

Così, sono passato alle maniere forti, rudi e selvagge: dremel, tronchesi, seghetto e tenaglie: ho ritagliato tutto intorno a 5 delle 7 viti la plastica che le regge… così non ho dovuto svitarle: sono rimaste saldamente avvitate… ma a un quadratino di plastica di  1 cm! 🙂 Le ultime 2, nei fianchi, sono riuscito a svitarle usando un cacciavite corto e largo.

Tolte queste, rimangono, a fissare il pezzo, solo le due viti che reggono il sellino… ma quelle sono sempre le prime ad andarsene quando lavoro allo scooter! 🙂

Tolte quindi finalmente tutte le viti… il pezzo ancora non si leva!! E’ saldamente di fissato tramite clip e bordi ricurvi al resto delle plastiche. Ma sfruttando l’elasticità delle plastiche allentate e qualche bella torsione, pressione e strattone, alla fine sono riuscito a estrarre il malefico coperchio in plastica.

Ma non è ancora sufficiente: questo mi ha dato accesso solo alla batteria 1, la più alta, e alla centralina. La batteria poggia su una piastra di ferro saldata al telaio, la centralina è avvitata a due stecche di ferro saldate al telaio.

“Naturalmente” alcune delle saldature sono irraggiungibili tramite frullino, quindi ho dovuto letteralmente distruggerle a suon di dremel, cacciavitate e martellate. Alla fine, l’accesso alle 4 batterie sottostante era libero!

Ma niente da fare: non c’è verso di estrarle! Sono troppo larghe!

L’unico modo per estrarre le batterie al piombo dell’ecojumbo 5000, quindi, è:

  1. svitare e staccare dal vano batterie i morsetti di potenza
  2. spostare i morsetti in modo da lasciare completamente visibile la batteria 5, la più vicina alla ruota posteriore
  3. scollegare/svitare i cavi delle batterie
  4. estrarre la batteria 5
  5. far scorrere le batterie una alla  volta verso il “buco” lasciato dalla 5 ed estrarre tre batterie
  6. La batteria 1, quella vicina al manubrio, si può invece estrarre solo smontando il “copriserbatoio” come descritto prima.

L’inserimento delle valigette al litio Zem-Ecoitalmotor

Una volta eliminate batterie, centralina e supporti, resta il vano vuoto, ma sormontato da due staffe a U rovesciata, che servono sia a dare solidità torsionale al telaio che a sorreggere il sellino e il sottosella, quindi non si possono togliere.

ecojumbo-nudo

Questo rende un po’ complicato inserire le valigette al litio Zem-Ecoitalmotor, ma non impossibile; premessa indispensabile è segare via zampe e rotelle; questo permette di collocare nella pancia due batterie sdraiate, spinte verso il posteriore dello scooter, ma solo con manico e morsetto rivolti verso l’anteriore dello scooter: le maniglie impediscono infatti di posizionarle in senso opposto, che sarebbe più comodo perchè porterebbe nel sottosella i connettori. La presenza della maniglia impedisce anche la collocazione di una terza batteria in verticale nella parte anteriore della pancia, che così non c’entra per uno o due centimetri.

Complessivamente, la pancia dell’Ecojumbo 5000 è in grado di ospitare, senza manico e rotelle, 3 batterie li-ion (24 Ah della Zem) oppure LiFePo4 (18 Ah della EcoItalMotor), per un totale di 72 o 54Ah (90 e 70 km reali); purtroppo non è possibile metterne 4, anche se la larghezza del vano batterie lo consentirebbe, perchè i tubi del telaio sopra il vano formano una strettoia che portano la larghezza utile a 15cm, mentre ne servono 16 per ospitare due batterie.

Le batterie a valigetta sono visibili in questa foto, accanto a un Ecoitalmotor Geco-50 da 1500w:

Batterie ZEM ECOITALMOTOR a valigetta

Volendo, però, è possibile collocare, come ho fatto io, una batteria nel sottosella, ma occorre segare via una parte del fondo, e collocare la batteria tra vano batterie e ruote; tenderà ad andare a poggiarsi sul forcellone posteriore, ma sarebbe meglio evitarlo per evitare inutili scossoni alla batteria; eventualmente si può pensare ad aggiungere un sostegno al sottosella bucato.

Sottosella integro; per poter inserire una valigetta Zem, occorre tagliare via buona parte del fondo.

Sottosella integro; per poter inserire una valigetta Zem, occorre tagliare via buona parte del fondo.

collegamenti

collegamenti-annotated

vano

vano-annotated

vano2

Dimensioni vano batterie Ecojumbo: 67 x 21 x 21 cm (67 x 21 x 39.5 senza batteria superiore e centralina)

Una volta collocate le due batterie sdraiate nella pancia, ho riposizionato, per ora temporaneamente, la centralina, praticamente poco più che appoggiata al telaio, e mantenuta ferma da una cinghia elastica che serviva in origine a tenere in sede la batteria.

Sempre temporaneamente, ho collegato in parallelo le due batterie a un cavo unico, che userò sia per caricarle che per collegarle allo scooter; nel vano batterie avanza spazio sufficiente per due caricabatterie, ma devo ancora decidere se metterceli effettivamente, oppure lasciarli esterni “volanti”, perchè temo che, non essendo progettati per viaggiare, le vibrazioni stradali e l’umidità li distruggerebbero presto.

Ho infine collegato allo scooter due connettori Anderson, uno per le li-ion e uno per la LiFePO4; dovrei metterci anche il diodo di separazione, perchà una LiFePO4 appena caricata è a 73 volt e una li-ion a 67.2, ma non è una cosa urgente, perchè dopo un po’ la LiFePO4 carica si stabilizza a 66-67 volt; però prima o poi ce lo dovrò mettere… come prima o poi dovrò aggiustare l’altra batteria, costruire quella da 40 Ah, montare una colonnina di ricarica nel posto auto,….

Prima o poi farò  tante cose. 🙂