Güneş dizisindeki aynaları hedeflemek için makine öğrenmeyi mi kullanıyorsunuz?


10

Enerji Yeniliklerinin aşağıdaki tasarımına benzer şekilde, ışığı bir güneş kolektörüne odaklamak için birkaç bağımsız aynanın olduğu güneş kolektörlerini düşünüyorum.

Güneş Dizisi

Bu güneş dizisinin montajında ​​kusurlar olacağından, aşağıdaki varsayımlara (veya eksikliğine) devam ediyorum:

  • Yazılım, her aynanın "konumunu" bilir, ancak bu konumun gerçek dünyayla veya diğer aynalarla ilişkisini bilmez. Bu, kötü ayna kalibrasyonunu veya bir aynayı etkileyebilen ancak diğerlerini etkilemeyen diğer çevresel faktörleri açıklayacaktır.

  • Bir ayna 10 birim bir yönde ve daha sonra 10 birim ters yönde hareket ederse, başlangıçta başladığı yere ulaşacaktır.

Aynaları doğru konumlandırmak ve ışığı toplayıcıya odaklamak için makine öğrenimini kullanmak istiyorum. Bunu bir optimizasyon problemi olarak ele alıp, kollektör içindeki ısıyı ve güç çıkışını en üst düzeye çıkarmak için ayna konumlarını optimize edeceğimi umuyorum.

Sorun, gürültülü yüksek boyutlu bir alanda küçük bir hedef bulmaktır (her aynanın 2 dönüş ekseni olduğunu düşünerek). Beklediğim bazı problemler:

  • Bulutlu günler, mükemmel ayna hizalamasına rastlasanız bile, o zaman bulutlu olabilir

  • gürültülü sensör verileri

  • Güneş hareketli bir hedeftir, bir yol boyunca hareket eder ve her gün farklı bir yol izler - güneşin tam konumunu istediğiniz zaman hesaplayabilseniz de, bu konumun aynalarınızla nasıl bir ilişkisi olduğunu bilemezsiniz.

Benim sorum güneş dizisi değil, gürültülü yüksek boyutlu uzayda bu küçük hedefe yardımcı olabilecek olası makine öğrenme teknikleri ile ilgili. Güneş dizisinden bahsettim, çünkü bu sorunun katalizörü ve iyi bir örnekti.

Hangi makine öğrenme teknikleri gürültülü yüksek boyutlu bir alanda bu kadar küçük bir hedef bulabilir?

DÜZENLE:

Birkaç ek düşünce:

  • Evet, gerçek dünyada güneşlerin konumunu hesaplayabilirsiniz, ancak aynaların konumunun gerçek dünyayla nasıl ilişkili olduğunu bilmiyorsunuz (bir şekilde öğrenmedikçe). Güneşin azimutunun 220 derece olduğunu ve güneşlerin yükselmesinin 60 derece olduğunu biliyorsunuz ve bir aynanın yerinde olduğunu biliyor olabilirsiniz (-20, 42); Şimdi söyle bana, ayna güneşe doğru hizalanmış mı? Bilmiyorsun.

  • Bazı çok karmaşık ısı ölçümlerine sahip olduğunuzu varsayalım ve "bu ısı seviyesi ile doğru bir şekilde hizalanmış 2 ayna olması gerekir". Şimdi soru, hangi iki ayna (25 veya daha fazla) doğru hizalanmış?

  • Düşündüğüm bir çözüm, güneşleri azimut ve yükselişi giriş olarak alan ve her bir ayna için her aynanın 2 eksenine karşılık gelen 2 değere sahip büyük bir dizi çıkaran bir sinir ağı kullanarak doğru "hizalama fonksiyonunu" yaklaştırmaktı. Yine de en iyi eğitim yönteminin ne olduğundan emin değilim.

Daha fazla düşünce:

  • Aynalar, yazılımın erişebildiği bir koordinat sistemine sahiptir, ancak yazılım bu koordinat sisteminin gerçek dünyayla nasıl ilişkili olduğunu bilmez. Diyelim ki bir ayna pozisyonda (4, 42); Bu ne anlama geliyor? Bilmiyorum ve yazılımı da bilmiyor. Ama aynayı hareket ettirir ve sonra (4, 42) 'ye geri götürürsem aynanın daha önce olduğu pozisyonda olacağını biliyorum. Ek olarak, iki ayna (4, 42) konumunda olabilir, ancak gerçek dünyada zıt yönleri gösterebilir.

  • Evet, birçok kalite sensörü ile problemi çözmek kolaydır. Enerji Yenilikleri, söyleyebileceğim en iyi iş dışında, muhtemelen bir sürü harika sensör kullandıkları ve insanlar "Sadece güneş panelleri satın alacağım, daha ucuzlar" dedi.

  • Sistemdeki tek sensörler kolektör kafasındadır.


