Go to Post I'd say go out and kick their collective boo-tays...in a non-damaging, graciously professional manner, of course. (wink wink) - Billfred [more]
Home
Go Back   Chief Delphi > FIRST > General Forum
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 23-03-2015, 13:16
ATannahill ATannahill is offline
Registered User
AKA: Alex Tannahill
no team
 
Join Date: Feb 2008
Rookie Year: 2008
Location: Southfield, Michigan
Posts: 3,258
ATannahill has a reputation beyond reputeATannahill has a reputation beyond reputeATannahill has a reputation beyond reputeATannahill has a reputation beyond reputeATannahill has a reputation beyond reputeATannahill has a reputation beyond reputeATannahill has a reputation beyond reputeATannahill has a reputation beyond reputeATannahill has a reputation beyond reputeATannahill has a reputation beyond reputeATannahill has a reputation beyond repute
Re: FMS enabling sequence?

I suggest you view the FMS White Paper to better understand how the field works.
Reply With Quote
  #2   Spotlight this post!  
Unread 23-03-2015, 15:37
Tom Bottiglieri Tom Bottiglieri is offline
Registered User
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Jan 2004
Rookie Year: 2003
Location: San Francisco, CA
Posts: 3,186
Tom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond repute
Re: FMS enabling sequence?

Quote:
Originally Posted by rtfgnow View Post
I suggest you view the FMS White Paper to better understand how the field works.
This paper does not address how the FMS software goes about enabling robots, only the order in which it traverses match state.

We have not measured exactly delay, but have anecdotal evidence of seeing some robots move before others. Field timing issues were pretty prevalent last year and it's unclear to me any of it has been fixed.

Unfortunately, the delay from the FMS may decide Einstein.

Last edited by Tom Bottiglieri : 23-03-2015 at 15:41.
Reply With Quote
  #3   Spotlight this post!  
Unread 23-03-2015, 17:16
Jared's Avatar
Jared Jared is offline
Registered User
no team
Team Role: Programmer
 
Join Date: Aug 2013
Rookie Year: 2012
Location: Connecticut
Posts: 602
Jared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond repute
Re: FMS enabling sequence?

Quote:
Originally Posted by MasterMentor View Post
On the contrary, I think I figured it out directly from the FMS Whitepaper.

From the FAQ, "Does the FMS Control the Robot", FMS sends the commands to the DS, which then forwards the command to your robot to start.
Does the command get sent to all 6 DS laptops at the same time? The server in the scorpian case has one ethernet port for all red and one ethernet port for all blue robots. Does the software send red and blue simultaneously, or is there a single network adapter + a switch for both red and blue, meaning one must be sent before another. How much time is between these two commands? Within the separate red/blue disable commands the 1, 2, and 3 station enable commands must happen serially. Are they sent immediately after each other, and if not, what is the delay.

It might seem a silly question to ask if there is a significant delay between sending red and blue side commands, but hey, that's exactly what happened last year with the hot goal lights, which were +/- 4 seconds in terms of accuracy at times.

These ethernet cables run to control cases (SCC's) under the DS shelf, where they plug into an ethernet switch. This ethernet switch is connected to an Allen Bradley Stratix 8000, which has three other ethernet ports that are dedicated to 1, 2, and 3 driver stations. What goes on here is unknown, but it's not unreasonable to expect that there could be delays here. The Allen Bradley box is doing something other than being a switch because it won't work if you plug the wrong team into the wrong ethernet cable.


Quote:
While it's not explicitly stated, most command systems have a processing loop that will "process" incoming commands at a known rate (timed so you don't chew up your CPU). Now, even if we knew the loop rate we don't know where in the loop the command will come in; will the command arrive immediately at the beginning of that loop, in the middle, or at the end?
It depends on how the polling is set up. If they check for 'FMS says enable' every time they send the command (20 ms), then timing can't be accurate to more than 20 ms, as you pointed out.

The FMS software and DS are written in C# (or c++, I forget), and LabVIEW, both of which easily support event driven behavior, meaning the driver station may respond to an FMS command as soon as the network buffer reads in the message.

