FMS triggered Minibot launch?

Does any one know if the FMS signal that triggers the tower bases to switch the lights to the team colors at the 10 seconds remaining point will be available to the Robot Control Systems?

If so, automating the launch of the Minibot would be possible, thus removing the human response time delay.

Actualy it is possible. In teleoperated you can get the match data from the little pink TypeDef Cluster Named “Match Info” (off to the left of where the Open “Left and Right Motor” VI is) It should have an unbundle by name coming off of it. you take that data and wire it to a case that says if “TeleOp Elapsed” is >= 45 (45 comes from 60 sec. - the 15 seconds that you want to be left) then set relay to 1. I can’t do it right now because im not on a computer with LabView right now but if you’d like i can do it later.

not 60 seconds (feels like 10 while on the field) the match is 2 minutes (120 sec.) minus 15 sec. (endgame)
so If “TeleOp Elapsed” >= 105 Then Set Relay to 1.

Except there has been a flaw in FMS match timing for a few years that actually makes the Teleop portion of the matches a few seconds longer than they should be.

We’re trying to put this into our system. Instead of a simple “DEPLOY MINIBOT” button, it will be a “ARM/DEPLOY” button. If the timer is at the endgame point, then hitting the button deploys immediately; else it sits in place ‘armed’ to deploy at the right time.

Of course, there will be an override as well.

This is exactly why I asked the question the way I did.

According to <G02>:

<G02> The AUTONOMOUS PERIOD ends when the ARENA timer displays zero seconds. The MATCH ends if all TOWERS are TRIGGERED or when the ARENA timer displays zero seconds, whichever comes first.

During the AUTONOMOUS PERIOD, the BASES will be illuminated in yellow. During the TELEOPERATED PERIOD, BASES will be illuminated with their ALLiANCE color. At 15 seconds before the end of the MATCH, BASES will flash yellow, while TARGET lights will flash green. At 10 seconds before the end of the MATCH, when HOSTBOTS may DEPLOY their MINIBOT without penalty, BASES will illuminate with the appropriate ALLIANCE color, while…

I just feel that triggering off the FMS signal that generates the visual indication will be the most accurate and reliable trigger.

In answer to the original question, the only info coming from the FMS is Auton/Teleop Mode and Enabled/Disabled. There isn’t anything in the data structure concerning additional match timing events. So, as everyone here is suggesting, your only option for doing this is to start a timer at the beginning of teleop + enabled, and then wait an appropriate amount of time before deploying.

And as yet others have noted, the timing of FMS match events may not be in perfect agreement with your timing on the robot.

The other point I’d like to throw in is that no matter how accurate to the millisecond our deployment is, we will all be dealing with human ref speeds.
If human psychology thinks we’re deploying too soon, then we’ll get a penality.

True there may be a delay. For all those that want to implement this I would recommend you not do it because a penalty outweighs just teaching your co-pilot to press a button when a sound goes off. In the end its your call.

Yes you could have the camera sense when the base of the tower changes color but it would waste your camera and it might be inaccurate

Trigger deployment when the base changes back to the alliance color.

[edit]I mean use the camera to see the actual visual indication. You don’t need to tap into the FMS signal that generates that indication.[/edit]

Just to pile on, the elapsed time value in the framework is a local cRIO timer because there are no official timestamps or time values in the protocol.

For a short duration like an FRC match, the independent clocks are obviously close enough, but if the FMS does something like start the timer after the sound finishes, that may explain the difference. Does the match time issues exist in the FMS Lite? Can you use that to determine if the time is consistent, but long by x seconds?

Greg McKaskle

Here is the original thread about the issue: http://www.chiefdelphi.com/forums/showthread.php?t=84584