Team 1540 did this for the 2007 season. We too, spent a LOT of time trying to figure out how to get it to work best. Once we figured it out, we were astounded at how simple it can be.
Our robot had two joysticks. One controlled planar motion (pushing the joystick forward, moved the robot forward. Moving it sideways meant that the robot moved straight sideways). The other joystick controlled rotation (we only used the x-axis). Our team members picked this up pretty quickly, and it's a blast to drive.
Control wise, you can break the problem into two parts. We figured out how to control planar motion using one joystick, and wrote a function for it. Then we figured out how to do rotation, and wrote another function for that. Both of these easier problems can be easily figured out with a pen and paper to diagram out what inputs you have, and what outputs you'd want in that situation.
Then all we had to do was combine them! We started out simply averaging the values (weighted averages, actually). There are better ways to do this, but this gets you going quickly and easily. Once you've gotten that up and working, you can try to figure out optimizations which can dramatically increase the maximum speed/performance.
Mecanum drive is a lot of fun, I'm glad to see another team taking it on.
As a side note, you can setup the wheels on your base in two ways. In one arrangement, the rollers on the wheels will form an 'x' on the bottom of the robot. In the other arrangement, they'll form an 'o'. You can program both to work, but it's worth taking the time to think through what the advantages/disadvantages to each are, as the two aren't interchangeable.
I hope that's helpful. I'll admit I haven't looked at the whitepaper. Good luck!
