====== Robotický dalekohled ROBOZOR01 ======
ROBOZOR01 je koncept robotického dalekohledu ze stavebnice MLAB ovládaného softwarem [[https://github.com/Robozor-network/AROM|Arom]] (Autonomous robotic observatory manager). Většina jiných systémů pro robotické dalekohledy je buď komerční a velmi drahá, složitá na zprovoznění, špatně fungující nebo plně nerobotická. Z toho také vyplývají požadavky na tuto konstrukci.
* Minimální náročnost na údržbu, autodiagnostika
* Nezávislé na ovládacím počítači
* Automatické pozorování
* Automatická kalibrace všech zařízení
* Cenová dostupnost
* Snadné ovládání
* Společné pozorování více dalekohledů
====== Zařízení robotického dalekohledu ======
Robotický dalekohled by měl mít následující části:
* **Řídící počítač:** Jako nejlepší řešení se jeví [[cs:odroid-c1|Odroid]]. V závislosti na SW může být použito více [[cs:odroid-c1|Odroidů]].
* **GO-TO montáž:** Existuje velká spousta montáží s různými komunikačními protokoly, většinou je to protokol [[cs:lx200obfuscator|LX200]] fungující přes sériový port. Dále je možnost montáž vytisknout na 3D tiskárně.
* **Hlavní dalekohled:** primární dalekohled určený pro pozorování a focení. Je na něm připojena hlavní kamera s [[cs:tefo|fokuserem]].
* **Hlavní kamera:** je možné použít kamery určené pro astronomii jejichž výhoda je, že mají například chlazení peltierovým článkem, však jsou dražší. Dále je možné použít běžné fotoaparáty. Jsou lepší tzv. systémové fotoaparáty, které nemají zrcátko. Nebo vlastní řešení [[cs:opsa|OPSA]].
* **Zastřešení:** kupole, posuvná střecha, ...
* **Vypínatelný zdroj proudu:** některá zařízení je někdy restartovat a vždy softwarově to nejde, tak je je třeba odpojit od napájení. Tokevéto zásuvky navíc můžou sloužit jako SW vypínač světel.
* **Fokuser:** ve stavebnici existuje řešení [[cs:tefo|TEFO]]. Pro přesnější zaostření může fokuser využívat teplotu k spočítání tepelné roztažnosti výtahu.
* **Meteostanice:** Může být použita například [[cs:aws|]] v kombinaci s [[cs:mrakomer4|Mrakoměrem]].
* **All-sky kamera:** Ke sledování stavu noční oblohy. Řešením by zase bylo [[cs:opsa|]]. Zároveň může fungovat jako kamera [[cs:vmds|]].
* **Dohledové kamery:** Kamery uvnitř kopule při manuálním ovládání.
* **Otevíratelná zátka:** Víčko na koncích optických systémů. Víčko je vhodné kvůli ochraně před prachem, ale také před sluncem popřípadě pro snímání dark-framů. Řešení v MLABu je [[cs:camcap|]].
* **Pointační dalekohled:** Menší dalekohled pro doladění chyby montáže a přesnou pointaci (namíření dalekohledu).
* **Pointační kamera:** Kamera na pointačním dalekohledu, podobné jako hlavní kamera popsaná výše.
* **Karusel:** Karusel neboli filtrové kolo je zařízení pro změnu optického filtru bez zásahu člověka. Firma SBIG nabízí filtrové karusely ovládané přes rozhraní [[cs:i2c|I2C]].
* **Rotátor:** rotátor je zařízení k otáčení zorného pole kamery. Rotátor je důležitý u dalekohledů s azimutální montáží, kde při dlouhé expozici se otáží zorné pole.
* **Digitální ukazovátko:** Toto zařízení slouží pro demonstraci nebeských objektů pro návštěvníky hvězdáren. Zařízení se skládá ze dvou krokových motorků (malé montáže) a zeleného [[cs:ldd|laserového]] ukazovátka. Návštěvník si vybere hvězdu a laserový paprsek tímto směrem zasvítí. Celé to může fungovat jako hra.
* **Další:** [[cs:luxmetrsd|Luxmetr]], FlatField kalibracni deska, [[cs:gps|GPS]]...
====== Hardware ======
===== Blokové schéma systému =====
{{ :cs:designs:robots:robozor01_control.png?600 |}}
==== Použité moduly ====
* [[cs:usbi2c]]
* [[cs:i2chub]]
* [[cs:inputuni]]
* [[cs:triacsharp]]
*
===== Montáž =====
Montáže existují buď paralaktické (rovníkové, RA-DEC) nebo azimutální (ALT-AZ). Pro astronomii se více hodí montáž rovníková, protože u ní nedochází ke stáčení obrazu. V případě azimutální montáže je potřebný rotátor zorného pole. Další výhoda rovníkových montáží je, že ke sledování hvězd ji stačí vždy stejná rychlost na jedné ose. Vyžaduje však kvalitní ustavení (sesouosení montáže s osou zemské rotace).
==== Tisknutelná montáž ====
Existuje možnost vytvoření modelu montáže použitelného pro [[cs:designs:3dprint|3D tisk]].
==== MLAB montáž ====
Montáž je detailněji popsána na vlastní stránce [[cs:mount|MLAB montáž]]
====== Software ======
===== Režimy pozorování =====
AROM by měl podporovat několik pozorovacích režimů.
* **Manuální režim** Tento režim je určen pro pozorování samostatně stojících dalekohledů a dalekohledů vyžadujících přítomnost obsluhy. Například pro otevření střechy. Systém si nebude hlídat žádná bezpečnostní pravidla jako počasí, mraky a další podmínky. Uživatel si pouze nastaví objekt (souřadnice) a dalekohled si tuto pozici bude držet. Automatická kalibrace montáže a podobné věci by měli i v tomto režimu fungovat. Pořizování snímků může být podle pozorovacích skriptů nebo uživatel může ručně ovládat kamery. Taktéž je možné snímat externím softwarem.
* **Automatický režim** Je určen pro dalekohledy umístěné pod digitálně ovládatelnou střechou a vybavené [[cs:aws|metestanicí]], [[cs:mrakomer4|mrakoměrem]] a dalším příslušenstvím pro bezobslužný provoz. Dalekohled bude pozorovat podle přednastavených pozorovacích plánů.
* **Poloautomatický režim** je obdoba automatického režimu určen pro volně stojící dalekohledy s pozorovacím plánem. Systém vyžaduje obsluhu hlídající stav, především, počasí. Pořizování snímků je také řízené pozorovacím skriptem.
===== Softwarové nástroje =====
==== Pozorovací plán ====
Pozorovací plán slouží jako zdroj cílů při autonomním ovládání. V pozorovacím plánu musí být jednotlivé cíle (odkaz do databáze cílů) a k nim přiřazeny pozorovací skripty. Každý cíl bude mít určenou důležitost a podmínky kdy pozorovat (výška, seznam časů, ...). Systém si z tohoto seznamu bude vybírat podle nastavených pravidel. Pozorovací plán se bude moci dynamicky upravovat na základě cizích pozorování
Plánovač by měl být spuštěn přímo na řídícím [[cs:odroid-c1|Odroidu]] u dalekohledu a ne na ovládacím PC jako je tomu u softwaru Indi.
==== Pozorovací skript ====
Pozorovací skript slouží k určení postupu a výběru operací při pozorování. Je v něm definována délka expozic, výběr kamery, použití astrometrie, guidingu, výběr fotometrických filtrů a dalších informací.
Může obsahovat algoritmy například pro tvorbu mozaik, HDR obrázků a dalších.
==== Post-processing ====
Počítače většinou bývají zapnuté i mimo pozorování. Tento výkon a čas lze věnovat například kalibraci naměřených snímků, nahrávání dat na zálohovací server a dalším činnostem...
==== Astrometrie ====
Pro astrometrii je vhodné použít existující software [[http://astrometry.net/|astrometry.net]]. Tento software umí velmi rychle spočítat polohu získaného obrázku. [[http://astrometry.net/|Astrometry.net]] může být nainstalován offline na jakémkoliv počítači (i v síti). Lze použít jeho online variantu, ale zde je omezen výkon. Při správném nastavení pak se snímek počítá třeba 30s místo 1s.
==== Limity pohybu ====
Limity pohybu a zorného pole slouží k zakázání natočení dalekohledu do určitých poloh buď pro dalekohled nebezpečných (stěna pozorovatelny) nebo nevhodný (stromy). Požadavek o pohyb to tohoto prostoru bude zamítnut.
=== Definice ===
Limity pohybu budou definovány SVG obrázkem. Příklad obrázku je na [[https://github.com/Robozor-network/AROM/blob/master/cfg/ZVPP_limit.svg|GitHubu]]. Obrázek musí mít rozměry 360x180px. Šířka obrázku v px odpovídá azimutu. Výška představuje výšku nad obzorem ve stupních (horizont je uprostřed - 90. px.) V obrázku můžou být dvě cesty, které jsou pojmenované ''view_limit'' a ''mechanical_limit''. Cesty musí být ve skupině ''data''. První cesta definuje omezení výhledu (stromy, vzdálené domy, ...). Druhá určuje zakázaná území, kde hrozí mechanické zničení dalekohledu (náraz do domečku, ...). Arom podporuje i záporné horizonty.
=== Meridian flip ===
Taktéž systém musí řešit tzv. meridian flip, tedy přetočení dalekohledu okolo RA osy při přiblížení k meridiánu (zdánlivý poledník na nebeské sféře). U určitých montáží by mohlo dojít k naražení dalekohledu do sloupku.
==== Aligment ====
Aligment (zarovnání) slouží pro určení natočení dalekohledu na nebeské sféře. Zarovnání probíhá tak, že uživatel ručně přejede na tři určité body a software si pak spočítá polohu ustavení dalekohledu.
V případě funkční astrometrie by tahle funkce mohla být plně automatická a na více bodů najednou. Tím by se vytvořila mapa průhybů montáže.
==== Guiding ====
Guiding (pointace) slouží k dorovnání všech pohybových chyb montáže v obou osách. Guiding většinou využívá pointační dalekohled s pointační kamerou. Kamera fotí krátké snímky a z nich počítá relativní změny polohy hvězdy. Montáž pak tyto odchylky dorovná.
Některé montáže mají [[http://www.store.shoestringastronomy.com/guide_port_cables.pdf | pointační vstup]] a často se připojují přímo ke kamerám, které disponují stejným výstupem. Signál do montáže je i tak počítán v připojeném počítači.
==== PEC ====
PEC (periodic error correction) je metoda zmenšení periodické chyby montáže, kdy si dalekohled vytvoří rychlostní křivku v závislosti na pootočení ozubených kol. Tu pak eliminuje zrychlením nebo zpomalením RA motoru podle změřené PEC křivky.
==== Získávání kalibračních snímků ====
Proces získávání kalibračních snímku funguje tak, že snímky flatfield software dělá vůči světlé obloze. Aby zde nedošlo ke zkažení snímku nějakým statickým jevem jako jsou mraky, dalekohled by se měl pri pořizování těchto snimku hýbat v obou osách. Snímky darkframe je třeba dělat při stejných podmínkách (teplotních) jako probíhá pozorování.
===== Konfigurace =====
Konfigurace softwaru bude na základě konfiguračního souboru ve formátu JSON. V konfiguračním souboru musí být definováno každé používané zařízení. Definovaná zařízení můžou být odpojena a bude je možné připojit v průběhu fungování AROMu. Nebude však možné připojit zařízení, které v konfiguračním souboru není zapsané. Tento přístup umožní používání více shodných zařízení zapojených do jedné sítě (například několik shodných dohledových kamer, ...). Soubor také bude definovat závislosti všech zařízení. Například bude určovat který rotátor je připojený na jakou kameru a který dalekohled.
===== Uživatelské rozhraní =====
Celý systém by měl jí ovládat několika způsoby tak, aby to bylo co nejvíce multiplatformní a uživatelsky nejpřívětivější. Aby systém nabídl každému uživateli to, co potřebuje.
==== Webové rozhraní ====
Webové rozhraní bude zobrazovat základní informace o stavu systému jako poloha dalekohledu, kupole, počet nasnímaných snímků, stav počasí, pozorovací plán, a další. Mohl by nabízet základní rozhraní pro ovládání dalekohledu například výběrem z databáze objektů. Webová stránka by měla nabízet určitá veřejná data a některá přístupná po přihlášení.
==== Curses gui ====
Gui v terminálu má nespornou výhodu v tom, že je velmi nenáročné na datový tok, snadno zabezpečitelné, stále uživatelsky přívětivé. Takovýto způsob je pěkně použit v softwaru [[http://rts2.org|RTS2]].
==== Ekos - Kstars ====
Ekos koncový software pro indiserver. Ekos nabízí prostředí pro ovládání dalekohledů z počítačového planetária KStars. Jde o uživatelsky velmi přívětivou formu. Kstars může obsahovat různé hvězdné katalogy podle maximální hvězdné velikosti. Ekos umožňuje tvorbu pozorovacích plánů a pozorovacích skriptů. Mohl by tedy vzniknout konektor mezi Arom a Ekos.
==== Mobilní aplikace ====
Pro snadné ovládání z mobilu/tabletu. Mohlo by být nahrazeno webovým rozhraním HTML5 a responzivním designem.
==== Joystick ====
Joystick (tlačítka) je způsob ovládání dalekohledu vhodný při vizuálním pozorování.
==== Display ====
oeoee
Jednoduchý alfanumerický nebo grafický display s červeným podsvícení pro zobrazování základních informací o dalekohledu (poloha, pokrok v pozorovacím plánu, počasí, ..) a chybových hláškách. Data by měla přeblikávat, aby u displeje nebyly žádná tlačítka.
===== Ovladače =====
=== Ascom ===
K většině komerčních zařízení jsou k dispozici ovladače otevřeného standartu [[http://ascom-standards.org/|ASCOM]] přesto zdrojové kódy knihoven nejsou k dispozici. Jen přeložené .dll soubory. Pro tento standard existují knihovny do spousty programovacích jazyků včetně Python, C++, JavaScripts. Bohužel zatím tento projekt nepodporuje OS Linux.
==== Montáže ====
Většina montáží se dnes k počítači připojuje přes sériový port.
=== LX200 ===
Protokol LX200 je využíván především v montážích firmy Meade. Celý protokol je k dispozici na stránkách [[http://www.meade.com/support/TelescopeProtocol_2010-10.pdf|výrobce]]. Poslední verze protokolu je z roku 2010.
=== EQmod ===
Jedna z velmi populárních montáží mezi amatéry. Patří sem montáže firmy SkyWatcher/Synta (HEQ5, EQ6, HEQ6 NEQ6, ...). Zde protokol není open-source. Je potřeba ho vyčíst ze [[http://www.indilib.org/download/source/download/2-source/11-3rd-party-indi-drivers.html|zdrojových kódů]] Indi nebo provést reverzní inženýrství na protokol ASCOM (především pro nepodporované funkce v Indi).
Protokol komunikuje s montáží pomocí jednoduchých příkazů. Každý příkaz začíná znakem '':''. Za ním následuje typ zprávy, číslo osy (1 je RA/AZ, 2 je DEC/ALT) a předávaný parametr. Předávaný parametr je v šestnáctkové soustavě, však ne popořadě. Celý příkaz je ukončen znakem ''0x0d''. Odpověď v případě bezchybného průběhu začíná znakem '=' a končí zase znakem . Mezitím můžou být data s odpovědí. V případě neúspěchu nebo špatně odeslaného příkazu montáž odpoví '!'.
**Zprávy:**
F - Inicializace
e - Získání verze ovládací desky
a - Počet kroků na jednu otáčku
b - ## InquireTimerInterruptFreq
g - ## InquireHighSpeedRatio
s - Získání PEC vzdálenosti
L - Zastavení osy - okamžité
K - Zastavení osy
E - Nastavení pozice osy
j - Získání pozice osy
f - Získání statusu osy
O - Nastavit přepínač
G - Nastavit typ pohybu
H - Nastavit přírůstek GoTo cíle
M - ## SetBreakPointIncrement
U - Nastavit zrychlení ## SetBreakSteps
I - Nastavit periodu kroků (rychlost)
J - Zahájit pohyb
D - Získat periodu kroků (rychlost)
B - Aktivovat motor
P - Nastavit guidovacího rychlost pohybu
d - Deaktivovat
## neznám přesný význam
Montáž zná pouze natočení motoru, tzn. všechnu logiku (pohyb, aligment, PEC, ...) je potřeba zakomponovat do ovládacího softwaru. Tyto montáže mají standardní krokové motory, takže není problém ji nahradit řešením z MLAB [[cs:hbstep|budičem krokových motorů]].
Příkazy pro otočení jedné osy (2) může vypadat takto:
:G201 - Nastavit typ pohybu
:f2 - Získat stav osy
:I2060000 - SetStepPeriod
:H2EB087D - Nastavi přírůstek kroků
:M2800C00 - BreakPointIncrement
:J2 - Zahájit pohyb
Inicializace a získání základních parametrů montáže probíhá následujícím sledem příkazů:
:e1 - Získání verze elektroniky
:a1 - Počet kroků jedné otáčky na ose RA/AZ
:b1 - Získání TimerInterruptFreq na ose RA/AZ
:g1 - Získání HighSpeedRatio na ose RA/AZ
:a2 - Počet kroků jedné otáčky na ose DEC/ALT
:b2 - Získání TimerInterruptFreq na ose DEC/ALT
:g2 - Získání HighSpeedRatio na ose DEC/ALT
=== NexStar/SynScan ===
Tento protokol neovládá přímo montáž, ale ovládací "ručku". Do ovladače posílá příkazy a ovladač je překládá pro montáž. Pomocí tohoto protokolu nelze ukládat aligment přímo do montáže ale musí se to provést v sw ovladače. Popis komunikace je k dispozici na stránkách [[http://www.celestron.com/c3/images/files/downloads/1154108406_nexstarcommprot.pdf|Celestronu]].
Ovladače lze spustit v režimu ''PC Direct Mode'', kdy se posílaná data předávají přímo montáži a nijak je nemění. Pak se použije ovladač přímo pro danou montáž.
==== Kamery ====
=== v4l2 ===
=== Canon ===
Komunikační protokol pro kamery firmy Canon lze najit zde: [[http://www.graphics.cornell.edu/~westin/canon/ch03.html|www.graphics.cornell.edu/~westin/canon/ch03.htm]]
=== Mi (Moravian Instruments) ===
Kamery české firmy Moravské přístroje jsou velmi populární pokročilých amatérů astronomů. Většinou komunikují přes [[cs:usbhub|USB]]. Kamery série G2 a vyšší podporují připojení externího filtrového kola (stejné značky), které je ovládané přímo přes ovladač kamery. Kamery od stejné série (G2 -> ) obsahují chlazení senzoru peltierovým článkem.
=== Atik ===
Kamery firmy Atik mají oproti MI lepší poměr cena/výkon.
=== Sbig ===
Kamery firmy SBIG jsou zaměřeny na větší dalekohledy. Kamery obsahují mechanickou závěrku.
=== Fli ===
===== Koncept softwaru Arom =====
Jako základ ovládacího softwaru se jeví jako vhodná opensource knihovna [[cs:ros|ROS]]. Tyto knihovny nabízí spoustu funkcí pro komunikaci mezi jednotlivými moduly a jejich vzájemné řízení. Nabízí taktéž snadnou implementaci práce po síti. Jako jedna z hlavních výhod je, že se o celý software stará rozsáhlá komunita a stále se zde vyvíjí nové nástroje.
==== Metody pro ovládání ====
=== Domeček ===
=== Montáž ===
* vypnout/zapnout [[cs:clockmot|hodinový stroj]]
* rychlost hodinového stroje (hvězdy, Měsíc, Slunce, jiné)
* souřadnice
* synchronizovat
* aligment
* ...
=== Kamera ===
=== Rotátor ===
===== Instalace =====
Ovládací software Arom je voně dostupný ke stažení z [[https://github.com/Robozor-network/AROM|GitHubu]]. Pro spuštění softwaru musí být na počítači správně nainstalován systém [[cs:ros|ROS]]. Instalace je popsána na stránce [[cs:ros|ROS]].
====== Reference ======
[[http://www.skybadger.net/equipment/wireless.shtml|skybadger.net]] - projekt vzdáleně ovládané observatoře
====== Související konstrukce ======
* [[cs:aws]]
* [[cs:tefo]]
* [[cs:sku]]