Quote:
That's probably the difference - I'd bet the difference in time it takes FMS to issue the command across all the VLANs to the DS's would be in the nanosecond (microsecond for sure) range.

-MM
You'd think, but the difference in time it took the FMS to send commands to the phillips lighting controller last year was sometimes greater than 2 or 3 seconds. FMS timing seems to be properly understood by nobody.
Reply With Quote
  #4   Spotlight this post!  
Unread 23-03-2015, 17:44
MikeE's Avatar
MikeE MikeE is offline
Wrecking nice beaches since 1990
no team (Volunteer)
Team Role: Engineer
 
Join Date: Nov 2008
Rookie Year: 2008
Location: New England -> Alaska
Posts: 381
MikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond repute
Re: FMS enabling sequence?

Quote:
Originally Posted by Tom Bottiglieri View Post
Field timing issues were pretty prevalent last year and it's unclear to me any of it has been fixed.
Quote:
Originally Posted by Jared View Post
It might seem a silly question to ask if there is a significant delay between sending red and blue side commands, but hey, that's exactly what happened last year with the hot goal lights, which were +/- 4 seconds in terms of accuracy at times.
Quote:
Originally Posted by Jared View Post
You'd think, but the difference in time it took the FMS to send commands to the phillips lighting controller last year was sometimes greater than 2 or 3 seconds. FMS timing seems to be properly understood by nobody.
I think it's fairly widely known that the FMS has been substantially (completely?) rewritten since last season, so anecdotes from 2014 are of limited applicability to 2015.

One of the questions I was taught to ask early on in Grad school is what scale of effect actually matters in a given experiment, and to focus only on those factors that have meaningful impact.
If there are no systematic biases towards particular team stations, how much does a worst case 20ms delay due to polling actually affect a mechanism compared to all the other variables in play?
__________________
no stranger to the working end of a pencil
Reply With Quote
  #5   Spotlight this post!  
Unread 23-03-2015, 17:52
Tom Bottiglieri Tom Bottiglieri is offline
Registered User
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Jan 2004
Rookie Year: 2003
Location: San Francisco, CA
Posts: 3,186
Tom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond repute
Re: FMS enabling sequence?

Quote:
Originally Posted by MikeE View Post
If there are no systematic biases towards particular team stations
That is the part I am interested in learning more about.
Reply With Quote
  #6   Spotlight this post!  
Unread 23-03-2015, 18:11
plnyyanks's Avatar
plnyyanks plnyyanks is offline
Data wins arguments.
AKA: Phil Lopreiato
FRC #1124 (The ÜberBots), FRC #2900 (The Mighty Penguins)
Team Role: College Student
 
Join Date: Apr 2010
Rookie Year: 2010
Location: NYC/Washington, DC
Posts: 1,113
plnyyanks has a reputation beyond reputeplnyyanks has a reputation beyond reputeplnyyanks has a reputation beyond reputeplnyyanks has a reputation beyond reputeplnyyanks has a reputation beyond reputeplnyyanks has a reputation beyond reputeplnyyanks has a reputation beyond reputeplnyyanks has a reputation beyond reputeplnyyanks has a reputation beyond reputeplnyyanks has a reputation beyond reputeplnyyanks has a reputation beyond repute
Re: FMS enabling sequence?

On a different note, I would love an update to the FMS Whitepaper that goes into much greater technical detail. Or maybe a 1 day recorded conference, where someone on FRC engineering can do a very detailed, technical walkthrough of how the field works (and maybe show some code snippets), including a Q&A.

I don't like how the field electronics are a 'black box' to most teams - I gained most of my knowledge about how the field works from volunteering and working with it regularly, something teams don't do.

A greater understanding about how the competition field works will reduce the amount of anger and frustration often (mis)directed at FMS.
__________________
Phil Lopreiato - "It's a hardware problem"
Team 1124 (2010 - 2013), Team 1418 (2014), Team 2900 (2016)
FRC Notebook The Blue Alliance for Android

Last edited by plnyyanks : 23-03-2015 at 18:11. Reason: Can't read...
Reply With Quote
  #7   Spotlight this post!  
