Go to Post So we had forklifts in 2015 and now front end loaders in 2017. First has really embraced the industrial side of robotics. - dmorewood [more]
Home
Go Back   Chief Delphi > Competition > Rules/Strategy > Scouting
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 29-03-2015, 13:44
Strants Strants is offline
Registered User
AKA: Gavin Stewart
FRC #1977
Team Role: College Student
 
Join Date: Dec 2010
Rookie Year: 2010
Location: Colorado
Posts: 11
Strants is an unknown quantity at this point
Re: Tracking Tote/Container/Litter per Match Using API

Couldn't you find the per-match Tote/Auto/Litter/Coopertition/Containter/Foul from the system of equations

M_i = a_i + t_i + l_i + c_i + r_i + p_i
T_(j,t) = sum t_i P_(j,i)
T_(j,a) = sum a_i P_(j,i)
T_(j,l) = sum l_i P_(j,i)
T_(j,c) = sum c_i P_(j,i)
T_(j,r) = sum r_i P_(j,i)
T_(j,p) = sum p_i P_(j,i)

where

M_i is the score in the ith 'half-match' (since scores are kept for both red and blue alliances, we can treat a single match as two 'half-matches', one per alliance),

t_i is the tote score in the ith 'half-match',

a_i is the autonomous score in the ith 'half-match',

l_i is the litter score in the ith 'half-match',

c_i is the coopertition score in the ith 'half-match',

r_i is the recycle containter score in the ith 'half-match',

p_i is the penalty score in the ith 'half-match' (that is, the number of points lost to penalties: it may differ from -6*(number of penalties) due to the rule that match scores do not go lower than 0),

P_(j,i) is the scoring participation matrix: P_(j,i) = 1 if team j participated as a non-surrogate team in the ith 'half-match' and was not disqualified,

T_(j,*) is the total number of points team j received in all the matches they played in (note: T_(j,p) is not given directly in the rankings, but it can be calculated as (Qualification Average) * (number of matches played - # matches disqualified) - (total score from all other components). For example, the calculation for team 1619 at the Colorado Regional looks like (131.9 * 10) - (240 + 0 + 548 + 396 + 165) = -30: they probably had 5 total fouls occur in the 'half-matches' that they played).


Of course, this system might not have a unique solution (though it will always have a solution). I'd be interested if someone could give an argument that some feature of the way FIRST matches are scheduled forces the solution to be unique, or failing that at least some empirical data about how often the system is uniquely solvable.
  #2   Spotlight this post!  
Unread 29-03-2015, 14:00
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,062
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Tracking Tote/Container/Litter per Match Using API

Quote:
Originally Posted by Strants View Post
t_i is the tote score in the ith 'half-match',

l_i is the litter score in the ith 'half-match',

c_i is the coopertition score in the ith 'half-match',

r_i is the recycle containter score in the ith 'half-match'
Tote, litter, coopertition, and recycle are not provided on a per-match basis.

The per-match data includes only Final Score, Auto Points, and Foul Points.


  #3   Spotlight this post!  
Unread 29-03-2015, 14:09
GeeTwo's Avatar
GeeTwo GeeTwo is offline
Technical Director
AKA: Gus Michel II
FRC #3946 (Tiger Robotics)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Slidell, LA
Posts: 3,594
GeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond repute
Re: Tracking Tote/Container/Litter per Match Using API

The information would certainly be useful! With it, you could infer how consistent a team is, or whether that moderate average is due to a few high scores and a bunch of low ones. Some of the high DPRs this year (and not just among those with canburglar mechanisms) make me realize that the whole OPR/DPR construct is not really very useful, at least for this game.
__________________

If you can't find time to do it right, how are you going to find time to do it over?
If you don't pass it on, it never happened.
Robots are great, but inspiration is the reason we're here.
Friends don't let friends use master links.
  #4   Spotlight this post!  
Unread 29-03-2015, 15:47
Strants Strants is offline
Registered User
AKA: Gavin Stewart
FRC #1977
Team Role: College Student
 
Join Date: Dec 2010
Rookie Year: 2010
Location: Colorado
Posts: 11
Strants is an unknown quantity at this point
Re: Tracking Tote/Container/Litter per Match Using API

Quote:
Originally Posted by Ether View Post
Tote, litter, coopertition, and recycle are not provided on a per-match basis.

The per-match data includes only Final Score, Auto Points, and Foul Points.
Yes. However, the right hand side of each of the equations I wrote above is known, so it seems to me that we should be able to solve the system.
  #5   Spotlight this post!  
Unread 29-03-2015, 16:25
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,062
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Tracking Tote/Container/Litter per Match Using API

Quote:
Originally Posted by Strants View Post
Couldn't you find the per-match Tote/Auto/Litter/Coopertition/Containter/Foul from the system of equations
No. You can't find the per-match scores for Coop, Auto, RC, Tote, and Litter from the data FIRST provides.

You can find an estimate for the OPR for each of those scoring components as follows:

If [A] is the 2MxT binary matrix of the alliances (constructed from the match schedule), and [d] is the Tx5 vector of the Team Rankings component scores Coop, Auto, RC, Tote, and Litter, where M is the number of matches and T is the number of teams, then the OPRs for Coop, Auto, RC, Tote, and Litter can be computed by solving the system of Normal Equations

[AT][A][OPR] = [d]

... for [OPR]


In fact, that's how it's currently being done this year (with some additional tweaking to account for surrogates and DQ's).




Last edited by Ether : 29-03-2015 at 16:47.
  #6   Spotlight this post!  
Unread 29-03-2015, 16:52
Strants Strants is offline
Registered User
AKA: Gavin Stewart
FRC #1977
Team Role: College Student
 
Join Date: Dec 2010
Rookie Year: 2010
Location: Colorado
Posts: 11
Strants is an unknown quantity at this point
Re: Tracking Tote/Container/Litter per Match Using API

Quote:
Originally Posted by Ether View Post
You can't find the per-match scores for Coop, Auto, RC, Tote, and Litter from the data FIRST provides.
Hmm, it looks like that's correct: the system of equations I provided is (in most circumstances) underdetermined.

However, it looks like in many instances (specifically, when the number of matches is at most twice the number of teams) we should be able to differentiate between coopertition points and points scored through totes, litter, and recycling. We can do so with the following system of equations:

M_(r,i) = a_(r,i) + p_(r,i) + t_(r,i) + c_i
M_(b,i) = a_(b,i) + p_(b,i) + t_(b,i) + c_i
T_(j,c) = sum c_i (P_(r,j,i)+P_(b,j,i))
T_(j,t) = sum (t_(r,i) P_(r,j,i) + t_(b,i)P_(b,j,i))

where M_(r,i) (respectively, M_(b,i)) is final score of the red (respectively, blue) alliance, the a and p represent the autonomous and foul points (each of which is given), t represents the non-coopertition points (Tote, Litter, and Containter), c represents the coopertition points (since these are shared between the red and blue alliance, there is no need to distinguish between c_(r,i) and c_(b,i)), and P(r,j,i) (respectively, P_(b,j,i)) is 1 if team j was a non-surrogate, non-disqualified member of the red (respectively, blue) alliance in the ith match. Altogether, for 2M half-matches, we are estimating 3M parameters (1 t value per half-match, and 1 c value per pair of half-matches) from 2M+2T data points (the score data from M matches, plus 2 pieces of ranking data about the total coop and non-coop points scored by a team), where M is the number of half-matches and T is the number of teams. We have an over- (or exactly) determined system provided 3M <= 2M + 2T, or if M <= 2T.
Closed Thread


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 Off
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 16:52.

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