Log in

View Full Version : NEW: OPR Android App


stingray27
21-02-2013, 21:12
Hey ChiefDelphi,

I just posted my first Android App, OPR FIRST 2013, on the Google play market. The app's functionality includes:

Live match results
On-the-spot OPR calculations after match 30
Match Predicting for each match based on OPR
FIRST Team searching
Award listings per regional
Team listings per regional


This app will hopefully aid in pre-match scouting, selection process for elimination matches, or post-tournament analysis.

For more information and to download the app, please visit:
OPR FIRST 2013 (https://play.google.com/store/apps/details?id=net.TeamRUSH27.OPRFIRST&feature=search_result#?t=W251bGwsMSwyLDEsIm5ldC5UZ WFtUlVTSDI3Lk9QUkZJUlNUIl0.)

Please leave any comments or bugs and I will try to fix them as soon as possible! Hope you enjoy!

dodar
21-02-2013, 21:14
Wow.

cmrnpizzo14
21-02-2013, 21:45
Wow.

Agreed. If this works, this is incredible.

Ether
21-02-2013, 21:45
What dataset did you use to validate your OPR calculations?

MARS_James
21-02-2013, 21:51
Wow.

My thoughts exactly

stingray27
21-02-2013, 21:53
What dataset did you use to validate your OPR calculations?





I haven't... I was having trouble because I wasn't sure which OPRs integrated the adjusted score based on Co-op bridge balancing and which did not. So my data currently may be off slightly. I also am currently using the FRC-Spy xml feed to calculate the OPR. I really want to change that to the USFIRST data by parsing HTML because I know that data is accurate. I am open to specific methods of calculating it if you have any suggestions!

Ian Curtis
21-02-2013, 22:00
What dataset did you use to validate your OPR calculations?




Have you done any work to show that OPR on a partial event is useful? I looked at a regional in 2010 and found that that OPR really just wasn't worth looking at until Friday night, but would love to know if someone has done some more in depth work to show when it becomes useful, as the 1 regional I did is not exactly a big dataset.

stingray27
21-02-2013, 22:10
Have you done any work to show that OPR on a partial event is useful? I looked at a regional in 2010 and found that that OPR really just wasn't worth looking at until Friday night, but would love to know if someone has done some more in depth work to show when it becomes useful, as the 1 regional I did is not exactly a big dataset.

Yes I have. That was a very interesting route I went when I looked at that information, because like you, I was curious to see what it would do. First, the reason I put a limit on when you can calculate OPR is because I cannot invert the matrix sooner than that match. Second, the data isn't quite representative until around 50% to 75% of the regional is complete. I have noticed that most of the OPRs are to the extremes when calculated early. As the regional progresses, the OPRs tend to settle into more valid ranges. By Friday night however, I am confident it will be fairly accurate and should do a good job in predicting the rankings.

dtengineering
22-02-2013, 01:01
Have you done any work to show that OPR on a partial event is useful? .....

I'd say that the "predictions" for upcoming match results will be a good way to determine when the data starts to become significant. It would be great to have an analysis of what fraction of the predictions are correct... it would be an excellent way to show at what point the OPRs become an effective indicator of match outcome.

But OPRs and scouting reports are always useful, if only for entertainment's sake!

Jason

Andrew Schreiber
22-02-2013, 01:05
Yes I have. That was a very interesting route I went when I looked at that information, because like you, I was curious to see what it would do. First, the reason I put a limit on when you can calculate OPR is because I cannot invert the matrix sooner than that match. Second, the data isn't quite representative until around 50% to 75% of the regional is complete. I have noticed that most of the OPRs are to the extremes when calculated early. As the regional progresses, the OPRs tend to settle into more valid ranges. By Friday night however, I am confident it will be fairly accurate and should do a good job in predicting the rankings.

Have you actually seen if OPR predicts better than a coin flip? I'd be curious at what point it exceeds the "pick random alliance" model or even the "pick alliance whose sum of rankings is lower" model.

xSAWxBLADEx
22-02-2013, 01:06
Is there a refresh all button or do I have to go into every district/regional and update it?

Ether
22-02-2013, 01:27
I am open to specific methods of calculating it if you have any suggestions!

I do have a suggestion.

Do not use matrix inversion. Instead, use Cholesky decomposition to factor the matrix. Read this thread (http://www.chiefdelphi.com/forums/showthread.php?p=1119150#post1119150), starting at post#36.

Justin Montois
22-02-2013, 02:15
I do have a suggestion.

Do not use matrix inversion. Instead, use Cholesky decomposition to factor the matrix. Read this thread (http://www.chiefdelphi.com/forums/showthread.php?p=1119150#post1119150), starting at post#36.




Annndddd my brain exploded.


Definitely going to check out the app though! Good work.

stingray27
22-02-2013, 06:50
Is there a refresh all button or do I have to go into every district/regional and update it?

There is no refresh all button... this would cause the app to try and calculate all oprs for every team at every regional and I felt that the processing power would be too much on the phones. On a regional interface (the screen to select match results/predictions/awards/teams) if you hit the settings button on your phone it will bring up an option to refresh all components of a regional.

Have you actually seen if OPR predicts better than a coin flip? I'd be curious at what point it exceeds the "pick random alliance" model or even the "pick alliance whose sum of rankings is lower" model.

From what I have seen (although it uses complete data from the end of the tournament), the OPR will determine who wins the match almost every time. As of score, sometimes it is dead on, sometimes it is off.

jafisher
22-02-2013, 11:51
Where can I find the options menu? It says I need to open it to update team lists but I cannot find where to open it. :P

jlmcmchl
22-02-2013, 12:01
Where can I find the options menu? It says I need to open it to update team lists but I cannot find where to open it. :P

Most android devices have hard buttons for home, search, back and settings. It's the fourth menu that will bring it up. I'll talk to him about adding a button on the page instead of banking it off of the hardware.

dodar
22-02-2013, 12:14
Most android devices have hard buttons for home, search, back and settings. It's the fourth menu that will bring it up. I'll talk to him about adding a button on the page instead of banking it off of the hardware.

Newer android phones just have back, home , recent apps buttons. The settings button only appears when an app is set to use it.

jafisher
22-02-2013, 12:14
Most android devices have hard buttons for home, search, back and settings. It's the fourth menu that will bring it up. I'll talk to him about adding a button on the page instead of banking it off of the hardware.

Thanks,
I'm using the HTC evo 4g LTE. I only have buttons for home, back and recent apps.

Ether
22-02-2013, 12:23
I felt that the processing power would be too much on the phones.

Does anyone know: How much memory and MIPS does a typical android phone have for apps?

dodar
22-02-2013, 12:28
Get a hold of 111, they ran FRC Spyder for a few years and it was the perfect app for FIRST. And it was pretty big and never crashed or messed up; atleast to my knowledge it never did.

Basel A
22-02-2013, 13:26
From what I have seen (although it uses complete data from the end of the tournament), the OPR will determine who wins the match almost every time. As of score, sometimes it is dead on, sometimes it is off.

I can't speak to mid-event OPRs, but post-event OPR predicts right around 80% of matches correctly. You can actually use OPRs from previous events to predict high-60s to mid-70s percent of matches at a regional or world CMP.

But to be frank, I'm pretty sure knowing that is totally worthless in answering Andrew's query. I'm really curious as to the answer to that question. Might get into that as a weekend project sometime.

engunneer
22-02-2013, 15:39
You can actually use OPRs from previous events to predict high-60s to mid-70s percent of matches at a regional or world CMP.

in 2009, I ran OPR after the match schedule came out at CMP for my field (Galileo), and it said we'd seed 3rd after 111 and 67. I had to go back an inspect the match schedule to verify, but we were partnered with 67 and 11 in a match each, and never faced them in quals. I swear we had the luckiest match schedule of the field. Ended up seeding 2nd after HOT had a freak loss towards the end of quals. 111 picked 67 and went all the way, IIRC.

OPR data after an event is certainly useful.

Joe Ross
22-02-2013, 19:26
Does anyone know: How much memory and MIPS does a typical android phone have for apps?

Wikipedia puts typical ARM processors used for android anywhere between 5000-15,000 MIPs. http://en.wikipedia.org/wiki/Instructions_per_second

Ether
24-02-2013, 22:27
Wikipedia puts typical ARM processors used for android anywhere between 5000-15,000 MIPs.

@stingray27:

That ought to be more than enough to process every match at every event, if you use the right matrix factoring algorithm.

I've got a 9-year-old desktop PC that can load match data, crunch it, and output the OPR results for every match for every event for the whole season in about 12 seconds.

dodar
24-02-2013, 22:34
Is an update going to be coming anytime soon because I still cannot update anything on it? So, for the time being, it is just using up space.

stingray27
25-02-2013, 06:54
Is an update going to be coming anytime soon because I still cannot update anything on it? So, for the time being, it is just using up space.

I am updating some things and adding functionality. An update should be available within the next 2 days! (Sorry busy weekend with the practice robot).

dodar
25-02-2013, 07:23
I am updating some things and adding functionality. An update should be available within the next 2 days! (Sorry busy weekend with the practice robot).

Thanks! :D

stingray27
25-02-2013, 21:27
Hey Chief!

Thank you so much for your support so far. I was planning on releasing some additional functionality soon but ran into some bugs and issues described on this thread. I updated the app to the Google Play store mere seconds ago so look for an update within the next few hours. The fixed bugs include:

Menu Bar eliminated - functions added as buttons to the screen
Automatic updates if internet connection exists
Corrected team searching when navigating from the awards pane


I am looking at new functionality but recognized that this needs to work for this upcoming weekend. So look forward to another update soon! Thanks for your support!

Jaxom
25-02-2013, 22:41
I'm looking forward to your update; I love the app just for figuring out who's going where. Much handier than going directly to TBA on my phone.

Automatic updates if internet connection exists


Is the behavior above controllable via option? Having a way to *not* have battery-draining apps running on a phone inside buildings that already block reception for many phones would be nice. I can always turn off my network, but it'd be nice to be able to bring up cached data (say, a schedule) without having the app try to update.

stingray27
25-02-2013, 22:49
I'm looking forward to your update; I love the app just for figuring out who's going where. Much handier than going directly to TBA on my phone.



Is the behavior above controllable via option? Having a way to *not* have battery-draining apps running on a phone inside buildings that already block reception for many phones would be nice. I can always turn off my network, but it'd be nice to be able to bring up cached data (say, a schedule) without having the app try to update.

Great point to bring up! A more valid statement would be that I fixed automatic updating on first open. As soon as you update a regional, that data is cached on your phone and is usable from then on out until you update over it.

dodar
25-02-2013, 22:54
Thanks for the app update. One suggestion I would make, though, for the next update would be to add a function to update all the regionals at once. Because how it is setup now, is that you have to go into each separate regional and update it one by one.

Ether
25-02-2013, 23:05
Thanks for the app update. One suggestion I would make, though, for the next update would be to add a function to update all the regionals at once. Because how it is setup now, is that you have to go into each separate regional and update it one by one.

See earlier posts:

There is no refresh all button... this would cause the app to try and calculate all oprs for every team at every regional and I felt that the processing power would be too much on the phones.

Do not use matrix inversion. Instead, use Cholesky decomposition to factor the matrix. Read this thread (http://www.chiefdelphi.com/forums/showthread.php?p=1119150#post1119150), starting at post#36.

@stingray27:
That ought to be more than enough to process every match at every event, if you use the right matrix factoring algorithm.

dodar
25-02-2013, 23:15
See earlier posts:










Sorry, I probably should have specified. I meant for everything except OPR. Like team lists, match schedules, results, etc.

stingray27
01-03-2013, 11:03
Sorry for all of the late updates, but OPR FIRST 1.2 is now available. Another update may be up shortly but I wanted to get another update out to make the app work. Look for it to become available on your phones shortly

Bongle
01-03-2013, 16:01
I'd say that the "predictions" for upcoming match results will be a good way to determine when the data starts to become significant. It would be great to have an analysis of what fraction of the predictions are correct... it would be an excellent way to show at what point the OPRs become an effective indicator of match outcome.

But OPRs and scouting reports are always useful, if only for entertainment's sake!

Jason

Older versions of OPRNet had a "self-check" mode for their predictor - if a regional was complete when someone asked for a prediction, it would tell you how good the predictions would have been if it had made them with the data available after each match. So it would say:
"After match 59, the predictions for matches 60-80 would have been 65% correct"
"After match 60, the predictions for matches 61-80 would have been 64% correct" (it varied a lot)

Generally what I found was that on friday night, saturday predictions based on the sum of OPRs for each alliance were 60-70% correct, which is obviously way better than a coin toss. This depends on the game though - OPR is better or worse depending on what the game is like. See the 1-hour mark of Karthik's presentation at champs last year for more details.

Post-event (aka once you know all the data) it was 80ish% correct, but that's a fairly worthless stat: once the event is over, anyone can get 100% of predictions correct!

Racer26
01-03-2013, 18:44
Am I the only one finding that this app straight up doesn't work? I couldn't pull anything for BAE all day, while FRC Spyder was working fine.

engunneer
01-03-2013, 19:28
Am I the only one finding that this app straight up doesn't work? I couldn't pull anything for BAE all day, while FRC Spyder was working fine.

Bae results are working with todays update.

Thanks!

CardcaptorRLH85
01-03-2013, 23:35
I'm not getting anything from the 'Team Statistics' choice for the Kettering University District event and even though they and BAE's Granite State Regional have played the same number of matches so far (52 through Friday night), BAE does give me OPR rankings. I also don't get any data for the other District event this week (Traverse City) even though I currently get OPR data for every Regional that played matches today.

Is there an issue with the way the districts are set up, either in the code or real life, that's causing this?

stingray27
01-03-2013, 23:38
I'm not getting anything from the 'Team Statistics' choice for the Kettering University District event and even though they and BAE's Granite State Regional have played the same number of matches so far (52 through Friday night), BAE does give me OPR rankings. I also don't get any data for the other District event this week (Traverse City) even though I currently get OPR data for every Regional that played matches today.

Is there an issue with the way the districts are set up, either in the code or real life, that's causing this?

You beat me to it :D I was just typing this up when you replied. Check for an update within the hour. Here is what I was typing though:

OPR FIRST 1.3 is now available. Plenty of bugs were fixed today - so I apologize for all of the inconvenience. Nice thing is, I believe I updated all of my bugs and it should work fairly well now. If I notice any others, I will update them as soon as possible. The revision from 1.2 to 1.3 fixed:
- Now can display match stats from District events (Ie Kettering and Traverse City). The district system made parsing different but I fixed it.
- The awards page didnt work but now does

Now on to functionality! Should be coming up shortly (the new cool functions :D) but give me some time on that. Thanks!

CardcaptorRLH85
01-03-2013, 23:43
You beat me to it :D I was just typing this up when you replied. Check for an update within the hour. Here is what I was typing though:

OPR FIRST 1.3 is now available. Plenty of bugs were fixed today - so I apologize for all of the inconvenience. Nice thing is, I believe I updated all of my bugs and it should work fairly well now. If I notice any others, I will update them as soon as possible. The revision from 1.2 to 1.3 fixed:
- Now can display match stats from District events (Ie Kettering and Traverse City). The district system made parsing different but I fixed it.
- The awards page didnt work but now does

Now on to functionality! Should be coming up shortly (the new cool functions :D) but give me some time on that. Thanks!

Thanks for the update, I didn't actually get 1.2 until about 2 hours ago so I wasn't sure what the issue was. I guess I'll be waiting until morning for the 1.3 update though. Google Play doesn't show it for me on my computer or my phone yet. Thanks for the update ^_^

Coach Norm
02-03-2013, 01:22
I cannot get mine to update the Hub City tournament all day. I am trying tonight and still says update unsuccessful. I have updated to the latest version.

Norman

HayWire1569
02-03-2013, 01:35
Is there anything this awesome for apple products?

Greg Needel
02-03-2013, 01:55
I cannot get mine to update the Hub City tournament all day. I am trying tonight and still says update unsuccessful. I have updated to the latest version.

Norman



ditto.

waialua359
02-03-2013, 03:48
in 2009, I ran OPR after the match schedule came out at CMP for my field (Galileo), and it said we'd seed 3rd after 111 and 67. I had to go back an inspect the match schedule to verify, but we were partnered with 67 and 11 in a match each, and never faced them in quals. I swear we had the luckiest match schedule of the field. Ended up seeding 2nd after HOT had a freak loss towards the end of quals. 111 picked 67 and went all the way, IIRC.

OPR data after an event is certainly useful.

Yes, i remember that match they lost. We were their partner.

stingray27
02-03-2013, 07:01
ditto.

Yep. Thank you. Bug is noted and I will take a look at it as soon as possible. Looks like when I fixed the mi districts I messed up hub city...

wireties
02-03-2013, 07:54
I don't show 1.3 being available on the play store. Can one "force" an update if the auto-update says nothing new is available?

Thanks for the app!

GearsOfFury
02-03-2013, 08:21
Just a note, when I check my install from my app manager, it says v1.3, but the "About" text still says v1.0 / 2/15/2013.

Also see that there is an invalid team 1786 which lists as "null" at Hub City - maybe related to the broken team stats (all zeros / blanks)?

Just minor stuff. Neat app! Keep up the great work.

engunneer
02-03-2013, 17:06
I played with the app at bae, and it was useful, but it never found the elimination bracket, so had to manually enter matchups for predictions.

Nyxyxylyth
31-03-2013, 17:33
Could the app support a single-click prediction on an upcoming match from the schedule?

It's a drag to enter the teams manually, though I guess it helps keep you busy in the stands.

cmrnpizzo14
31-03-2013, 17:47
Could the app support a single-click prediction on an upcoming match from the schedule?

It's a drag to enter the teams manually, though I guess it helps keep you busy in the stands.

I believe that it does. I'm not sure how I can test it right now, but I know when I was at Boston I checked a match for the next day by either single clicking on the match in the schedule or holding it.

Nyxyxylyth
31-03-2013, 18:49
I believe that it does. I'm not sure how I can test it right now, but I know when I was at Boston I checked a match for the next day by either single clicking on the match in the schedule or holding it.
Is that a menu button function? Single clicking or holding didn't do anything on my HTC EVO LTE.

cmrnpizzo14
31-03-2013, 18:56
Is that a menu button function? Single clicking or holding didn't do anything on my HTC EVO LTE.

I have an LG Optimus and if I go into the match schedule and single click a match it takes me to the prediction screen

timytamy
06-04-2013, 06:17
"This item cannot be installed in your device's country."

Is it possible to be able to get this fixed?

rzoeller
06-04-2013, 11:59
Any chance of a Holo theme update?

stingray27
06-04-2013, 13:28
The app should now be available in Australia. Not sure when it will be published on the google play marekt. may be a few hours...

Any chance of a Holo theme update?

As for the theme update, since there is only 1 more week left of competitions + nationals, I don't believe I will be making a User Interface update. I will hopefully be publishing another version with added functionality if I have time.

rzoeller
06-04-2013, 13:38
As for the theme update, since there is only 1 more week left of competitions + nationals, I don't believe I will be making a User Interface update. I will hopefully be publishing another version with added functionality if I have time.
Any chance of open-sourcing this after the season?

stingray27
27-02-2014, 01:47
Any chance of open-sourcing this after the season?

A little late, but I will be looking into releasing the code after this season now that I have ironed out all of the problems.