Unread 23-03-2015, 20:55
Citrus Dad's Avatar
Citrus Dad Citrus Dad is offline
Business and Scouting Mentor
AKA: Richard McCann
FRC #1678 (Citrus Circuits)
Team Role: Mentor
 
Join Date: May 2012
Rookie Year: 2012
Location: Davis
Posts: 988
Citrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond repute
Re: FMS enabling sequence?

Quote:
Originally Posted by MikeE View Post
If there are no systematic biases towards particular team stations, how much does a worst case 20ms delay due to polling actually affect a mechanism compared to all the other variables in play?
If the serial enabling differences are cumulative, the first bot will move 0.1 second before the last one. That's more than the difference in speed between several of the can grabbers at the moment.
Reply With Quote
  #8   Spotlight this post!  
Unread 23-03-2015, 21:02
Thad House Thad House is offline
Volunteer, WPILib Contributor
no team (Waiting for 2021)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2010
Location: Thousand Oaks, California
Posts: 1,092
Thad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond repute
Re: FMS enabling sequence?

Quote:
Originally Posted by Citrus Dad View Post
If the serial enabling differences are cumulative, the first bot will move 0.1 second before the last one. That's more than the difference in speed between several of the can grabbers at the moment.
It would never be that high. Even serially, I bet it still sends all the enable packets within 1ms of each other. The 20ms polling loops happen on the DS, and the FMS does not depend on it. So the FMS wouldnt accumulate based on those. It would only matter to the DS at which point in the 20ms period it recieves the enable packet, and thats if its not interrupt based. So worst case is that 1 robot gets an enabled packet 19ms after another one.

Now its entirely possible something else in code is delaying more, but I cant see how the FMS would take 60+ms to send enable packets. If so, we would visually see it.
__________________
All statements made are my own and not the feelings of any of my affiliated teams.
Teams 1510 and 2898 - Student 2010-2012
Team 4488 - Mentor 2013-2016
Co-developer of RobotDotNet, a .NET port of the WPILib.
Reply With Quote
  #9   Spotlight this post!  
Unread 24-03-2015, 09:58
FrankJ's Avatar
FrankJ FrankJ is offline
Robot Mentor
FRC #2974 (WALT)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2009
Location: Marietta GA
Posts: 1,923
FrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond repute
Re: FMS enabling sequence?