Sorunuzu cevaplamadığınız için üzgünüm, ancak aniden yazınızı okurken bir fikrim var. Kimin en iyi hizalamaya sahip olduğunu ve standart sapmayı olabildiğince küçük hale getirmeyi ve herkesin popülasyondan maksimuma eşit veya daha fazla üretmesi gerektiğini belirlemek için diğerinin ölçümlerini kullanmak makul olmaz mıydı?
AlexanderBrevig


2
Herhangi bir cep telefonunun nerede olduğunu ve nasıl konumlandığını bildikleri bir dünyada, bir heliostat aynasının olmadığı varsayımı gerçekçi değildir.
mouviciel

1
Dizinizin nerede olduğunu, her aynanın o noktaya göreli olduğu, toplayıcının her bir aynayla göreli olduğu ve dizinin nasıl yönlendirildiğini (azimut-bilge) bildiğiniz sürece, yapmak istediğiniz her şey hesaplanabilir. Bu bir makine öğrenme sorunu değil, hepsi geometri.
Blrfl

1
Yeni düzenlemenizi görüyorum. Bana öyle geliyor ki, probleminiz ayna koordinatlarını azimut ve yükselmeye çevirmek için kaynıyor. Bir dizi veya makine öğrenimi gerektirmez; muhtemelen bazı sabitlerle birkaç basit matematik denklemi vardır.
Robert Harvey

Yanıtlar:


15

Güneş yolları tahmin edilebilir , bu yüzden günün saatini, yılın gününü, enlem ve boylamı biliyorsanız, aynayı zaten çok yakın hizalayabileceğinizi hayal ediyorum.

Bunun için makine öğrenmesine ihtiyacınız yok.

Hangi yöne yönlendirildiklerini bilmeyen aynalarınız varsa (yani konumlarını yükseklik ve azimut ölçümleriyle ilişkilendiremezsiniz), gökyüzünü aydınlık olana kadar süpüren geniş bir görüş alanına sahip bir kamera kullanmayı deneyebilirsiniz fotoğraf makinesinin görünümünde beyaz nokta görünüyor. Ardından, parlak nokta kamera görünümünde ortalanana kadar aynayı o noktaya doğru hareket ettirebilirsiniz (bazı basit x / y hesaplamaları kullanarak). Kameraya karanlık bir filtre koyun, böylece tek gördüğü güneş olur.

Ancak, soru devletler bunu yapmak aynalar sivri nerede olduğunu biliyorum. Aynalarda size nasıl konumlandıklarını söyleyen sensörleriniz varsa, bu konum ölçümlerini gerçek azimut ve yükseklik sayılarıyla ilişkilendirme yeteneğine sahipsiniz.

Bulutlu günleri tek bir güneş pili veya aynada herhangi bir ısı olmaması ile tespit etmenin oldukça basit olacağını hayal ediyorum.


5
Yine de montaj kusurlarını dikkate almanız gerekir, ancak bu makine öğrenimini içermeyen bir kalibrasyon problemidir. Kontrol mühendisliği daha ilgili bir teorik çerçeve olacaktır.
mouviciel

2
@FrustratedWithFormsDesigner: Aynalarınız vagonlara monte edilmişse, sanırım. Fabrika içi GPS ve seviye belirleme sensörleri bu sorunu çözecektir.
Robert Harvey

3
@RobertHarvey: Ama bu kadar eğlenceli olur mu? ;)
FrustratedWithFormsDesigner

7
Yüzlerce aynaya sahip olmanız çok önemli değil, her bir aynanın davranışı komşularına bağlı değil. Bu sorunu kasıtlı olarak olduğundan daha zorlaştırıyorsunuz.
whatsisname

4
@ Buttons840: Konum sensörlerinizin aynanın gerçek konumuna göre ne anlama geldiğini ilişkilendirmenin bir yolu yoksa, makine öğrenimi onları konumlandırmanıza yardımcı olmaz. Bu veriler olmadan yaptığınız her şey aslında bir ayyaş yürüyüşü olacaktır. Kaba kalibrasyon tasarımın bir faktörü olmalıdır. İnce kalibrasyon, her aynayı güneşe karşı raster ederek ve kollektörünüzün çıkışını izleyerek yapılabilir. Whatsisname kesinlikle doğru: bunu olması gerekenden daha zor hale getiriyorsunuz.
Blrfl

9

