
-----------------------------------
romh
12 Iun 2023 20:27


-----------------------------------
Multumesc pentru sugestii

Da, este interesant ca exista ceva similar si ma bucur ca se poate calibra cu o singura stea, nu eram foarte sigur daca teoretic asta este posibil. Acum ma gandesc ca poate doua stele ar fi mai bine ca sa folosesti metrica corecta (in functie de puterea de marire) insa imi dau de gandit erorile despre care vorbeste el atunci cand acoperi o zona mare de cer.

Ce se intampla cu astrohopper... Este o aplicatie web dupa cum vedeti. Browserele au evoluat foarte mult si mai nou au api-uri pentru interactiunea cu diverse functionalitati ale sistemului de operare. Si astfel devine un nivel intermediar intre logica aplicatiei si sistemul de operare.

In Astrohopper urmatorul obiect e actualizat periodic in functie de orientarea dispozitivului


{
    "lat": 55.7820879,
    "lon": 12.4883634,
    "compass_alpha": 352.90000000000003,
    "alpha": 352.90000000000003,
    "alpha_user_offset": 0,
    "alpha_gyro": 225.60000000000002,
    "alpha_diff": 0,
    "beta": 0.6000000000000001,
    "gamma": 0.5,
    "time": 1686588853127
}


Locatia (lat, long) este preluata de la managerul locatii (wifi/gsm/gps)

Alfa, beta, gamma ar trebui sa fie niste unghiuri corespunzatoare la orientarea dispozitivului, calculat din magnetometru si accelerometru cred.

Cred ca foloseste unghiuri euler si matrici de rotatie dar nu am o idee clara. Si mai preia niste cod de la Greg Miller de la https://celestialprogramming.com/


Am inteles pana acum din ce am citit si recitit ca exista trei tehnici mari de orientare in spatiu. 

Unghiuri Euler
Matrici de Rotatie
Cuaternioni

Fiecare are un punct slab - unghiurile euler sunt susceptibile la gimbal lock
https://youtu.be/zc8b2Jo7mno?t=59

Matrcile de rotatii necesita putere de calcul dar evita gimbal lock. Si in codul sau,autorul foloseste matrici de rotatii de la exemplul asta https://www.w3.org/TR/2016/CR-orientation-event-20160818/#worked-example-2

Quaternionul este tot un vector dar are mai putine elemente ca o matrice si ar trebui sa rezolve problema puterii de calcul, care nu cred ca e o problem azi cand toti au telefoane puternice. Dar are si cuaternionul asta un punct slab si anume Quaternion Flip.
https://www.youtube.com/watch?v=_e1g_Xq_R6g


Puteti compara matricea cu 9 elemente de la exemplul de mai sus cu un cuaternion cu 4 elemente

Un exemplu de quaternion returnat de browser(AbsoluteOrientationSensor) intr-o aplicatie web care ruleaza pe telefon.


[
    0.0052436800151120285,
    0.0036308961824795534,
    -0.020861678309337647,
    0.9997620270799091
]


Mai multe intrebari decat raspunsuri. Revin cand mai aflu ceva relevant, dar as vrea sa plotez coordonatele direct pe ceea ce vad pe camera usb. Am vazut niste lucruri bine puse la punct in Astropy si ma gandesca ca ar putea fi combinat cu opencv pt acest lucru. Dar inca nu am incercat nimic.