Quote:
Originally Posted by Jared View Post
...
These ethernet cables run to control cases (SCC's) under the DS shelf, where they plug into an ethernet switch. This ethernet switch is connected to an Allen Bradley Stratix 8000, which has three other ethernet ports that are dedicated to 1, 2, and 3 driver stations. What goes on here is unknown, but it's not unreasonable to expect that there could be delays here. The Allen Bradley box is doing something other than being a switch because it won't work if you plug the wrong team into the wrong ethernet cable.
...
FMS timing seems to be properly understood by nobody.
The switches are managed. Which means they only route packets to specific ports based on the IP address (or MAC). Managed switches are always higher end than generic switches. You are not losing any significant time in the switches. The travel time for Ethernet packets between the DS & robot are logged on the DS. I expect the travel times between FMS & the DS are the same or better.

I expect the FMS timing is understood by the people involved in writing the programs. It just not public information.
__________________
If you don't know what you should hook up then you should read a data sheet
Reply With Quote
  #10   Spotlight this post!  
Unread 08-04-2015, 02:28
themccannman's Avatar
themccannman themccannman is offline
registered lurker
AKA: Jake McCann
FRC #3501
Team Role: Mentor
 
Join Date: Feb 2013
Rookie Year: 2011
Location: San Jose, CA
Posts: 432
themccannman has a reputation beyond reputethemccannman has a reputation beyond reputethemccannman has a reputation beyond reputethemccannman has a reputation beyond reputethemccannman has a reputation beyond reputethemccannman has a reputation beyond reputethemccannman has a reputation beyond reputethemccannman has a reputation beyond reputethemccannman has a reputation beyond reputethemccannman has a reputation beyond reputethemccannman has a reputation beyond repute
Re: FMS enabling sequence?

So, since this doesn't seem resolved is there any way we can figure this out aside from FIRST publicly posting the FMS code? They only other way I can think is setting up two robots with known mechanism speeds and comparing them at each possible driver station combination. This would be pretty difficult to do though as you would need to reserve an entire field for only 2 teams for at least 30-60 mins, likely not possible with time constraints and demand for practice matches at most competitions.
__________________
All posts here are purely my own opinion.
2011-2015: 1678
2016: 846
2017 - current: 3501
Reply With Quote
  #11   Spotlight this post!  
Unread 08-04-2015, 10:33
MrRoboSteve MrRoboSteve is offline
Mentor
AKA: Steve Peterson
FRC #3081 (Kennedy RoboEagles)
Team Role: Mentor
 
Join Date: Mar 2012
Rookie Year: 2011
Location: Bloomington, MN
Posts: 577
MrRoboSteve has a reputation beyond reputeMrRoboSteve has a reputation beyond reputeMrRoboSteve has a reputation beyond reputeMrRoboSteve has a reputation beyond reputeMrRoboSteve has a reputation beyond reputeMrRoboSteve has a reputation beyond reputeMrRoboSteve has a reputation beyond reputeMrRoboSteve has a reputation beyond reputeMrRoboSteve has a reputation beyond reputeMrRoboSteve has a reputation beyond reputeMrRoboSteve has a reputation beyond repute
Re: FMS enabling sequence?

I have no knowledge of the internals of the FMS software, so these observations are based completely on the whitepaper and other public sources.

1. The minimum interpacket gap for 100mbps Ethernet is 0.96 µs.

2. The FMS code could take longer than 0.96 µs to send the "auto enable" command to each DS, depending on what the logic looks like in the FMS code. For example, there could be logging being written to disk between each initiate command.

3. The protocol between the FMS and the DS isn't documented in the whitepaper.

4. The FMS whitepaper says that robot <--> DS control packets are prioritized over video packets. I read that as saying that UDP 1130 and 1140 are prioritized over the other ports available for robot <--> DS communication. The whitepaper is silent about the relative priority of FMS <--> DS packets. A reasonable guess is that FMS <--> DS packets are at the same as robot <--> DS control packets. If this guess is true, it's unlikely that robot -> DS data on the open ports (e.g. camera packets) from the robot will interfere with the "auto enable" command from the FMS.

5. It is likely that one of these two statements is true:
a. The "auto enable" command is sent to each DS in the same order in every match (e.g., Red 1/2/3, Blue 1/2/3)
b. The "auto enable" command is sent to each DS in a purposely randomized order in every match

Why are these likely? Because a) is the easiest to code, and b) would be the logical alternative if they made a specific design decision here.

6. The FMS developers are likely to be curious about a thread on CD entitled "FMS enabling sequence."
__________________
2016-17 events: 10000 Lakes Regional, Northern Lights Regional, FTC Burnsville Qualifying Tournament

2011 - present · FRC 3081 Kennedy RoboEagles mentor
2013 - present · event volunteer at 10000 Lakes Regional, Northern Lights Regional, North Star Regional, Lake Superior Regional, Minnesota State Tournament, PNW District 4 Glacier Peak, MN FTC, CMP
http://twitter.com/MrRoboSteve · www.linkedin.com/in/speterson
Reply With Quote
  #12   Spotlight this post!  
Unread 08-04-2015, 14:45
MikeE's Avatar
MikeE MikeE is offline
Wrecking nice beaches since 1990
no team (Volunteer)
Team Role: Engineer
 
Join Date: Nov 2008
Rookie Year: 2008
Location: New England -> Alaska
Posts: 381
MikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond reputeMikeE has a reputation beyond repute
Re: FMS enabling sequence?

Caveat: I have had training on use of the FMS but do not know details of it's implementation. I'm engaging in this discussion because it is a interesting topic and educated speculation is fun!

