4 ms·
I know MPC takes a LOT of compute power. It's not like a finely tuned PID loop or even a cascade of PID loops, computationally. Does anyone know (or have educa
by mlsu 2y ago
I know MPC takes a LOT of compute power. It's not like a finely tuned PID loop or even a cascade of PID loops, computationally.
Does anyone know (or have educated speculation on) what kind of hardware is running these algorithms? Like, do they have a linux machine that's running the control loops? Are we talking megabytes, gigabytes of SRAM?
I would think no -- you would definitely need hard real time for something like this. But my only experience with real time systems is in tiny MCUs with kb of SRAM. That's definitely too small for a controller like this.
Really curious about the nuts and bolts of this.
- mlyle 2y agoMPC doesn't need to take a ton of compute power. It all comes down to how sophisticated the underlying model is. You can have a MPC with 20 variables and run it at multiple kilohertz on a tiny microcontroller. When you build something like this, you're torn between having a big model that represents everything and a smaller model that is easier to validate and reason about. Based on simulation, you might go for a smaller model that "knows" to stay away from operating areas where hidden variables (like really complicated tank slosh) invalidate the small model. I doubt the actual control loop is too much processing, but it's certainly possible to build controllers with SDRAM, millions of variables of state, and hard realtime processing, though I wouldn't build it on top of preempt-rt. ;)
- bgnn 2y agoIt would be a real time OS running it for sure. Which one I don't know.
- quailfarmer 2y agoThey have publicly discussed using Linux with RT kernel!