In the
Iterative robot project. The AutonomousInit() method is called once, each time the auto mode is entered (this is triggered by the field). It is meant to aid in initializing variables/components to known states.
Putting code in this method which delays for any significant length of time is not what it was designed for. I've take a look through the
source code for the IterativeRobot class, and I can't find anything indicating that it won't work (that's not saying that it will). Just know that the Timer.delay() method should never be used in any of the periodic methods within the IterativeRobot project.
The
SimpleRobot class, on the other hand, will work perfectly fine with such delays in the auto/teleop methods. You might consider using that class instead if you anticipate needing to use delays in other areas of your code.