Quote:
Originally Posted by Colby Skeggs
On the technical side of implementing these kinds of features, I'm not quite sure how it would be done well.
|
I agree, that's why I called it a challenge problem.
I think the tricky thing is really being able to maintain state about the robots behavior in a way that the simulator/emulator could do proper reasoning/adjustment of.
Another way I could imagine tackling the problem (particularly for autonomous mode state machines) is controlling the robot via abstractions that have state built into them, so that the simulator/stepper has ultimate control over the state machine. Then the variables are exposed via some mechanism, and that's how you do variance over time.
I implemented a very early version of
something like that for our code this year, where the actual logic for switching states is done by an underlying object, and the user code didn't have (much) to do with changing that.
One more thought that I'm definitely going to implement by next year for PyFRC is just showing a basic 2D field that shows where the robot is. It's an easy enough thing to do, and though not totally accurate, would get one close enough for good testing.