Utiliser l'apprentissage automatique pour viser des miroirs dans un champ solaire?

10

Je pensais aux capteurs solaires où plusieurs miroirs indépendants pour concentrer la lumière sur un capteur solaire, semblable à la conception suivante d'Energy Innovations.

Tableau solaire

Parce qu'il y aura des défauts dans l'assemblage de ce générateur solaire, je fais les hypothèses suivantes (ou leur absence):

  • Le logiciel connaît la "position" de chaque miroir, mais ne sait pas comment cette position se rapporte au monde réel ou à d'autres miroirs. Cela explique le mauvais étalonnage du miroir ou d'autres facteurs environnementaux qui peuvent affecter un miroir mais pas les autres.

  • Si un miroir se déplace de 10 unités dans une direction, puis de 10 unités dans la direction opposée, il finira là où il a commencé à l'origine.

Je voudrais utiliser l'apprentissage automatique pour positionner correctement les miroirs et concentrer la lumière sur le collecteur. Je pense que j'aborderais cela comme un problème d'optimisation, en optimisant les positions du miroir pour maximiser la chaleur à l'intérieur du collecteur et la puissance de sortie.

Le problème est de trouver une petite cible dans un espace bruyant de haute dimension (en considérant que chaque miroir a 2 axes de rotation). Certains des problèmes que j'anticipe sont:

  • jours nuageux, même si vous tombez sur l'alignement parfait du miroir, il peut être nuageux à l'époque

  • données de capteur bruyantes

  • le soleil est une cible en mouvement, il se déplace le long d'un chemin et suit un chemin différent chaque jour - bien que vous puissiez calculer la position exacte du soleil à tout moment, vous ne sauriez pas comment cette position se rapporte à vos miroirs

Ma question ne porte pas sur le panneau solaire, mais sur d'éventuelles techniques d'apprentissage automatique qui pourraient aider dans ce problème de "petite cible dans un espace dimensionnel élevé bruyant". J'ai mentionné le panneau solaire parce qu'il était le catalyseur de cette question et un bon exemple.

Quelles techniques d'apprentissage automatique peuvent trouver une cible aussi petite dans un espace bruyant de grande dimension?

ÉDITER:

Quelques réflexions supplémentaires:

  • Oui, vous pouvez calculer la position des soleils dans le monde réel, mais vous ne savez pas comment la position des miroirs est liée au monde réel (sauf si vous l'avez appris d'une manière ou d'une autre). Vous savez peut-être que l'azimut du soleil est de 220 degrés et que l'élévation du soleil est de 60 degrés, et vous savez peut-être qu'un miroir est en position (-20, 42); dis-moi maintenant, ce miroir est-il correctement aligné avec le soleil? Tu ne sais pas.

  • Supposons que vous ayez des mesures de chaleur très sophistiquées, et vous savez "avec ce niveau de chaleur, il doit y avoir 2 miroirs correctement alignés". Maintenant, la question est de savoir quels miroirs (sur 25 ou plus) sont correctement alignés?

  • Une solution que j'ai envisagée était d'approximer la "fonction d'alignement" correcte en utilisant un réseau neuronal qui prendrait l'azimut et l'élévation du soleil en entrée et produirait un grand tableau avec 2 valeurs pour chaque miroir qui correspondent aux 2 axes de chaque miroir. Je ne sais pas quelle est la meilleure méthode d'entraînement.

Plus de réflexions:

  • Les miroirs ont un système de coordonnées auquel le logiciel a accès, mais le logiciel ne sait pas comment ce système de coordonnées relie le monde réel. Disons qu'un miroir est en position (4, 42); Qu'est-ce que ça veut dire? Je ne sais pas et le logiciel non plus. Mais je sais que si je déplace le miroir, puis le ramène à (4, 42), le miroir sera dans la même position qu'il était auparavant. De plus, deux miroirs peuvent être en position (4, 42) mais pointer dans des directions opposées dans le monde réel.

  • Oui, avec beaucoup de capteurs de qualité, le problème est facile à résoudre. Energy Innovations est en faillite du mieux que je peux dire, probablement parce qu'ils ont utilisé un tas de capteurs vraiment géniaux et les gens ont dit "Je vais juste acheter des panneaux solaires, ils sont moins chers."

  • Les seuls capteurs du système se trouvent dans la tête de capteur.

Boutons840
la source
Désolé de ne pas avoir répondu à votre question, mais j'ai soudain eu une idée en lisant votre message. Ne serait-il pas raisonnable d'utiliser les mesures de l'autre pour déterminer qui a le meilleur alignement et l'objectif global de rendre l'écart-type le plus petit possible ET que tout le monde devrait produire un maximum égal ou supérieur au maximum de la population?
AlexanderBrevig
2
Voir aussi en.wikipedia.org/wiki/Heliostat
Robert Harvey
2
Dans un monde où tout téléphone mobile sait où il se trouve et comment il est positionné, l'hypothèse selon laquelle un miroir d'héliostat ne fonctionne pas est irréaliste.
mouviciel
1
Tant que vous savez où se trouve votre tableau, où chaque miroir est relatif à ce point, où le collecteur est relatif à chaque miroir et comment le tableau est orienté (en azimut), tout ce que vous voulez faire est calculable. Ce n'est pas un problème d'apprentissage automatique, c'est toute la géométrie.
Blrfl
1
Je vois votre nouvelle modification. Il me semble que votre problème se résume à traduire les coordonnées du miroir en azimut et en élévation. Il ne doit pas nécessiter de tableau ni d'apprentissage automatique; c'est probablement juste quelques équations mathématiques simples avec quelques constantes.
Robert Harvey

Réponses:

15

Les trajectoires du soleil peuvent être prédites , donc j'imagine que vous pouvez déjà aligner le miroir assez étroitement si vous connaissez l'heure, le jour de l'année et la latitude et la longitude.

Vous n'avez pas besoin d'apprentissage automatique pour cela.

Si vous avez des miroirs qui ne savent pas dans quel sens ils sont pointés (c'est-à-dire que vous ne pouvez pas corréler leur position avec les mesures d'élévation et d'azimut), vous pouvez essayer d'utiliser une caméra avec un large champ de vision, balayant le ciel jusqu'à une tache blanche apparaît dans la vue de la caméra. Vous pouvez ensuite déplacer le miroir vers ce point (à l'aide de calculs x / y simples), jusqu'à ce que le point lumineux soit centré dans la vue de la caméra. Mettez un filtre sombre sur l'appareil photo pour qu'il ne voit que le soleil.

Cependant, vos états de question que vous ne savez où les miroirs sont pointés. Si vous avez des capteurs sur les miroirs qui vous indiquent comment ils sont positionnés, vous avez la possibilité de corréler ces mesures de position avec les nombres réels d'azimut et d'élévation.

J'imagine qu'il serait assez simple de détecter les jours nuageux avec une seule cellule solaire ou l'absence de chaleur sur le miroir.

Robert Harvey
la source
5
Vous devez toujours prendre en compte les imperfections de l'assemblage, mais il s'agit d'un problème d'étalonnage qui n'implique pas l'apprentissage automatique. L'ingénierie de contrôle serait un cadre théorique plus pertinent.
mouviciel
2
@FrustratedWithFormsDesigner: Si vos rétroviseurs étaient montés sur des wagons, je suppose. Un GPS ordinaire et des capteurs de nivellement résoudraient ce problème.
Robert Harvey
3
@RobertHarvey: Mais serait-ce aussi amusant? ;)
FrustratedWithFormsDesigner
7
Le fait que vous ayez des centaines de miroirs n'est pas un problème, le comportement de chaque miroir individuel ne dépend pas de ses voisins. Vous rendez intentionnellement ce problème plus difficile qu'il ne l'est réellement.
whatsisname
4
@ Buttons840: Si vous n'avez aucun moyen de corréler la signification de vos capteurs de position par rapport à la position réelle du miroir, l'apprentissage automatique ne vous aidera pas à les positionner. Tout ce que vous ferez sans ces données sera essentiellement une marche d'ivrogne. Un étalonnage grossier devrait être un facteur de la conception. Un étalonnage précis peut être accompli en tramant chaque miroir contre le soleil et en regardant la sortie de votre collecteur. Whatsisname a tout à fait raison: vous rendez cela plus difficile que nécessaire.
Blrfl
9

