I'm not really underestimating time a kid takes... I'm prepared to scale back to "I don't get any work done on hobby stuff"; if more gets done than "none" that's nice. Maybe they'll be interested maybe not. In the mean time, figuring out this stuff keeps me sane.
As for the "autotune"... it's a bit different when it's an engine dyno you can hold things at any load/MAP point indefinitely vs trying to go back and figure out what you saw on datalogs. The way I see it, for steady state running you have a VE table and an AFR table to determine desired fuel quantity injected, and a spark advance table for ignition timing. You can directly measure everything to determine what the VE table is, cell by cell, and just be done with that part for the most part. Spark advance should be about whatever it takes to get to peak pressure at a given crank angle (ballpark 15 ATDC but may vary) and with some methods of measuring cylinder pressure you can also see when you're sneaking up on detonation / preignition. So in theory once you measure the approximate VE table at some arbitrary AFR, you can have the algorithm play with target AFR in each cell, while having a control loop adjust spark and watch for det issues. The "best" target AFR being whatever produces the most torque at that MAP/RPM cell... or most torque with least fuel, or lowest misfire rate, or whatever. Doing that sort of thing should, eventually, with enough development, get close enough to quickly fine tune the last bit.
... which will then give you a map that won't run right on the road because there's no transient tuning whatsoever!
![Laughing :lol:](./images/smilies/icon_lol.gif)
The trick though is that then you can do transient tuning alone without worrying about trying to sort out what's transient effects and what are steady state.
Of course, it's all theory, but I don't see why it's impossible. That may just mean I don't know enough, but I have done similar stuff professionally for emissions development of small engines for generators.