Let’s say I have a two wheeled object, where each wheel has an independent velocity (lWheelV and rWheelV for the left and right hand wheels respectively). The velocities of each of the wheels are limited to the range [-1, 1] (ie. between -1 and 1).
- If lWheelV = 1 & rWheelV = 1, the object moves forward
- If lWheelV = -1 & rWheelV = 1, the object turns left (counter-clockwise)
- If lWheelV = 0.5 & rWheelV = 1, the object will drive forward while slowly turning left
- If lWheelV = -1 & rWheelV = -1, the object will move backward.
This may be easier to visualise in the following image:

What mathematics do I need to describe such an object, and more importantly how could I implement software that would replicate this behavior in Java.
It depends on really a whole bunch of things like vehicle width, fps, etc…
However, some tips:
To calculate the rotation for the vehicle in one frame, you can use the arctan function.
To determine the speed the vehicle is going to move along its axis, use this:
To rotate the axis of the vehicle by the angle computed in the first tip:
To move the vehicle over the axis:
A
normalise()method looks like this: