Robots keep evolving and so do robot components used the make these new stronger, faster and more precise robots. One of those new components present in more advanced robots, are smart servo motors
, also often called robot servo motors. In this article, we will expose the main differences between regular servos
and new smart servos.
Control Method And Feedback
The main difference between regular and smart servos, is the way they are controlled. With regular servos, communication is unidirectional. The controller unit (Arduino
, Raspberry Pi
or any other dedicated control unit like the SSC-32U
or the BotBoarduino
) sends the position command to the servos using a Pulse Width Modulated (PWM) signal. The servo reads this PWM value and moves the servo to the desired position according to the duty cycle of the signal. This is pretty simple, but also pretty limiting. There is no way to get feedback on the actual position. One of the good things with this is that the PWM signal is universal and that all servos, without restriction of brand or model, will respond to the same signal. There are always a few exceptions, of course. For example, continuous or winch servos will react differently, but apart from a few specialty servos, the majority of them are interchangeable.
Standard Servo PWM Timing
Instead of using PWM signals to control the position, smart servos have traded this unidirectional technology for serial communication which allows for bi-directional communication. Unfortunately, the smart servo's software protocol and hardware implementation of the serial communication will vary depending on the manufacturer, the lineup and grade of servos. The most popular hardware protocols are: TTL Half-Duplex, TTL Full-Duplex and RS-485. This means that robot designers need to choose servos of the same brand and lineup because they are not all compatible with each other.
Some Of The Different Smart Servos Pinouts And Procotols
Fortunately, there are some advantages in using smart servos. One of them is the possibility to get feedback, and most notably position feedback. Although this feature may not be very important in standard RC applications like cars and other vehicles, it is a tremendous advantage in the robotic world. If you want to build a robot arm
, knowing the actual arm position in the real world by having access to the position feedback of each joint is a valuable asset. For example, if the controller is sending a +215 degrees position command and then reads the position value of 110 degrees, the controller will be able to know that something is wrong. An object may be blocking the path of your robot arm
or it might be trying to lift an object that is too heavy. With that precious information, the controller is able to react and correct the position to prevent burning the servo. Such a thing would not be possible with regular servos without using external sensors, thus adding payload and taking up space on the robot. If you are familiar with standard servos, you may think there is an error above with the +215 degrees position, but there is none. Unlike most regular servos, the majority of smart servos are not limited to +/- 90 degrees (180 degrees total).
Standard Servos Connected To A Controller Require A Lot Of Wiring
Another advantage of serial communication is the way the servos themselves are connected together. Standard servos need to be connected directly to the main controller. This means that different cable lengths are required to do a clean design. Smart servos, on the other hand, can be daisy-chained. What this means is that each servo has two connectors and that instead of connecting all the servos directly to the controller, each servo may be used as a pass-through. For example, in the construction of a robot arm
, the first servo would be connected in the controller directly, the second one would be connected to the first one, the third one to the second one and so on. Because all the servos share the same communication line, the servos also need to have a unique address in order to direct the control commands at one particular servo on the line.
Smart Servos Connected To A Controller Offer A Much Cleaner Solution
Standard servos simply don't have the option of being configurable. There is another type of servo, called a digital servo that can be programmed using dedicated programmers to modify parameters such as centre and end point, direction of rotation, maximum speed, dead band and fail-safe to name the most common ones.
Smart servos offer a variety of configurations. As with the communication protocol, the configurable parameters will change depending on the brands and lineups, but most of them will have the ability to configure the maximum speed, minimum and maximum position and current safety limit just to name few of the parameters. Some of them can even be configured to act as a continuous rotation servo. The configuration is done via the serial communication so there is no special programmer required for configuration only. The other advantage is that you can modify the configurations in the system itself, no need to unplug the servos and program them one by one.
Because serial communication is used, different types of input commands can also be sent to the smart servos, compared to only a position command for the regular servos. Most smart servos will not only accept position commands, but also speed and time commands. This means that it is possible to command a servo to run at a target speed of 10 degrees per second for 2.5 seconds. In regular servos, the speed is pretty much dictated by the speed at which the PWM signal is changed. To do the same speed and time control command, all the calculations need to be done inside the controller and the PWM needs to be constantly updated to match the desired speed. Because regular servos lack the feedback, if the PWM signal is changing too fast, the servo will simply lack behind and there will be no way for the controller to know without using additional sensors such as potentiometers or encoders. Speaking of position sensing, it is also possible with smart servos to turn off the motor drive. This makes the servo go limb and rotate freely while keeping the ability to read its live position. This is a particularly useful feature for robots, where you often need to calibrate a specific position. Turn off the motor control, place the robot in your calibration position and then simply record all the current positions.
DST Robots Using Smart Servos
Because smart servos are the latest technology, most of them benefit from an upgrade in precision. Although, some of the lowest grade smart servos might have equivalent precision to regular servos, most common entry level smart servos get a precision bump over their older brother. The higher the grade of the servo, the higher the precision will get, but so will the price.
Dynamixel High End Professional Grade Smart Servo
The Downside Of Smart Servos
Because smart servos are still quite new technology compared to regular servos, there is still no standard. Every company does things their own way which makes it harder for robot builders because once they choose a brand, they are pretty much stuck with it. This is true for the communication protocol, but it is also true for the mechanical aspect of the servos. All companies have their own form factor, brackets and horns. Also, because they all chose to go with patterns that are not compatible with the previous generation of servos, which have a ton of horns, brackets, mounting, pulleys, the number of parts
for building robots is pretty limited. The other downside is that they do not cover all the range covered by actual servos. The nano servo
and micro servo
versions are still nowhere to be found in the smart category. There is also no option for builders who would like to save a few dollars and use cheaper servos for one part of their robot that does not require as much precision or force as the rest of the robot.
What Is The Best Servo Type For My Robot ?
Smart servos are the latest, most advanced, most precise type of servos out there, so should I use them for all my robots? Well, not really. Yes, smart servos have plenty of interesting features but they may also be overkill for some projects. Here is a list of top reasons to consider when looking for which type of servo to use in your new project.
Top 5 reasons for choosing regular servos instead of smart servos:
- No programming skills required in most cases
- Working with a low budget
- Basic project where precision is not an issue
- No feedback required
- Small robot size (smart servos not available in micro format yet)
Top 5 reasons for choosing smart servos over regular servos
- Movement feedback is required
- More than 180 degrees is required
- More precision required
- Form factor ( Smarts servos's mounting pattern are usually more adapted to robots)
- More versatility required.
This blog is the first part of our Smart Servo Series, stay tuned since there is more to come!