Bu tür bir uygulama için, bir güneş kolektörünü göstermeye çalışan bir ayna alanı için, güneşin nerede olması gerektiğini, aynaların nerede olması gerektiğini, hangi açıda olması gerektiğini ve nasıl konumlandırılacağını çok fazla hesaplayabilirsiniz. koleksiyoncunuza yöneliyorlar. Biliyorsun, matematiksel bir model. Yakýn olacak. Muhtemelen yeterince yakın.

Aynaların kalibre edilmesine gelince, modelinizdeki kusurlar ve sapmalarla başa çıkmak için: Her
seferinde bir ayna sallayın. Çıktınız artarsa, değişikliği koruyun. Değişikliği olarak saklayın calOffset. Tamam deyin.

Harvey ile hemfikirim, makine öğrenimi bunun için aşırıya kaçıyor.

Ama hey, uzun bir şekerlemeden sonra uyanıp güneşi bulabilen mobil otonom bir sistem istediğinizi varsayalım . Ve zaman kazanmak için 0,05 dolarlık bir pil göze alamayız. Ve hareketli olduğu için, güneş tanrısal olabilir - hangi yönde olduğunu bilir. Ve bütün insanlar öldü. Ve robotik güneş pili derebeylerimizin ciddi bir kanadı vardı ve dünyanın hangi bölgesinde uyandıklarını bilmiyorlar. Ve GPS'leri sinyal alamıyor. Ve arkadaşlarının hiçbiri ne olduğunu bilmiyor.

1) Alanı bir ayna ile süpürün ve güç çıkışındaki ani artışlara dikkat edin. Bulut ya da başka bir şey olmadığından emin olmak için bunu birkaç kez tekrarlayın.
2) Artık güneşin konumunu biliyorsunuz. Git git.
3) Bir saat bekleyin.
4) Tüm alanı bir ayna ile tekrar süpürün. Dikenler. Bulutlar. Yada yada.
5) Artık güneşin yolunu biliyorsunuz. Servo sınırınıza ulaşıncaya kadar veya güç kesilene kadar izleyin
6) 180 derece döndürün ve 12 saat bekleyin.
7) Süpürme işlemini yapın.
8) Güneşin ayar konumu ve yükselen konumu arasındaki farktan, artık enlem / mevsiminizi kabaca biliyorsunuz *. (En azından ekvatordan ofsetiniz. Hala güneyden kuzeyi bilmiyorum) Buna göre ayarlamak.
9) Bir gün bekleyin. Gündoğumu konumundaki farkı not edin. Artık gündönümünde hangi tarafta olduğunuzu biliyorsunuz.
10) 6 aya kadar yukarı doğru bekleyin. Güneşin doğuş yönünün doruk noktasına dikkat edin. Artık kış veya yaz mevsiminde olup olmadığınızı biliyorsunuz ve bir sonraki EON için güneşin yolunu güvenle bulabiliyorsunuz.

"Artık biliyorsun" ile atılan adımlardan herhangi biri net değilse, cevap MATH (ve Dünya'nın yörünge mekaniği **). Bay Math senin arkadaşın. Sana bir şeyler söyleyebilir. Ve eşitlik aksiyomu ya da böyle bir şey yanlış olmadığı sürece, ona bile güvenebilirsiniz.

* Teklif Kuzey Kutbu veya Antarktik çevrelerde geçerli değildir.
** Teklif ayrıca Mars, Venus, Titan, Io ve diğer belirli konumlar için geçerli değildir.


Belirtildiği gibi, gerçek dünyadaki aynaların konumlarını bilmediğim varsayımı altında ilerliyorum ve bazı matematikte "yeterince yakın" alabileceğim iddiasının bir dayanağı yok.
Buttons840

Aynaların gerçek dünyadaki konumlarını bilmediğinizi söylediğinizde, bununla tam olarak ne demek istiyorsunuz? Telefonumda, size enlem ve boylam koordinatlarını verebilecek, birkaç metre içinde doğru bir GPS var.
Robert Harvey

2
GPS'in güneş patlamaları veya bir Kessler bombası tarafından çalışmadığını varsayalım.
Dünya Mühendisi

@WorldEngineer - Makine öğrenimi dışında her şeyin çalışmadığını varsayarsak, makine öğrenimi çözüm olur mu?
mouviciel

@mouviciel hayır, bazı servolar veya sensörler olmadan, makine öğrenmesinin öğrenecek hiçbir şeyi ve tüm bu düşünmeden sonra yapacak bir şeyi yoktur.
Philip

2

Sorunuz, bir grup cihazın otomatik kalibrasyonu kadar makine öğrenimi ile ilgili görünmüyor. Konum sensörleri olan bir cihazınız (ayna) var ve cihazı nereye yönlendirmek istediğinizi biliyorsunuz, ancak sensör çıkışının gerçek dünyayla nasıl bir ilişkisi olduğunu bilmiyorsunuz. Bu yüzden gerçekten sadece cihazı kalibre etmeniz gerekiyor - sensör okumalarının gerçek konumla nasıl ilişkili olduğunu belirleyebilmeniz için doğru konumu bulun. Kalibre edildikten sonra, cihazı konumlandırmak için sensörlere güvenebileceğiniz gibi geliyor.

Tüm bunlar göz önüne alındığında, muhtemelen her bir cihazı ayrı ayrı kalibre etmelisiniz . Bir tür arama algoritması kullanarak bunu otomatik olarak yapabilirsiniz. Gilbert Le Blanc işe ​​yarayacak birini anlatıyor. Başka bir yol, sensör verilerinin doğru olduğunu varsaymak ve aynayı yaklaşık olarak doğru konuma yönlendirmek için kullanmaktır; sonra aynayı hedefe çarpana kadar dışa doğru dönen bir desende hareket ettirin.

Tüm aynaları bir kerede ayarlamak istiyorsanız , genetik bir algoritma şu şekilde çağrılabilir:

  • Her ayna için rastgele bir ayar seçin ve bunları bir dizide saklayın. Birkaç ayna alanı yapılandırmanız olması için bu işlemi tekrarlayın.
  • Ardından, ayna alanı konfigürasyonlarını çalıştırın, her biri için tüm aynaları ayarlayın ve sonra üretilen ısıyı ölçün.
  • En az ısıyı üreten ayna alanı yapılandırmalarını listeden kaldırın.
  • Listede kalan yapılandırmaların bölümlerini yeniden birleştirerek yeni yapılandırmalar oluşturun.
  • Konfigürasyonlar tek bir çözüme dönüşene veya her yinelemedeki iyileşme bir eşiğin altına düşene kadar tekrarlayın (yani "yeterince iyi" ye ulaştınız).

Ayrıca, yukarıdaki yöntemi denerseniz, optimize etmeye çalıştığınız şeyin konum değil ayna sensörü kalibrasyonu olduğunu belirtmeliyim. Her adım biraz zaman alacaktır, bu nedenle süreç devam ederken güneşin hareketini hesaba katmanız gerekir. Her ayna için "ayar" konum değil, sensör hatasıdır, yani sensör okuması ile ideal okuma arasındaki farktır.


1

Bunu yazmaktan neredeyse nefret ediyorum.

  • Bir güneş hücresinden güneşin parlayıp parlamadığını belirleyin.
  • Güneş parlıyorsa, ayna (0, 0) ile başlayın.
  • Aynayı x ekseninde 0 konumuna çevirin.
  • Aynayı tüm Y ekseni boyunca döndürün. Her adımda, güneş kolektörünüzün ısı çıkışının artıp artmadığını ölçün. Öyleyse durun ve dizideki bir sonraki aynaya geçin.
  • Aynayı X ekseni boyunca bir adım döndürün. Önceki adımı tekrarlayın.
  • Ayna, ısı çıkışını arttırmadan tüm x ve y ekseni boyunca döndürülmüşse, aynayı bakım gerektiriyor olarak işaretleyin ve x = 0 ve y = 0'a geçin.
  • Yansıtma dizisindeki tüm aynalarla tüm adımları tekrarlayın.
  • Bir saat bekleyin ve tüm adımları tekrarlayın.

Basit, ancak bu yaklaşım ayna döndürme enerjiye mal olduğunu varsayarak, optimal olmaktan uzak .....
mikera

Bu yayına layık değil.
İş

3
@ İş Ah Özür dilerim, SE.Programmers'ın tezinize yardımcı olmasını istediniz mi? Ödev sorununun bir tür problem olduğunu biliyordum, ama şimdi işlerini yapmamızı isteyen mezun öğrencilerimiz var mı?
Philip

@mikera: Doğru, bu kaba bir kuvvet çözümü. Ancak, açıklama düzenlemelerinden biri "Ek olarak, iki ayna (4, 42) konumunda olabilir, ancak gerçek dünyada zıt yönlere işaret ediyor olabilir" diye bir kısayol görmüyorum.
Gilbert Le Blanc

@Gilbert - önceki ölçümlerden bilgileri kullanmanız gerekir. Örneğin, kısmi degrade tahmini elde etmek için iki ölçüm yeterlidir. Ardından, optimum konumu bulmak için degrade iniş gibi yöntemleri kullanmaya başlayabilirsiniz. Kaba kuvvetten çok daha iyi, özellikle bu durumda optimizasyon probleminin dışbükey olması muhtemeldir!
mikera
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.