One thing that I’ve experienced in competitions is that after the end of a match, if I unplug my controller from the field control tower, I will have driver control of the robot for a moment, then it will disconnect. Do other people experience this too or is it an issue with my hardware?
Also, if any official people or people who know the system well see this, is this an intended behavior of the Vexnet/Field Control system? If, say, the ethernet cable from the robot controller to the match controller got disconnected in a match, would/should the robot stay connected then lose connection shortly after?
VEXnet uses a set of practice channels and different set of competition channels. As soon as you plug the robot into the field control, it will reconnect on the competition channel. The behavior is (for obvious reason) different when you unplug. @jpearman once mentioned somewhere that there is a 2-minute timeout. So 2 minutes after you unplug, the VEXnet should disconnect (to free the competition channel in case you didn’t turn the robot off) and hopefully try to reconnect on a practice channel.
My alliance at state had his cord unplugged in a middle of a match. Then we he said he was going to get out of the way. So I bump him and because his lift was up it caused the bot to tip over. Then it still wasn’t working and I pointed it out he was not happy.
It’s been my experience that unplugging the main controller for the tower puts you in driver mode.
If you think about it, when you are in your shop, you are hardly ever connected to a control system. Your robot drives around just fine.
You can test this. Take your 4 robot competition switch. Plug the controller to the switch, turn everything on. Set the switch to driver and enable. Look at the lights. (Should show that you are in driver mode) Now unplug and look at the lights. They should still show you in driver mode and you should still be able to drive.
In my experience, this disables all joystick input. If the switch is in ‘disable’ mode, you will have full control if you unplug, but if it is enabled the Cortex seems to stop responding to all joystick input (the program still runs, though).
Alright, I tested it, and got some interesting results. This was done with a DIY competition switch, but it is electrically identical to an official one (NOT identical to one the control system of a real tournament). For each robot, I connected the joystick to the competition switch (enabled, driver), turned on the robot, made sure the it was functioning, then unplugged the switch. I also repeated this experiment starting the switch on disabled, and obtained the same results. On my team’s competition bot, programmed with PROS (in C++), it behaves how I detailed earlier (all lights are green, PIDs continue running, etc., but the Cortex ignores all joystick input). However, with our sister team’s bot, programmed in RobotC, everything continues to run normally, including joystick input. I’m not sure if this is a PROS thing or because of how it was programmed, but as soon as I am able to, I will run the test again with a fresh PROS project and see what happens. No disconnects for me, though.
I just tested a ROBOTC cortex on the bench with a proper field control system.
Turn on Cortex and Controller and wait for connection
Connect to field controller
At this point, it takes about 8-10 seconds for the VEXnet system to show on the Cortex and Joystick LEDs that it is connected to a field controller.
Played out the auton and driver as normal so Cortex goes back to disable at the end of the match
Disconnect cable from the joystick
After 10 seconds, VEXnet disconnects and requires a power cycle to reconnect. I’ve got to say, this surprised me because I could swear that at the many many tournaments I’d run, teams will often disconnect their robot from the field controller after matches are scored up and drive back to the edge, but guess 10 seconds is enough for this!
Now, if you do exactly the same but rather than wait for the match controller to go back to disable, you unplug the joystick “mid-match”, it just goes into driver control for 2 minutes (enough time for any match to finish) before disconnecting.