Usi l'apprendimento automatico per mirare gli specchi in un array solare?


10

Ho pensato ai collettori solari in cui diversi specchi indipendenti hanno focalizzato la luce su un collettore solare, in modo simile al seguente design di Energy Innovations.

Matrice solare

Poiché ci saranno difetti nell'assemblaggio di questo array solare, sto procedendo con i seguenti presupposti (o mancanza di questi):

  • Il software conosce la "posizione" di ciascun mirror, ma non sa come questa posizione si collega al mondo reale o ad altri mirror. Ciò spiegherà la scarsa calibrazione del mirror o altri fattori ambientali che possono influenzare un mirror ma non gli altri.

  • Se uno specchio muove di 10 unità in una direzione e quindi di 10 unità nella direzione opposta, finirà dove è iniziato in origine.

Vorrei utilizzare l'apprendimento automatico per posizionare correttamente gli specchi e focalizzare la luce sul collettore. Mi aspetto di affrontare questo problema come un problema di ottimizzazione, ottimizzando le posizioni dello specchio per massimizzare il calore all'interno del collettore e la potenza erogata.

Il problema è trovare un bersaglio piccolo in uno spazio rumoroso ad alta dimensione (considerando che ogni specchio ha 2 assi di rotazione). Alcuni dei problemi che prevedo sono:

  • giorni nuvolosi, anche se inciampi sul perfetto allineamento dello specchio, al momento potrebbe essere nuvoloso

  • dati del sensore rumorosi

  • il sole è un bersaglio mobile, si muove lungo un sentiero e segue un percorso diverso ogni giorno - anche se potresti calcolare l'esatta posizione del sole in qualsiasi momento, non sapresti come questa posizione si collega ai tuoi specchi

La mia domanda non riguarda l'array solare, ma le possibili tecniche di apprendimento automatico che potrebbero aiutare in questo problema del "piccolo obiettivo in un rumoroso spazio ad alta dimensione". Ho citato l'array solare perché era il catalizzatore di questa domanda e un buon esempio.

Quali tecniche di apprendimento automatico possono trovare un target così piccolo in uno spazio rumoroso ad alta dimensione?

MODIFICARE:

Alcuni pensieri aggiuntivi:

  • Sì, puoi calcolare la posizione dei soli nel mondo reale, ma non sai come la posizione degli specchi è correlata al mondo reale (a meno che tu non l'abbia imparato in qualche modo). Potresti sapere che l'azimut dei soli è di 220 gradi e l'altezza dei soli di 60 gradi e potresti sapere che uno specchio è in posizione (-20, 42); ora dimmi, quello specchio è correttamente allineato con il sole? Non lo sai.

  • Supponiamo che tu abbia alcune misurazioni di calore molto sofisticate, e sai "con questo livello di calore, ci devono essere 2 specchi allineati correttamente". Ora la domanda è: quali due mirror (su 25 o più) sono allineati correttamente?

  • Una soluzione che ho preso in considerazione è stata quella di approssimare la corretta "funzione di allineamento" usando una rete neurale che avrebbe preso i soli azimut ed elevazione come input ed emesso un grande array con 2 valori per ogni specchio che corrispondono ai 2 assi di ciascun mirror. Non sono sicuro di quale sia il miglior metodo di allenamento.

Più pensieri:

  • I mirror hanno un sistema di coordinate a cui il software ha accesso, ma il software non sa in che modo questo sistema di coordinate mette in relazione il mondo reale. Diciamo che uno specchio è in posizione (4, 42); cosa significa? Non lo so e nemmeno il software. Ma so che se muovo lo specchio e poi lo sposto su (4, 42) lo specchio sarà nella stessa posizione che era in precedenza. Inoltre, due specchi possono essere in posizione (4, 42) ma puntare in direzioni opposte nel mondo reale.

  • Sì, con molti sensori di qualità il problema è facile da risolvere. Energy Innovations è fuori mercato come meglio posso dire, probabilmente perché hanno usato un sacco di sensori davvero fantastici e la gente ha detto "Comprerò solo pannelli solari, sono più economici".

  • Gli unici sensori nel sistema sono nella testa del collettore.


Ci scusiamo per non aver risposto alla tua domanda, ma all'improvviso mi è venuta l'idea di leggere il tuo post. Non sarebbe ragionevole usare le misure dell'altro per determinare chi ha il miglior allineamento e l'obiettivo generale di rendere la deviazione standard il più piccola possibile E che tutti dovrebbero produrre uguale o superiore al massimo della popolazione?
AlexanderBrevig,


2
In un mondo in cui qualsiasi telefono cellulare sa dove si trova e come viene posizionato, l'assunto che uno specchio di un eliostato non lo faccia non è realistico.
mouviciel,

1
Finché sai dove si trova il tuo array, dove ogni mirror è relativo a quel punto, dove il collector è relativo a ciascun mirror e come l'array è orientato (dal punto di vista dell'azimut), tutto ciò che vuoi fare è calcolabile. Questo non è un problema di apprendimento automatico, è tutta geometria.
Blrfl,

