Cause?
The highlighted comment was created in this revision.
Hmm... I don't think so. While IMO it's important to handle "oops, I skipped a turn and lost my radar lock" gracefully, that would have a similar probability of affecting any given round out of the 35 rounds, which would likely not result in such a huge gap between battles.
Whatever the problem is likely is something that affects subsequent rounds after the problem first occurring I think... Times like this make me wish Roborumble sent slightly more information to the server (i.e. per round results, or compressed robot stdout logs for the last <insert-number-here> battles in the rumble)
A few little spots where NullPointerExceptions crept in. Just needed a few sanity checks here and there. Wave surfing with a kNN is very interesting in round one.. where there may be little or no data to go on yet!