Quote:
Originally Posted by Citrus Dad View Post
If the serial enabling differences are cumulative, the first bot will move 0.1 second before the last one. That's more than the difference in speed between several of the can grabbers at the moment.
That's a huge assumption. Not only would that require serial enabling, but it assumes only one packet is being sent anywhere per 20ms time slot. As other posters have stated it's much more likely that packets are being sent to all DS within the same 20ms frame.
Just from a safety perspective the overall architecture should allow EStop commands to be acted on quickly, so I feel a 100ms scale of potential delay is very unlikely.

I agree with Thad and other's suggestion that all DSs are likely sent an enable packet within a much smaller window - let's assume within 5ms. With that assumption, the critical issue is where the DS is in the polling cycle when it received the enable, and that's not under FMS control. Big picture: fewer than half of matches would have one or more teams receive the enable one polling period later. With the worst case design of fixed enable order, some specific stations would have a higher probability of getting the one period delay.

So back to my earlier question: given all the other sources of variability, does a finite probability of a 20ms delay matter in the "real world"?
I don't know how consistent the top teams are at can burgling, but my gut sense is that this order of potential delay is of secondary or tertiary concern. However I'm happy to be corrected by members of those inspirational teams.

Quote:
Originally Posted by MrRoboSteve View Post
6. The FMS developers are likely to be curious about a thread on CD entitled "FMS enabling sequence."
Hi guys!
__________________
no stranger to the working end of a pencil
Reply With Quote
  #13   Spotlight this post!  
Unread 08-04-2015, 17:02
Citrus Dad's Avatar
Citrus Dad Citrus Dad is offline
Business and Scouting Mentor
AKA: Richard McCann
FRC #1678 (Citrus Circuits)
Team Role: Mentor
 
Join Date: May 2012
Rookie Year: 2012
Location: Davis
Posts: 988
Citrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond reputeCitrus Dad has a reputation beyond repute
Re: FMS enabling sequence?

Quote:
Originally Posted by MikeE View Post
That's a huge assumption.

So back to my earlier question: given all the other sources of variability, does a finite probability of a 20ms delay matter in the "real world"?
I don't know how consistent the top teams are at can burgling, but my gut sense is that this order of potential delay is of secondary or tertiary concern. However I'm happy to be corrected by members of those inspirational teams.
I was positing the question because I'm not technically knowledgeable about the FMS. But it appears that a delay of 20ms, particularly if it is cumulative across stations, will be significant in the canburglar race. Teams are already under 300ms and expect much, much faster. That delay could be a high % of the time.
Reply With Quote
  #14   Spotlight this post!  
Unread 16-04-2015, 10:53
Bennett548 Bennett548 is offline
Engineering Mentor
AKA: Steve Bennett
FRC #0548 (Robostangs)
Team Role: Mentor
 
Join Date: Feb 2013
Rookie Year: 2004
Location: MI
Posts: 84
Bennett548 is just really niceBennett548 is just really niceBennett548 is just really niceBennett548 is just really nice
Re: FMS enabling sequence?

20 ms matters a great deal. I expect in that much time some teams would be 1/4 of the way to the cans already.

A seperate question: why are we all guessing about how FMS works? Why isn't the code 100% available to everyone? Was it developed by an external company that doesn't want their IP shared?
Reply With Quote
  #15   Spotlight this post!  
Unread 22-04-2015, 00:41
Bennett548 Bennett548 is offline
Engineering Mentor
AKA: Steve Bennett
FRC #0548 (Robostangs)
Team Role: Mentor
 
Join Date: Feb 2013
Rookie Year: 2004
Location: MI
Posts: 84
Bennett548 is just really niceBennett548 is just really niceBennett548 is just really niceBennett548 is just really nice
Re: FMS enabling sequence?

We have some evidence of FMS enabling sequence timing issues. At msc, in playoffs, 548 and our partner 1711 ran very similar autonomous modes (i.e. cheesecake). We both run java, and used talons srx connected by can.

The troubling issue is that 548 consistently started moving 10-30 ms before 1711. 548 was always red 1, and 1711 was red 3.

We are working with 1711 to look into DS logs to find out if there was some delay recorded there.

Can anything be done about this? As far as specific details FMS is a black box to us teams.

Hopefully there is a Snowden among the FMS developers that will spill the beans and let the community suggest improvements.
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 14:13.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi