System transformacji współrzędnych

No i stało się, posiadam już naprawdę dobry skrypt wykonujący transformację współrzędnych równikowych równonocnych Ra (rektascensję) i Dec (deklinację), definiujących jednoznacznie położenie każdego stałego obiektu na sferze niebieskiej na „ziemskie” współrzędne horyzontalne Az (azymut) i Alt (wysokość nad horyzontem). Kosztowało mnie to wiele poszukiwań, a kiedy już znalazłem źródło informacji, poświęciłem około 1,5 miesiąca na pisanie programu i jego szlifowanie. W efekcie uzyskałem dokładność w granicach kilkudziesięciu sekund kątowych w porównaniu do miarodajnego darmowego oprogramowania Stellarium. Uważam, że w porównaniu z precyzją mojego napędu, wyliczenia te są aż za dokładne, a dla potrzeb ustawienia teleskopu „na cel” są w zupełności wystarczające.

transformacje - Wega2018.02.03, porównanie Ra i Dec oraz Az i Alt dla Wegi: Stellarium i mój skrypt [link]

Jak wygląda transformacja i jak ją rozumieć można zobaczyć na stronie internetowej, którą przygotowałem i wzbogaciłem o definicje i konkretny przykład: automatycznie odświeżające się co 1 sekundę wartości liczbowe na wszystkich kolejnych etapach transformacji:

astrovroobel.epizy.com

Niestety, zakładając tego bloga na serwerze  wordpress.com nie wziąłem pod uwagę, że może będę chciał stworzyć jakąś bazę danych w MySQL i napisać jedną ze stron np. w (prawie) czystym PHP. W podstawowej wersji serwis ten nie oferuje takiej opcji. Właśnie dlatego znalazłem niezły (i darmowy!) serwer, na którym posadziłem mój skrypt. Na jakiś czas musi to wystarczyć, może kiedyś wymyślę lepsze rozwiązanie.

A więc mój skrypt nie jest jakimś uniwersalnym kalkulatorem, do którego można wprowadzić dane o swoim położeniu, czasie itp. Zamiast tego, na sztywno wprowadzone są dane o mojej szerokości i długości geograficznej, a także zdefiniowana jest moja strefa czasowa i odpowiadający jej czas. Zrobiłem tak, ponieważ skrypt jest odzwierciedleniem MOJEGO (przyszłego) systemu sterowania MOIM teleskopem, który będzie wyposażony w odbiornik GPS, który z kolei poinformuje system o swoim położeniu i o dokładnym czasie w tym miejscu. Osoby zainteresowane wykorzystaniem udostępnionej tam wiedzy mogą sobie stworzyć własne skrypty na podstawie pokazanych wzorów lub też przetestować ich „jakość” wprowadzając moje dane początkowe do programu Stellarium.

W skrócie można powiedzieć, że skrypt dokonuje przeliczenia rektascensji i deklinacji właściwej dla początku epoki J2000.0 na bieżącą ich wartość uwzględniając przy tym efekt precesji na przestrzeni lat dzielących dzień 1 stycznia 2000 o godzinie 12.00 i czas bieżący oraz ruch własny obiektów astronomicznych w tym czasie, a następnie wykonuje transformację tychże współrzędnych na odpowiednie dla „ziemskiego” horyzontalnego układu współrzędnych na potrzeby sterowania napędem azymutalnego montażu teleskopu. Ufff, to buło  jedno zdanie…

W końcowym efekcie, oprócz wyliczenia aktualnego położenia obiektu na niebie względem „mojego ogrodu”, wyliczam z jednej strony kroki, jakie muszą wykonać silniki, aby utrzymać obiekt w polu widzenia okularu/kamery i ich kierunek, a z drugiej strony interwał, jaki dzieli poszczególne kroki, ponieważ to własnie obliczenie tegoż interwału oddzielającego poszczególne kroki pozwoli na podążanie za obiektem w obu osiach, zataczając teleskopem okrąg lub jego fragment.

Warto zaznaczyć, że źródłem danych dla MOJEGO systemu transformacji współrzędnych jest lekko zmodyfikowana „Tabela Wimmera” przeniesiona do bazy danych MySQL. Początkowo znalazło się tam kilka większych obiektów, jak Galaktyka Andromedy, czy Wielka Mgławica w Orionie lub Plejady, które są ujęte w oryginalnej „Tabeli Wimmera”, ale musi się tam znaleźć także kilka większych i znanych gwiazd, jak Gwiazda Polarna, Wega, Kapella, Syriusz, Betelgeza, czy Rigel. Gwiazda Polarna ma tu kluczowe znaczenie, gdyż podejrzewam, ze będzie pierwszą kalibracyjną gwiazdą systemu: jet ona najbardziej „nieruchoma” na nocnym niebie, a więc najłatwiej od niej zacząć. Kiedy wyceluję bezstresowo teleskop na tą gwiazdę, system poinformuje siebie samego, jaka jest jej pozycja względem Ziemi, a zatem teleskop będzie wiedział, gdzie dokładnie jest Północ i na jaką wysokość nad horyzontem jest wycelowany. A dalej, podobnie jak w komercyjnym systemie GOTO, wybiorę z listy (z bazy) jedną z gwiazd, na którą teleskop wyceluje się samodzielnie (korzystając z moich obliczeń) i sprawdzę, czy obiekt jest w centrum pola widzenia. Jeśli nie – dokonam ręcznej korekty, co spowoduje, że system uwzględni tą poprawkę w dalszych obliczeniach. Kolejna gwiazda i samodzielne ustawienie się „na nią” – kolejne sprawdzenie. Każdy krok powinien zmierzać do coraz bardziej precyzyjnego obliczenia pozycji. Nie powinienem zakładać większej ilości kroków kalibracji niż trzy.

Pierwszy etap planu jest własnie zamknięty: ogarnięcie wiedzy i wzorów oraz zaadaptowanie ich na potrzeby języka programowania skryptu owocujące w miarę dokładnymi danymi wynikowymi.

Etap drugi to sprzęgnięcie skryptu osadzonego na mikrokomputerze Raspberry Pi z silnikami i doprowadzenie do samodzielnego naprowadzania teleskopu na obiekt z bazy danych – do realizacji w najbliższym czasie.

Etap trzeci – prowadzenie teleskopu za obiektem, czyli tracking. Może w ogóle nie będzie potrzeby jego realizacji, ponieważ przygotowuję się do wykonania platformy paralaktycznej, jako najtańszego, a zarazem bardzo dokładnego systemu prowadzenia teleskopu z precyzją umożliwiającą oddanie się astrofotografii.

Reklamy