Log in

View Full Version : 2015 OPR After Week Four Events


Ed Law
23-03-2015, 10:46
The OPR/CCWM numbers after four weeks of events have been posted, please see

http://www.chiefdelphi.com/media/papers/2174

If you find any error or have any questions, please let me know.

There are a number of points I would like to make:

1) FIRST started showing DQ'd teams with "*" before and after the team number. I did not have time to change my program to "handle" that so I just took out the "*" manually. This means if somebody tries to run the macro with Cntr-Shift-O and there are DQ'd teams for that event, they will get an error message. As a work around for now until I change the program, just manually delete the "*" after you import the data using Cntr-Shift-P.

2) I don't know what FIRST HQ did this week. For the first three weeks, it takes almost a minute to refresh the Standings and Match data. Last night when I ran it, it was lightning speed, even faster than in previous years. Thank you FIRST.

Boltman
23-03-2015, 13:25
The OPR/CCWM numbers after four weeks of events have been posted, please see

http://www.chiefdelphi.com/media/papers/2174

If you find any error or have any questions, please let me know.

There are a number of points I would like to make:

1) FIRST started showing DQ'd teams with "*" before and after the team number. I did not have time to change my program to "handle" that so I just took out the "*" manually. This means if somebody tries to run the macro with Cntr-Shift-O and there are DQ'd teams for that event, they will get an error message. As a work around for now until I change the program, just manually delete the "*" after you import the data using Cntr-Shift-P.

2) I don't know what FIRST HQ did this week. For the first three weeks, it takes almost a minute to refresh the Standings and Match data. Last night when I ran it, it was lightning speed, even faster than in previous years. Thank you FIRST.

How do you add pictures to the database? BTW thanks for doing this. Interesting to compare to our live scouting.

Ether
23-03-2015, 16:44
If you find any error or have any questions, please let me know.

Ed, how did you compute world component OPRs this time around?

Ed Law
23-03-2015, 17:01
Ed, how did you compute world component OPRs this time around?



Same way as last week.
http://www.chiefdelphi.com/forums/showpost.php?p=1458405&postcount=7


How do you add pictures to the database? BTW thanks for doing this. Interesting to compare to our live scouting.

Instructions are in the sheet called "Instructions" which is the first tab from the left. You have to take the pictures of the robots. The pictures need to be in the same directory as the Scouting Excel file and be named team#.jpg, e.g. 2834.jpg or 5137.jpg

Ether
23-03-2015, 17:06
Same way as last week.

Were you able to speed up the computation (http://www.chiefdelphi.com/forums/showpost.php?p=1458823&postcount=8) ?

Ed Law
23-03-2015, 20:38
Thanks for all your suggestions. I don't think Excel or my computer has those options. I really don't have time to investigate. My solution is start running the macro, walk away and do other things around the house and go back in an hour. I don't think it would need an hour but it was done when I got back.:)

The part that takes the longest time is A(T) * A. To not assemble the A matrix like you suggested would require a lot of reprogramming which I don't have time. Also when calculating the component OPR I have to solve A x = b 6 times. It may be better to just assemble A once instead of 6 times. As for sparse matrix solver, it will certainly help but A(T) x A takes a lot longer than the equation solving part. I am waiting for a VBA version of the sparse matrix solver to be available and then I will switch over from using Cholesky decomposition.

Ether
23-03-2015, 22:21
The part that takes the longest time is A(T) * A.

Did you try making [A], [A'], and [N] integer instead of floating point? If VBA supports integer matrix multiplication that would probably substantially reduce the computation time. Use the native word size of your machine for the integer size. Your machine is probably 64bit word size? So make the elements of each matrix 64-bit integers.

I have to solve A x = b 6 times

Once you've created [N]=[A'][A] you can use that [N] matrix to solve for all 6 components at once.

[N][x]=[d]

If you make [d] a 6-column matrix instead of a vector you can solve it once and get a 6-column matrix [x] with all 6 solutions.

Ed Law
24-03-2015, 23:01
Did you try making [A], [A'], and [N] integer instead of floating point? If VBA supports integer matrix multiplication that would probably substantially reduce the computation time. Use the native word size of your machine for the integer size. Your machine is probably 64bit word size? So make the elements of each matrix 64-bit integers.



Once you've created [N]=[A'][A] you can use that [N] matrix to solve for all 6 components at once.

[N][x]=[d]

If you make [d] a 6-column matrix instead of a vector you can solve it once and get a 6-column matrix [x] with all 6 solutions.




The solver I have is expecting a vector d so I cannot use a 6 column matrix like you suggested. I agree it will have some improvement in efficiency but I cannot do it that way.

Ether
25-03-2015, 10:08
The solver I have is expecting a vector d so I cannot use a 6 column matrix like you suggested. I agree it will have some improvement in efficiency but I cannot do it that way.

Are you still using ALGLIB? It has a Cholesky solver that accepts a matrix for the right-hand side.

Ed Law
25-03-2015, 10:52
Are you still using ALGLIB? It has a Cholesky solver that accepts a matrix for the right-hand side.

Yes I am using ALGLIB. I am using SPDMatrixCholeskySolve.

Ether
25-03-2015, 11:23
Yes I am using ALGLIB. I am using SPDMatrixCholeskySolve.

Take a look at spdmatrixcholeskysolvem (http://www.chiefdelphi.com/forums/attachment.php?attachmentid=18718&stc=1&d=1427298166)

.

David8696
25-03-2015, 12:28
I'm wondering if there's a web database out there of this data that could be queried real-time for a scouting app. I know TBA has top 15 OPR rankings for individual events, but I'm fairly certain there's no storage of full-season OPR's (or the OPR's for more than the top 15 robots at an event). If I'm wrong, please let me know; if I'm right, I'd love to know where I could find something like this.

plnyyanks
25-03-2015, 12:37
I'm wondering if there's a web database out there of this data that could be queried real-time for a scouting app. I know TBA has top 15 OPR rankings for individual events, but I'm fairly certain there's no storage of full-season OPR's (or the OPR's for more than the top 15 robots at an event). If I'm wrong, please let me know; if I'm right, I'd love to know where I could find something like this.

TBA stores the per-event OPR for every team at the event (although only the top 15 are displayed).

There is an API Endpoint for Stats (http://www.thebluealliance.com/apidocs#event-requests) which will return OPR, DPR, and CCWM for each team attending the event.

We're planning on adding more insight data to the API in the next offseason, and we'll consider doing full-season OPR.