Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generalize ground_station_visible to allow for arbitrary azimuth/elevation pointing #48

Open
mihalybaci opened this issue Dec 31, 2020 · 8 comments

Comments

@mihalybaci
Copy link

mihalybaci commented Dec 31, 2020

I have a use case for calculating ground station accesses for satellites, however, the ground stations I need to use employ off-zenith pointings. It would be helpful if ground_station_accesses and list_ground_station_accesses were generalized for arbitrary azimuth/elevation pointing of a ground station.

If it helps, I found this document that discusses arbitary access. However, it is limited to a) circular orbits, b) that are not tied to Earth's rotation (geo-synchronous), and c) it does not calculate detailed timing, but probability distributions for being inside a certain viewing window.

@mihalybaci mihalybaci changed the title Generalize ground_station_accesses to allow for arbitrary azimuth/elevation pointing Generalize ground_station_visible to allow for arbitrary azimuth/elevation pointing Mar 18, 2021
@mihalybaci
Copy link
Author

I took another look at this and I think I have a fairly simple solution to generalize the ground_station_visible function. Unless my vector math is off, which is very well could be, I think its just necessary to rotate the radar site vector by the pointing angle (as measured from zenith). I did a 2D example as Pluto notebook here, and it should generalize easily to 3D I think. But I don't know how this would work within the other visibility functions.

@ronisbr
Copy link
Member

ronisbr commented Mar 18, 2021

Hi @mihalybaci,

Sorry for the delay. I am doing a HUGE rewrite in SatelliteToolbox.jl. This is a very old project (dating back to 2013) and I understand now much better the Julia language. Hence, some terrible choices I made back then are giving me headaches :D

As soon as I clean everything, I will take a look in this feature, I promise!

@mihalybaci
Copy link
Author

No worries! That will give me time to actually confirm that it works. And if this feature is too niche then don't worry about adding it. I dont know if anyone but me will need it

@ronisbr
Copy link
Member

ronisbr commented Mar 18, 2021

No, it is no niche! It is a very useful one!

@helgee
Copy link
Member

helgee commented Mar 18, 2021

I am doing a HUGE rewrite in SatelliteToolbox.jl.

Exciting 😎 Let me know if you need/want input. I am getting back in the game...

My open-source output suffered quite a bit in the past year. For good reasons (I became a father in January) and for bad reasons (two job changes in 2020).

@ronisbr
Copy link
Member

ronisbr commented Mar 19, 2021

Hi @helgee

For good reasons (I became a father in January)

First of all, congratulations!!

Let me know if you need/want input. I am getting back in the game...

Yes, probably I need! Now that I have more experience on how Julia works, I am trying to:

  1. Stabilize the API related with the orbit representations (keplerian elements and state vectors).
  2. Finish the IAU-2006 theory by adding the Equinox-based approach.
  3. Stabilize the propagators API.
  4. Implement a high precision numerical propagator.

@mihalybaci
Copy link
Author

Out of curiosity, what algorithms are out there for high precision propagation?

@ronisbr
Copy link
Member

ronisbr commented Mar 28, 2021

AFAIK there is some algorithms written in MATLAB but without testing or any public verification. Basically, we need to compute the acceleration at each pointing using all the information we can get (high order Earth gravity computation, gravity from other celestial body, relativistic terms, etc.) and then use a very precise differential equation solver.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants