←back to thread

1901 points l2silver | 1 comments | | HN request time: 0.203s | source

Maybe you've created your own AR program for wearables that shows the definition of a word when you highlight it IRL, or you've built a personal calendar app for your family to display on a monitor in the kitchen. Whatever it is, I'd love to hear it.
Show context
TrueDuality ◴[] No.35740878[source]
It's not personally useful but I wanted to see if I could design and build a navigation controller designed for a satellite with different configurations. I started with a sandbox simulator that emulated all the hardware sensors down to the noise (according to their data sheets) and a microcontroller emulator that ran real code compiled for a microcontroller I chose for the task (STM32G431).

I tested different control schemes and thrust firing plans, added support for different types of thrusters, errors in sensor readings, atmospheric drag depending on altitude, weird anomalies in the earth's magnetic field, simulated bit flip events and hardware lockups (I left the internal watchdog out of the hardware lockups which is probably not realistic).

In an effort to stress test my simulator I ended up writing a genetic algorithm solver for thruster, magneto-torquer, and reaction wheel placement on arbitrary craft bodies with different mission plans and let it solve it.

I ended up designing a physical circuit board matching the simulator, flashing the board with the same code that was running in the simulator and it worked! I roughly made an approximate cube sat (10cm^3) (had a mechanical engineer friend design me a frame and manufacture it for me) with some small cold gas thrusters out of pressurized CO2 cartridges, controlled by solenoids, and placed by my genetic algorithm.

I dropped it off a cliff that was ~600ft high (best I could do for a "zero gravity" environment that was away from people). It was able to completely arrest its angular rotation before slamming into the ground which is better than I was expecting.

replies(1): >>35747079 #
1. science400 ◴[] No.35747079[source]
That is awesome! I've had an inkling of an idea similar to that for years, but definitely not so well thought through.

Is there any place you have more info on this? I'm especially interested in the genetic algorithm.