Pour ce type d'application, un champ de miroirs essayant de pointer vers un capteur solaire, vous pouvez très bien calculer où vous pensez que le soleil devrait être, où les miroirs devraient être, quel angle ils devraient être, et comment les positionner de manière à ils pointent vers votre collectionneur. Vous savez, un modèle mathématique. Ce sera proche. Probablement assez proche.

Quant à l'étalonnage des miroirs pour traiter les imperfections et les écarts par rapport à votre modèle:
agitez un miroir à la fois. Si votre sortie augmente, conservez la modification. Stockez la modification sous calOffset. Appelez-le terminé.

Je suis d'accord avec Harvey, l'apprentissage automatique est exagéré pour cela.

Mais bon, disons que vous voulez un système autonome mobile qui puisse se réveiller après une longue sieste et aller chercher le soleil . Et nous ne pouvons pas nous permettre une batterie de 0,05 $ pour garder le temps. Et comme il est mobile, le soleil pourrait être dans une direction divine. Et tous les humains sont morts. Et nos suzerains de cellules solaires robotiques avaient un sérieux signe et ils ne savent pas dans quelle partie du monde ils se sont réveillés. Et leur GPS ne peut pas capter de signal. Et aucun de leurs copains ne sait ce qui s'est passé.

1) Balayez la zone avec un miroir et notez tout pic de puissance. Répétez cela plusieurs fois pour vous assurer que ce n'était pas un nuage ou quelque chose.
2) Vous connaissez maintenant la position du soleil. Allez-y.
3) Attendez une heure.
4) Balayez à nouveau toute la zone avec un miroir. Des pointes. Des nuages. Yada yada.
5) Vous connaissez maintenant le chemin du soleil. Suivez-le jusqu'à ce que vous atteigniez la limite de vos servos ou jusqu'à ce que le courant baisse
6) Tournez à 180 degrés et attendez 12 heures.
7) Faites le balayage.
8) Grâce à la différence entre la position du soleil couchant et la position montante, vous connaissez maintenant approximativement votre latitude / saison *. (Au moins, votre décalage par rapport à l'équateur. Je ne sais toujours pas du nord au sud). Ajuste en accord.
9) Attendez un jour. Notez la différence dans l'emplacement du lever du soleil. Vous savez maintenant de quel côté du solstice vous êtes.
10) Attendez vers le haut vers 6 mois. Notez où la direction des pics de lever de soleil. Vous savez maintenant si vous êtes en hiver ou en été et pouvez déterminer en toute sécurité la trajectoire du soleil pour la prochaine EON.

Si l'une des étapes avec "maintenant vous savez" n'est pas claire, la réponse est MATH (et la mécanique orbitale de la Terre **). M. Math est votre ami. Il peut vous dire des choses. Et à moins que l' axiome de l'égalité ou quelque chose de ce genre ne se révèle faux, vous pouvez même lui faire confiance.

* Offre non valable dans les cercles arctique ou antarctique.
** L'offre n'est pas non plus valable sur Mars, Vénus, Titan, Io et d'autres endroits sélectionnés.

Philippe
la source
Comme je l'ai dit, je procède sous l'hypothèse que je ne connais pas les positions des miroirs dans le monde réel, et l'affirmation selon laquelle avec des mathématiques je peux me rapprocher suffisamment n'a aucun fondement.
Buttons840
Lorsque vous dites que vous ne connaissez pas la position des miroirs dans le monde réel, que voulez-vous dire exactement par là? J'ai un GPS sur mon téléphone qui peut vous donner des coordonnées de latitude et de longitude, précises à quelques mètres près.
Robert Harvey
2
Supposons que le GPS a été rendu inopérant par des éruptions solaires ou une bombe Kessler.
World Engineer
@WorldEngineer - Supposons que tout sauf l'apprentissage automatique a été rendu inopérant, l'apprentissage automatique serait-il la solution?
mouviciel
@mouviciel non, sans servos ou capteurs, le machine learning n'a rien à apprendre et rien à faire après toute cette réflexion.
Philip
2

