How to calculate required AngularVelocity to obtain max speed?

For the past few days, I’ve been coding a vehicle chassis. I’m actually very happy with my work, but I’m having an issue where my vehicle will go over the max speed.

My chassis has four motors that rotate the wheels using AngularVelocity. I use the following equation to calculate it.

MaxSpeed * MoveVector.Z

My vehicle uses gears, which set the max speed every time the vehicle shifts to a new one (along with torque). This works, but, the max speed is always higher than what I set it to.

I suspect there’s something I’m missing in my equation and I’ve scoured the forums/google to no avail.

All help is appreciated!

I believe the angular velocity of the wheel in radians per second would be (speed of the car in studs per second) / (radius of the wheel in studs).