Steering is via front wheel Ackermann, using independent steering motors with shaft encoders on the steering axes. (There wasn't enough space to use the standard mechanical Ackermann link.) Each drive wheel has a quadrature encoder to ensure we get the correct wheel speed while turning.
Here's a sketch of the system's geometry, and the trig functions we are using in LabVIEW:
We use the inside front wheel's steering angle to drive the outside wheel's angle, and the outside front wheel speed to drive the other 3 wheels' speeds.
Using LabVIEW, these calculations were quite easy. It's an excellent tool, and a real time saver.