Is it legal to place the robot on the field expanded, start the brain, run a pre_auton routine that folds the robot into 18x18x18, place robot onto field then follow competition procedure? If not, can we place robot on floor outside field first, run pre_auton, fold robot through program then place robot (with brain/controller still on and holding an initialized variable) onto field?
Basically, we need to initialize the encoder on a V5 motor in a specific position that is outside 18", but not sure how/when to legally do this to not break the 18x18x18 rule. Also, does the field control system stop/start/reset brain when plugged into it? (if so, then we will lose position). New team, sorry if questions are trivial.
Speaking as a referee, this will annoy the referees if you are not prompt about it. If you can’t write out this procedure, think about completing it while you are in queueing for your next match, then bringing your robot to the field already powered up.
That being said, I would strongly recommend rewriting the bit of your program that deals with that motor to have its 0 position at the robot’s folded starting location. The offset to the value you were looking for should be the same every time you run the robot, and it will mean you have a more reliable way of indexing: wherever the motor is at the start of your first autonomous would then be your 0 position.
The Field Control System (FCS) does NOT reset your motor’s encoder values. However it does disable all the motors and any inputs from your controller. So, as long as the robot will hold its 18x18x18 size with motors unpowered, then there is nothing wrong with your plan. Many teams spend 10 to 20 seconds making sure their robots are aligned correctly on the field. This is not done while the referee is waiting on them, it is done while the previous match is still underway. I have seen plenty teams do exactly what you are suggesting and there is almost never an issue with it taking too long.