Robot motors enable a robot to move. Without them a robot could not be called a robot. Electric motors are only some part of all actuators available. Nevertheless they are most commonly used in hobbyist robot applications.
Of course, there are many actuators that can move a robot. But covering all of them is not the point of this article. I am going to tell you something about main types of robot motors that are used in hobbyist applications.
As you can understand, these are electric motors more precisely - electric motors driven by a direct current. There are, of course, AC electric motors too, but I haven't seen everyone to use those to build a hobby robot. At least not yet!
I was going to say that they are easy to use when I realized that it would be only partially true. From one point of view you only have to supply voltage to its terminals and the motor will start to rotate. If you want it to rotate faster - increase the voltage, slower - decrease it.
But everything is not so simple. You want your motor to rotate in both directions, right? So you need a motor controller. They tend to be quite expensive and also not properly fitted for your particular motors. So the usual solution is to make your own H-bridge schematic for motor control.
When designing the control schematic, stall current should be taken into account. Your schematic has to withstand it. Basically, it is an amount of current your motor will draw when it is powered up but the resistive torque applied is so big that it can't move.
When choosing a power source you should make sure that it is close to the nominal voltage mentioned in the motor documentation. If you run it with a heightened voltage it won't last long. If you run it at lower voltage - it will produce less torque.
If you want your motor to rotate slower without losing power, you can use pulse width modulation (PWM). This basically means to switch the motor on and off very fast. This way, the motor rotates with a lower speed as if lower voltage would be applied without compromising the power.
Usually, the torque generated by a brushed DC motor is too small and the speed is too great to be useful. So, gear reductions are usually used to reduce speed and increase torque. There are also products where a gear reducer is already integrated with a motor.
In brushed DC motors there is a contact between the commutator and the brushes. The brushless design, on the other hand, has no contacts in a motor itself. So it can last considerably longer if compared to Brushed DC motors.
Because of this lack of physical contact the control system has to know when the current has to be applied and where. So, if you are willing to use a brushless motor then you'll have to get a separate electronic speed control unit.
Still, brushless motors are very widely used in RC community because they offer greater reliability, torque and have other good characteristics.
How do they work? You have to provide current to the coils at a predefined sequence. To rotate in other direction you have to change the sequence. To make it rotate faster you have to execute the sequence faster.
As you can understand, this control can be quite complicated. So, usually, you'd have to buy a special stepper motor controller to use it as a robot motor for your application.
By definition servo motors are motors integrated with a control system that enables precise positioning. So, usually, servo motors can rotate to a given angle, not continuously. Basically, the servo system could include also other types of motors, such as pneumatic or hydraulic as long as the feedback system is present to provide positioning.
However, when talking about servo motors used as robot motors I talk explicitly about DC motors equipped with a feedback system and a gear reducer. If I have to say something about possible motor types then I can say that there are servo motors that use a brushed DC motor and also servos that use brushless DC motors.
Unmodified they are great to construct robot arms and other things where a precise angle is needed. However, to provide propulsion you have to either modify the servo or buy one that is adapted for continuous rotation.
I am not really sure if a servo that is adapted for continuous rotation (stripped of the feedback system of its position) can still be called a servo. Actually it would be more correct to say that it is a geared DC motor with a control circuit. Still, they are regarded as servos in the community.
So how do you control one? Because a control circuit is already integrated in the servo motor, usually, you just have to connect it to the power source and provide a control signal. Control signal is a square wave. Servo motors can be controlled using pulse width modulation.
For an unmodified servo a definite width of the pulse means to rotate and stay at some position and other values mean other positions. In a continuously rotating servo, however, one pulse width value mean - full steam ahead and another - full steam backwards. The values in between are different speeds including zero.
In my opinion, this is pretty convenient. So, at the user end servo motors are the least complicated. DC brushed motors are the cheapest though. So if you are not afraid to get into electronics and make an H-bridge, go ahead with them.
Concerning the other two types, in my opinion, they are more suitable for more specific tasks, like off-road robots for brushless robot motors and tank turrets for stepper motors.
Of course, there are other actuators as I mentioned at the beginning. There are pneumatics, hydraulics, muscle wires and others. But using them would most likely mean to get into more advanced level. These four types of robot motors are enough for beginning.