# Understanding differential drive

I am a beginner in robotics and I have just come across the concepts of differential and steer drive. I don't understand them very clearly yet.

I found the following write up describing differential drive as follows:

If the angular velocities are identical in terms of both values and direction, i.e. if both the wheels are driven at the same speed and same direction (either clockwise or anticlockwise) then the robot tends to spin around its vertical axis. This complete turn capability is one of the greatest advantages of a differentially driven robot (a.k.a zero radius turn).

Being a complete beginner, I concede I could be entirely incorrect in disagreeing with the above. I just imagine that "both wheels" driving at the same speed and direction (clockwise or anticlockwise) would mean a robot is travelling along linearly i:e straight ahead. I don't understand why the writer says the robot is actually spinning around it's Z axis.

If I'm wrong, please explain what I'm missing.

And please, let me have links to material that would help me understand differential and steer drive.

Steer drive is what you know from a car where one motor powers both the wheels (either the front or the rear wheels) and then steering is achieved by turning the front wheels right or left.

Differential drive means having two motors, one that powers all wheels (or the track) on the right side and one that powers all wheels on the left side, the way steering is achieved with a differential drive is by making the wheels on one side of the vehicle turn faster than the other side making the vehicle turn to the opposite side of the wheels turning faster. this is the way a tank works.

One of the great advantages of differential drive is, as you quoted, that it can spin around its own axis (z-axis) if the wheels are driven in opposite direction making it capable of turning on the spot. this is not possible with steer drive because you have to move forward to turn.

Your instincts are correct if you are talking about rotating both wheels forward (or reverse) with the same rotational speed. In that case, the robot would move linearly forward (or backward), just as you describe. The drawings at the link you provide seem to support this. However, this analysis is different from what the text describes.

I think the problem you're having is from the text describing each wheel's rotation as either clockwise or anticlockwise. The text seems to describe a situation in which you define the $\hat{z}$ axis of each wheel as originating at the center of the axle which connects the two wheels. Also define each wheel's $\hat{z}$ axis with a positive direction that passes through the center of the wheel. In other words, both of the wheels will rotate about an axis that is parallel to the axle, but the left wheel's axis of rotation will be opposite in direction to the right wheel's axis of rotation.

Now consider a clockwise or an anticlockwise rotation about each of these two axes. For the wheel on the left, an anticlockwise rotation turns the wheel in the forward direction, but an anticlockwise rotation of the right wheel rotates it in the backward direction. And so on.

Given the above construct, the textual description of a differential drive makes sense. It's unfortunate that the picture does not make this clear.