1
Vedo la tua nuova modifica. Mi sembra che il tuo problema si riduce a tradurre le coordinate dello specchio in azimut ed elevazione. Non dovrebbe richiedere un array, né richiede l'apprendimento automatico; è probabilmente solo un paio di semplici equazioni matematiche con alcune costanti.
Robert Harvey,

Risposte:


15

I percorsi del sole possono essere previsti , quindi immagino che tu possa allineare lo specchio già abbastanza da vicino se conosci l'ora del giorno, il giorno dell'anno e la latitudine e la longitudine.

Non è necessario l'apprendimento automatico per questo.

Se hai specchi che non sanno in che modo sono puntati (cioè non puoi correlare la loro posizione con le misure di elevazione e azimut), puoi provare a usare una fotocamera con un ampio campo visivo, spazzando il cielo fino a quando un il punto bianco appare nella vista della fotocamera. È quindi possibile spostare lo specchio verso quel punto (usando alcuni semplici calcoli x / y), fino a quando il punto luminoso non è centrato nella vista della telecamera. Metti un filtro scuro sulla fotocamera in modo che tutto ciò che vede è il sole.

Tuttavia, i vostri stati domanda che si fanno sanno dove gli specchi sono puntati. Se hai degli specchi sugli specchi che ti dicono come sono posizionati, allora hai la possibilità di correlare quelle misurazioni di posizione con i numeri di azimut ed elevazione effettivi.

Immagino che sarebbe abbastanza semplice rilevare i giorni nuvolosi con una singola cella solare o l'assenza di calore sullo specchio.


5
È ancora necessario tenere conto delle imperfezioni dell'assemblaggio, ma questo è un problema di calibrazione che non comporta l'apprendimento automatico. L'ingegneria di controllo sarebbe un quadro teorico più pertinente.
mouviciel,

2
@FrustratedWithFormsDesigner: Se i tuoi specchi fossero montati su vagoni ferroviari, suppongo. Un sensore run-of-the-mill e sensori di livellamento risolverebbero questo problema.
Robert Harvey,

3
@RobertHarvey: Ma sarebbe divertente? ;)
FrustratedWithFormsDesigner il

7
Il fatto che tu abbia centinaia di mirror non è un grosso problema, il comportamento di ogni singolo mirror non dipende dai suoi vicini. Stai intenzionalmente rendendo questo problema più difficile di quanto non sia in realtà.
whatsisname

4
@ Buttons840: se non hai modo di correlare il significato dei sensori di posizione rispetto alla posizione effettiva dello specchio, l'apprendimento automatico non ti aiuterà a posizionarli. Qualunque cosa tu faccia senza quei dati sarà essenzialmente una passeggiata da ubriaco. La calibrazione approssimativa dovrebbe essere un fattore del progetto. La calibrazione fine può essere eseguita rasterizzando ogni specchio contro il sole e guardando l'uscita del tuo collettore. Whatsisname ha assolutamente ragione: lo stai rendendo più difficile di quanto debba essere.
Blrfl,

9

Per questo tipo di applicazione, un campo di specchi che cerca di puntare verso un collettore solare, puoi calcolare molto dove pensi che dovrebbe essere il sole, dove dovrebbero essere gli specchi, in quale angolo dovrebbero trovarsi e come posizionarli così indicano verso il tuo collezionista. Sai, un modello matematico. Sarà vicino. Probabilmente abbastanza vicino.

Per quanto riguarda la calibrazione degli specchi per gestire le imperfezioni e le deviazioni dal tuo modello:
muovi uno specchio alla volta. Se l'output aumenta, mantenere la modifica. Conservare l'alterazione come calOffset. Chiamalo fatto.

Sono d'accordo con Harvey, l'apprendimento automatico è eccessivo per questo.

Ma hey, diciamo che vuoi un sistema autonomo mobile che può svegliarsi dopo un lungo pisolino e andare a cercare il sole . E non possiamo permetterci una batteria da $ 0,05 per tenere il tempo. E dal momento che è mobile, il sole potrebbe essere in dio-sa quale direzione. E tutti gli umani sono morti. E i nostri signori robotici a celle solari hanno avuto un serio problema e non sanno in quale parte del mondo si siano svegliati. E il loro GPS non può captare un segnale. E nessuno dei loro amici sa cosa è successo.

1) Spazzare l'area con uno specchio e notare eventuali picchi di potenza. Ripeti alcune volte per assicurarti che non fosse una nuvola o qualcosa del genere.
2) Ora conosci la posizione del sole. Vai a farlo.
3) Aspetta un'ora.
4) Spazzare di nuovo l'intera area con uno specchio. Spikes. Nuvole. Yada yada.
5) Ora conosci il percorso del sole. Seguilo fino a raggiungere il limite dei tuoi servi o fino a quando la potenza non si interrompe
6) Ruota di 180 gradi e attendi 12 ore.
7) Fai la spazzata.
8) Dalla differenza tra la posizione del sole e la posizione in aumento, ora conosci approssimativamente la tua latitudine / stagione *. (Almeno, il tuo offset dall'equatore. Ancora non conosco il nord dal sud). Regola di conseguenza.
9) Aspetta un giorno. Nota la differenza nella posizione dell'alba. Ora sai da che parte del solstizio sei.
10) Attendere verso l'alto verso 6 mesi. Nota dove punta la direzione dell'alba. Ora sai se sei in inverno o in estate, e puoi capire in sicurezza il percorso del sole per il prossimo EON.

Se uno dei passaggi con "ora lo sai" non è chiaro, la risposta è MATH (e la meccanica orbitale della Terra **). Mr. Math è tuo amico. Sa dirti delle cose. E a meno che l' assioma dell'uguaglianza o qualcosa del genere non risulti falso, puoi anche fidarti di lui.

* Offerta non valida nei circoli artici o antartici.
** L'offerta non è valida anche su Marte, Venere, Titano, Io e altre località selezionate.


Come affermato, sto procedendo dal presupposto che non conosco le posizioni degli specchi nel mondo reale e che l'affermazione che con un po 'di matematica riesco a ottenere "abbastanza vicino" non ha basi.
Pulsanti840,

Quando dici di non conoscere le posizioni degli specchi nel mondo reale, cosa intendi esattamente con questo? Ho un GPS sul mio telefono che può darti coordinate di latitudine e longitudine, precise entro pochi metri.
Robert Harvey,

2
Supponiamo che il GPS sia stato disattivato dai brillamenti solari o da una bomba Kessler.
Ingegnere mondiale il

@WorldEngineer - Supponi che tutto tranne l'apprendimento automatico sia stato reso inoperante, l'apprendimento automatico sarebbe la soluzione?
mouviciel,

@mouviciel no, senza servi o sensori, l'apprendimento automatico non ha nulla da imparare e nulla da fare dopo tutto quel pensiero.
Filippo,

2

La tua domanda non sembra riguardare l'apprendimento automatico tanto quanto la calibrazione automatica di un gruppo di dispositivi. Hai un dispositivo (uno specchio) con sensori di posizione e sai dove vuoi puntare il dispositivo, ma non sai come l'uscita del sensore si collega al mondo reale. Quindi devi solo calibrare il dispositivo: trova la posizione corretta in modo da poter determinare in che modo le letture del sensore si riferiscono alla posizione effettiva. Una volta calibrato, sembra che si possa fare affidamento sui sensori per posizionare il dispositivo.

Detto questo, probabilmente dovresti calibrare ciascuno dei dispositivi individualmente . Puoi farlo automaticamente usando una sorta di algoritmo di ricerca. Gilbert Le Blanc ne descrive uno che dovrebbe funzionare. Un altro modo sarebbe quello di supporre che i dati del sensore siano corretti e usarli per puntare lo specchio approssimativamente nella posizione giusta; quindi sposta lo specchio secondo uno schema che si sviluppa a spirale verso l'esterno fino a colpire il bersaglio.

Se vuoi davvero regolare tutti i mirror contemporaneamente , un algoritmo genetico potrebbe essere richiesto per:

  • Scegliere un'impostazione casuale per ciascun mirror e memorizzarli in un array. Ripetere l'operazione, in modo da disporre di un numero di configurazioni del campo mirror.
  • Quindi, scorrere le configurazioni del campo specchio, impostando tutti gli specchi per ognuno e quindi misurando il calore generato.
  • Rimuovere le configurazioni del campo speculare che generano il minor calore dall'elenco.
  • Genera alcune nuove configurazioni ricombinando parti delle configurazioni che rimangono nell'elenco.
  • Ripeti fino a quando le configurazioni non convergono in un'unica soluzione o il miglioramento ad ogni iterazione scende al di sotto di una soglia (ovvero hai raggiunto "abbastanza buono").

Inoltre, dovrei sottolineare che se provi il metodo sopra, la cosa che stai cercando di ottimizzare è la calibrazione del sensore dello specchio, non la posizione. Ogni passaggio richiederà del tempo, quindi dovrai tenere conto del movimento del sole mentre il processo procede. L '"impostazione" per ogni specchio non è la posizione ma l'errore del sensore, ovvero la differenza tra la lettura del sensore e la lettura ideale.


1

Quasi odio scrivere questo.

  • Determina da una cella solare se il sole splende o meno.
  • Se il sole splende, inizia con lo specchio su (0, 0).
  • Ruota lo specchio su 0 sull'asse x.
  • Ruota lo specchio lungo l'intero asse Y. Ad ogni passo, misurare per vedere se la potenza termica del collettore solare aumenta. In tal caso, interrompere e passare al mirror successivo nella matrice.
  • Ruota lo specchio lungo l'asse X di un passo. Ripeti il ​​passaggio precedente.
  • Se lo specchio è stato ruotato lungo l'intero asse xey senza aumentare la potenza termica, contrassegnare lo specchio come da manutenzione e spostarsi su x = 0 e y = 0.
  • Ripetere tutti i passaggi con ogni mirror nell'array mirror.
  • Aspetta un'ora e ripeti tutti i passaggi.

Semplice, tuttavia questo approccio è tutt'altro che ottimale, supponendo che la rotazione degli specchi costi energia .....
Mikera,

Questo non è degno di pubblicazione però.
Giobbe

3
@Job Oh mi dispiace, volevi che i programmatori SE ti aiutassero con la tua tesi? Sapevo che il problema dei compiti era una specie di problema, ma ora abbiamo studenti laureati che vogliono che facciamo il loro lavoro?
Filippo,

@mikera: vero, questa è una soluzione di forza bruta. Tuttavia, poiché una delle modifiche di chiarimento era "Inoltre, due specchi potrebbero essere in posizione (4, 42) ma puntare in direzioni opposte nel mondo reale", non vedo alcuna scorciatoia.
Gilbert Le Blanc,

@Gilbert - è necessario utilizzare le informazioni delle misurazioni precedenti. Due misure, ad esempio, sono sufficienti per ottenere una stima parziale del gradiente. Quindi puoi iniziare a utilizzare metodi come la discesa gradiente per trovare la posizione ottimale. Molto meglio della forza bruta, soprattutto perché il problema di ottimizzazione in questo caso è probabilmente convesso!
Mikera,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.