I skipped the research when I realized that all of the square roots and trig functions canceled out, and the mapping was pretty straightforward. To map rotation about a point x
r, y
r at angular speed w
r (measured in radians/second, with rotation from the positive x axis towards the positive y axis being a positive angular speed) to translation speed v
x,v
y and rotation w
0:
w0 = wr
vx = w yr
vy = -w xr
you can use this same preliminary mapping to make a mecanum drive rotate around a desired point.
For conversion purposes, 1 radian per second is 30/pi ~ 9.55 rpm.
Using the WPIlib convention for your coordinate system (+x to the right, +y forward, rotations clockwise as viewed from above), your angular speeds will be reversed from this, and you will need to use:
w0 = wr
vx = -w yr
vy = w xr