Has anyone seen my satellite?

Sultans of Ping FC - Where me Jumper

As someone who is prone to losing jumpers and can never remember where i put my keys it might seem a bit ambitious to try and find a satellite, but I'm going to try.

Here's the plan, in fact here are both the plans.  in fact here are all the plans mostly.  When I first thought of this project, after coming up with this idea of making Prospero X3 tweet my next thought was is it actually possible?  The answer to after a quick search on the internet  was yes. Using  n2yo.com or other similar sites its easy to find the position of pretty much any satellite that is in orbit around the earth.

For a few minutes my plan was to use that or a similar website, scrape the data from it and feed that to a twitter bot. I couldn't  write a twitter bot yet but twitter bots exist so writing one probably wasn't going to be that hard.  All in all I figured that scraping the data and writing the twitter bot could be done in a weekend or two. i could put my feet up, have a cup of coffee and cake, look back  at  the work i'd done then move on to the next thing.

Then it hit me. Prospero X3 was as far as I was aware a dead satellite, it wasn't transmitting it position back continuously,  the display was being updated  in real time so it wasn't done through observation.  It must be possible to work out where satellites are in space,that is cool and  this is when I started falling down the rabbit hole.

So far I've discovered Two Line Elements, Kepler's Laws of planetary motion, SGP4, Lagrange points and even how Astronauts go to the toilet.  It started off with buying Dr Lucy Rodgers book Its Only Rocket Science   and when I wanted to get a bit more technical Fundamentals of Astrodynamics and Applications  .

I have realised a couple of things. The work has already been done to produce the algorithms needed to work out where  satellites are, its taken may years of correcting and checking these, I was never going to be able  do this again from scratch and there was no need. , but I did want to do something more than just take the data and use it, but wasn't sure what.

The twitter bot in place, just waiting to be fed some data to tweet.  I can find the position of the satellite at any given time using the Python Implementation of the SGP4 Algorithm. The satellite position is given as a Vector  so doesn't make much sense in that form, the next job is to turn that into a Latitude and Longitude position on the surface Earth. Have been working on that today and its coming along nicely,lots of Greek letters to remember and it turns out there are multiple Latitudes .  The Maths isn't horrendously complicated, there are new symbols and words to learn but its mainly Vectors, Matrices and geometry, nothing too scary.  I Keep wanting to say its not rocket Science but actually it is which is pretty cool.

So feeding the twitter bot data from the python SGP4 script is easy and I could finish the project at that but I have decided that it would be interesting to have the entire project in nodejs which the twitter bot is written in.   Writing the  SGP4 Algorithm in nodejs  is the 'more' thing i mentioned earlier.

I am currently working through the Python Script nodejs'ing it .  I'm not doing a straight conversion, it is being written in the asynchronous nodejs style using callbacks rather than return of functions.  I'm not sure if this is the best way to do it but I am learning, when its finished that is when i'll be in a place to judge.  I'm also changing the variable names from there one and two letters into much more meaningful ones.  Again not sure if  that is the thing to do but its my project and it pains me to use single letter variable names so changing them.

Having Prospero X3 Tweeting is the top priority so will have it up and running as soon as possible then the nodejs  project will be after that. Have also decided to write blog posts going into a bit more detail about what i am  doing.  They might be a bit random jumping from the nodejs stuff to the space science stuff.  This might mean writing things that are wrong, quite often I do stuff that is wrong and have to go back and re-do them but decided it would be more interesting  than just saying i did stuff and  everything is awesome.

That seems a good place to finish on


Comments are closed.