Quote:
Originally Posted by Joe Ross
Our autonomous was structured into discrete VIs that had their own while loop in each one running from autonomous independent. We could then string these VIs together very much like lego programming. For example, we had a drive until ball detected, followed by a kick, followed by drive until ball detected in parallel with wait for 2 second kick retract. It was very easy to move those around as needed.
|
I wrote a system almost identical to this, motivated by how easily the LEGO kids I mentor can write code. I had VI's to do control on speed for distance, kick, set kick recoil distance, and a few others that I rarely used. The distance control did P control on Speed (in feet/seconds).
We have a policy of integrating sensors into our design. We try to automate the more direct robot control functions to allow the driver and operator to focus on driving, which generally means the fewest button presses necessary to perform a task. We generally don't do much based on time, but some functions have (e.g. a double-action claw in 2007 would trigger the upper claw 10ms after the lower one, and the roller on this robot would kill the roller after 5 iterations after collection and reset after 20 iterations).