By far the most common, convenient and tested model for driving simple robots is a differential drive system. A ‘differential drive’ systems is a drive system that operates on the difference in force produce at two or more points to turn the robot. In a differential drive system the robots drive and its steering are the function of one mechanism and we can use two motors to provide an unlimited and fairly robust control over movement. This system allows turning more or less in one spot – it allows the robot to spin in place – a very powerful potential for changing directions while standing in one position.
We will use two motors to drive a two wheel robot – but you can image using the same two motors to control a steering mechanism and a both wheels.
There are some limits to this system a differential drive system. It is relatively complicated to program movement in a specific arc or particular direction as it would be with a distinct linear steering system. That said the added complexity allows a more ‘native’ control over curves and arcs once we work out how to describe them via the relative speed of each wheel. Another way of putting this is that we have discovered the curve/arc is the ‘native language’ of differential drive robot – the challenge is working out how we can easily speak that language. The alternative would be to make the robot speaks our language – the language of our dominant technologies – the language of the cartesian grid – but then we’d lose part of the specificity that this robot offers. We’d potentially lose its potential to speak to us of its form and materials.