You are browsing as a guest. Sign up (or log in) to start making projects!

Vanguard SSA (Space Situational Awareness)

  • 15 Devlogs
  • 19 Total hours

I'm building a satellite mission control and situational awareness platform in Rust. It takes in raw radio waves to decode live satellite telemetry, uses numerical integration to propagate spacecraft orbits with real-world physics, and runs real-time collision avoidance algorithms against the global space debris catalog

Open comments for this post

1h 17m 33s logged

Changelog

  • Implement caching for live satellite data and adjust debris scaling for better visualization (0e71088)

Okay, so remember in my last Devlog, i noted that Celestrak didn’t like me pinging their servers more than once every 2 hours, which crashes my RUST backend. So today i implemented Caching. Basically, How this works is, I check if there is a file named “active_satellites.txt”, if there is not, i go ahead and create one, and add all the satellite TLE data from Celestrak here. If there already was one, I check the MetaData for time modified, and if this is more than 2 hours, I ping Celestrak again, and Update the File with new data. If it is less than 2 hours tho, i go ahead and use the one i already HAD.

0
1
1
Open comments for this post

1h 52m 48s logged

Changelog

  • Changed from Static data to live data using celestrak Starlink APIs. (4a27c90)

Okay, so i HAVE been able to Change from Static data to live data using Celestrak Starlink APIs. Doing this inSo many problems like Chunking, Parsing, RUST async/await, and doing all of that over 500 3d models without frying my CPU.

Now, even tho i have been able to get it actually showing up, I need to deal with Celestrak Rate limiting, and Separating Debris from Satellites(Currently, One of the satellite is chosen to be the Satellite, and the rest are set to debris lol). I’ll fix all of this Tomorrow, FOR NOW I HAVE TO SLEEP(My girlfriend got Mad i was not sleeping enough lol 😭😂). Also fixing Scaling, as these should NOT be this big compared to the earth lol.

0
1
60
Open comments for this post

54m 37s logged

Changelog

  • Collision Detection now works on the frontend by changing to a red glow from a cyan glow. (81c0078)

Okay, Massive W on this devlog. So I made collision detection show up on the frontend rather than just the Backend by enhancing my RUST functions to return a True or False value when collision is detected. I had some problems with that, cause RUST doesn’t do global variables, and trying to pass a variable from one function(The collision detector) To another(The trajectory calculation), to add a value to my struct was quite literally impossible. I had to delete one of my threads, and change my architecture from branching to linear.
Oh, and I also changed the number of debris from 10 to 100, and the collision distance from 100km to 1000km to ensure collision will be detected lol.

0
1
71
Open comments for this post

1h 48m 4s logged

Changelog

  • Replaced 250 dynamic debris with 10 Static Debris. (10a6f0a)

Sighs. I promise this is not all i did for nearly 2 hours 😭🤧.
I have been really battling with trying to render 3d Model Asteroids instead of red Meshes, and am having problems with Only accepting one unique item(Which means i’d have to load 10 different 4mb debris file 62 times every second PURELY ON THE FRONTEND, which would surely crash any browser in any computer lol. Severely Un-Optimised).
Currently doing research On how to Handle that, Don’t wanna use gemini too much.
Sadly, HackClub does not record time spent on research 😭

0
1
39
Open comments for this post

1h 45m 6s logged

Changelog

  • Added 3d visualizations of the earth, and the ISS. (382c0e9)

Basically, I Ditched the Nonsense Sphere Meshes, and added actual 3d models of the Earth and the ISS.
I encountered several issues, Like scaling, and stuff. Had to make sure The ISS could be seen, While not being big enough to be a bother to the Earth. Ended up adding a glow to the satellite.
Add 3D models for Earth and ISS with scaling logic

0
1
95
Open comments for this post

1h 33m 2s logged

Changelog

  • Added sattellite coordinates updates in the browser (81723a5)
  • Init vanguard frontend with React and Vite setup (a3f753c)

Started Adding the 3d implementation of a satellite(The ISS) orbiting the earth. For now, I have used Mesh spheres to test that my code works, before actually loading massive glb files. The Red satellite Mesh Sphere actually orbits the Blue Earth Mesh Sphere. THIS IS INTERESTING.
NB: The prediction formula predicts the location of the ISS every second where one second is 90 seconds simulated.

0
1
70
Open comments for this post

43m 20s logged

Changelog

  • Implement WebSocket server for real-time trajectory updates. (6708b17)

Basically, My RUST Program can now talk to my Browser console. It’s so cool. And it works over multiple Browsers Windows/Tabs too. Now I can add a frontend with those 3d models, and an infinite Zoomable Canvas. This is moving forward much faster than i thought.

0
1
66
Open comments for this post

57m 57s logged

Changelog

  • Added async support for frontend integration, And Used Tokio’s broadcast channel to pass messages between threads. (daf47ad)

Okay, So…… I wanted a way to show my Output Outside if the terminal, and I chose to use a web browser, since I am already quite skilled in frontend web dev. Had to add 2 New crates. Tokio for Async/Await functions, and Axum for Web socket Functions. Had some fun reading through their documentations and Implementing Tokio’s Broadcast instead of mpsc ones.
The reason i needed to change my broadcast method is cause mpsc is Single Consumer/Client, But multiple people might want to View the website at the same time

0
1
58
Open comments for this post

39m 14s logged

Changelog

  • Implement collision detection in check_collision function using fake, Hardcoded debris coordinates (5b6b87f)

Okay, so I Hardcoded Debris Coordinates, and Compared it’s Predicted Coordinates to the Predicted Coordinates of My Sattelite. Cna now Predict Collision Chances, and Warn if They get too close.
Also went on a Looking Spree, to Download 3d Models of Sattelites, Space Junk, and the Earth, To use in my Frontend, and Look at other Sites that do what I am aiming at like https://keeptrack.space, and https://cp4.rkas.net/?intldes=2007-012Q(Stuffin Space).

0
1
68
Open comments for this post

1h 24m 56s logged

Changelog

  • Add telemetry models and refactor signal analysis and database saving functions (7aaf79a)
  • Threaded the analyse signal, and save to database functions too (b37fc97)
  • Added a thread to make sure the main loop runs without waiting for stuff… I guess (16c5881)
  • Bad first commit. rectified (32b9e40)

Basically Added Threading to the RUST Program to make sure stuff runs without waiting for something, And Multi File RUST Handling. Still only Infinitely Prints stuff to the terminal tho.

0
1
93

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…