View Single Post
  #10   Spotlight this post!  
Unread 25-03-2013, 21:38
Ian Curtis Ian Curtis is offline
Best Available Data
FRC #1778 (Chill Out!)
Team Role: Engineer
 
Join Date: Feb 2005
Rookie Year: 2004
Location: Puget Sound
Posts: 2,521
Ian Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond repute
Re: Do you have any solid OPR and or CCWM software?

Quote:
Originally Posted by RoeeVulcan View Post
Does any of you have any OPR and or CCWM software?
Being a Sophomore i found it hard to understand the math behind it, and I hoped any of you has a program that would just run the math for me.
I'm not sure if you've gotten this far in math yet, but for the general FRC student, if you can solve

3X+4Y=2
5X+2Y=7

you can understand how OPR works. It's a (very big) system of linear equations, but the concepts are the same as a 2 equation 2 unknown problem.

Let's say you have a 50 team regional. For each robot at the regional, you make an equation that has 50 variables (let's call them OPR), each multiplied by the time that robot played with each other team, and you set that equal to total number of points that robots alliance scored over the course of the event. For the robot each equation belongs too, that multiplication factor is the total number of matches that robot played.

For Team 1 that equation would be:

(# Matches Played In)*OPR1+(# Matches Played with Team 2)*OPR2+(# Matches Played with Team 3)+... (# Matches Played with Team 50)*OPR50 = (Total Number of Points Scored by Alliances Team 1 Played On)

For Team 2:

(# Matches Played with Team 1)*OPR1+(# Matches Played In)*OPR2+(# Matches Played with Team 3)+... (# Matches Played with Team 50)*OPR50 = (Total Number of Points Scored by Alliances Team 2 Played On)

etc.

You end up with 50 equations that look like:

11*OPR1+2*OPR2+0*OPR3+1*OPR4...+1*OPR50 = 607
1*OPR1+11*OPR2+2*OPR3+1*OPR4...+0*OPR50 = 841
...
0*OPR1+1*OPR2+0*OPR3+0*OPR4...+11*OPR50 = 1056

Since you have 50 equations (1 per robot) and 50 unknowns (1 per robot), this is a system you can solve just like the 2 equation 2 unknown problem I started with. What is really cool is most of the time the OPR problem has a unique solution, just like the problem I started with! It won't have a unique solution if you haven't played enough matches yet*, because that is like trying to solve:

2X-5Y=3
-4X+10Y=6

Actually finding that solution to a problem with 50 unknowns and 50 equations in a reasonable amount of time isn't possible by hand. You will learn all about this in college. But in my view at least, knowing that it is the solution to (Times Played With Robot)*(OPR) = (Total Alliance Points). This is a fundamental part of why OPR can be really extreme before a lot of matches have been played because while 1+1=2, 102-100=2 is also true.

*It is for reasons along this line you can't do OPR for elimination rounds. Since robots are always playing on the same alliance there is not enough information for a unique solution.

EDIT1: Updated "Played" to "Played In", the factor on the variable that is a given robot's OPR in it's equation is the number of matches that robot played in (typically ~10).
EDIT2: If this doesn't make sense and you'd like it to, either PM me or find your friendly neighborhood math teacher.
__________________
CHILL OUT! | Aero Stability & Control Engineer
Adam Savage's Obsessions (TED Talk) (Part 2)
It is much easier to call someone else a genius than admit to yourself that you are lazy. - Dave Gingery

Last edited by Ian Curtis : 25-03-2013 at 23:04.