Votre question ne semble pas se rapporter autant à l'apprentissage automatique qu'à l'étalonnage automatique d'un groupe d'appareils. Vous avez un appareil (un miroir) avec des capteurs de position, et vous savez où vous voulez pointer l'appareil, mais vous ne savez pas comment la sortie du capteur se rapporte au monde réel. Il vous suffit donc de calibrer l'appareil - trouvez la position correcte afin de pouvoir déterminer la relation entre les relevés du capteur et la position réelle. Une fois calibré, il semble que vous pouvez compter sur les capteurs pour positionner l'appareil.

Compte tenu de tout cela, vous devriez probablement calibrer chacun des appareils individuellement . Vous pouvez le faire automatiquement en utilisant une sorte d'algorithme de recherche. Gilbert Le Blanc en décrit un qui devrait fonctionner. Une autre façon serait de supposer que les données du capteur sont correctes et de les utiliser pour pointer le miroir approximativement dans la bonne position; déplacez ensuite le miroir dans un motif qui tourne en spirale vers l'extérieur jusqu'à ce que vous atteigniez la cible.

Si vous voulez vraiment ajuster tous les miroirs à la fois , un algorithme génétique peut être appelé:

  • Choisissez un paramètre aléatoire pour chaque miroir et stockez-les dans un tableau. Répétez l'opération pour avoir un certain nombre de configurations de champ miroir.
  • Ensuite, parcourez les configurations de champ de miroir, définissez tous les miroirs pour chacun, puis mesurez la chaleur générée.
  • Supprimez les configurations de champ miroir qui génèrent le moins de chaleur de la liste.
  • Générez de nouvelles configurations en recombinant des parties des configurations qui restent dans la liste.
  • Répétez jusqu'à ce que les configurations convergent vers une seule solution ou que l'amélioration à chaque itération tombe en dessous d'un certain seuil (c'est-à-dire que vous avez atteint "assez bien").

De plus, je dois souligner que si vous essayez la méthode ci-dessus, la chose que vous essayez d'optimiser est l'étalonnage du capteur miroir, pas la position. Chaque étape prendra un certain temps, vous devrez donc tenir compte du mouvement du soleil au cours du processus. Le "réglage" pour chaque miroir n'est pas la position mais l'erreur du capteur, c'est-à-dire la différence entre la lecture du capteur et la lecture idéale.

Caleb
la source
1

Je déteste presque écrire ça.

  • Déterminez à partir d'une cellule solaire si le soleil brille ou non.
  • Si le soleil brille, commencez par le miroir à (0, 0).
  • Faites pivoter le miroir sur 0 sur l'axe x.
  • Faites pivoter le miroir sur tout l'axe Y. À chaque étape, mesurez pour voir si la production de chaleur de votre capteur solaire augmente. Si tel est le cas, arrêtez-vous et passez au miroir suivant du tableau.
  • Faites pivoter le miroir le long de l'axe X d'une étape. Répétez l'étape précédente.
  • Si le miroir a été tourné le long des axes x et y sans augmenter la production de chaleur, marquez le miroir comme nécessitant une maintenance et passez à x = 0 et y = 0.
  • Répétez toutes les étapes avec chaque miroir de la matrice de miroirs.
  • Attendez une heure et répétez toutes les étapes.
Gilbert Le Blanc
la source
Simple, cependant, cette approche est loin d'être optimale, en supposant que la rotation des miroirs coûte de l'énergie .....
mikera
Ce n'est pas digne d'une publication cependant.
Job
3
@Job Oh, je suis désolé, vouliez-vous que les programmeurs SE vous aident dans votre thèse? Je savais que la question des devoirs était une sorte de problème, mais maintenant nous avons des étudiants diplômés qui veulent que nous fassions leur travail?
Philip
@mikera: C'est vrai, c'est une solution de force brute. Cependant, étant donné que l'une des modifications de clarification était "De plus, deux miroirs peuvent être en position (4, 42) mais pointer dans des directions opposées dans le monde réel", je ne vois aucun raccourci.
Gilbert Le Blanc
@Gilbert - vous devez utiliser les informations des mesures précédentes. Par exemple, deux mesures suffisent pour obtenir une estimation de gradient partiel. Ensuite, vous pouvez commencer à utiliser des méthodes telles que la descente de gradient pour trouver la position optimale. Bien mieux que la force brute, d'autant plus que le problème d'optimisation dans ce cas est probablement convexe!
mikera