The Challenge

Robotics and additive manufacturing markets have entered a new phase of growth. This growth is being driven by new levels of controls that allow robots to “come out of the cage” and reside next to humans. These types of robots are commonly referred to as collaborative robots. Traditionally, robots have been used to weld, assemble, paint and move heavy payloads and required large, complex, costly systems for ensuring system safety. Collaborative robots are finding their way into the human environment where they are assisting operators by doing some of the heavy lifting, aiding in precision movements, and replacing mundane repeatable tasks with more consistency and accuracy.

Making robots more collaborative involves a unique combination of software controls and sensing. As collaborative controls technology evolves designers are finding performance limitations in the mechanical design of the robot, mainly in the motorized robot joints. These limitations can reduce robot throughput and increase cycle times. The main objective of this technical note is to uncover the mechanical attributes of the robot joint that limit collaborative abilities and introduce an alternative design that will enable the controls group to better control these joints.

The Solution

Selective Compliance Articulated Robot Arm (SCARA) robots use multiple motorized robot joints. Each robot joint contains a drive motor, gear system, and encoder. The global quest for reducing size, weight and complexity is driving highly integrated designs. These high-density robot joints contain direct drive motors kits, low profile zero backlash gearing, and precision encoders. Reducing size while increasing accuracy has several challenges. One of the major disadvantages in the mechanical area is lack of internal stiffness.

Mechanical stiffness (or lack of stiffness) directly impacts the dynamic performance and accuracy of any structure. When cantilevered extensions are coupled to a motorized joint, the problem is compounded, the load can vary significantly with each robot pose. The output of the joint may move when there is no movement at the input (motor) side of the joint. This torsional windup will impact dynamic performance as well as accuracy. This lack of stiffness also limits how “collaborative” a robot can actually be.

This technical note identifies the source of poor stiffness. It reveals how one can get information about this phenomenon, and it provides a solution that is natural evolution of robot joint technology. This solution uses dual encoders and a real time software algorithm as active feedback and correction. With this approach collaborative robots can rival their non-collaborative cousins in speed and agility.

Eventually, all robots can have collaborative elements that minimize the risk and improve safety in all applications.

Robot Joint Design

Design decisions usually start with some end application in mind. Robotics has evolved from first replacing repetitive motion with more accurate motion while handling heavy loads, to movements that are more precise and decision making through the use of artificial intelligence algorithms.

A highly integrated robot joint design typically uses a direct drive motor, (large diameter and short length) coupled to gearing. Since the output speed is relatively low, typically 50-500 rpm, the gear set is a worthy trade off to move the power peak to the operating point and maximize the torque density. A direct drive motor coupled to a high ratio low profile gear system is the best solution for torque and size and tends to be the norm in the industry.

Note: there are direct drive approaches that rival this path, but only for very low weight, light payload systems like semiconductor wafer processing.

The limitation with gearing in precision applications is usually backlash. Each joint’s position is directly dependent on all the other joints before it. Therefore, the best gearing solution is one with zero backlash. Harmonic and cycloidal gearing solutions provide the zero backlash attributes. Cycloidal drives are routinely used in large industrial robots for this very purpose.

I n smaller robots, harmonic gear solutions are becoming the best alternative due to their light weight and low profile. Ratios in the 100-150:1 range are commonly used and higher ratios (up to 300:1) are also available. The problem with harmonic gearing solutions is that they are based on a flexure that transmits the motion between the input and the output. This flexure is beneficial to avoid backlash, but it contributes to low rotary stiffness compared to tooth-tooth contact of normal gears.

Robot joint design Mechatronic solution

A designer can always move to a larger harmonic gear solution to improve stiffness, but that typically results in extra size and weight. The larger size gearing may also be overkill for the application. A better path is to keep the small size and low weight and compensate for the stiffness. Measuring the input and output joint simultaneously provides enough information to have a closed loop algorithm around stiffness and eliminate its negative effects.

Robot Joints in a Collaborative World

In the collaborative robot the controller needs to determine the difference between an external force applied to the robot and an internal reactive force because of joint windup related to low joint stiffness. Low stiffness may force the control system to be conservative when making a correction ultimately slowing down throughput.

As discussed above, high stiffness comes at the expense of weight and increased size and possible accuracy if it requires gearing with backlash.

A stiffness compensation algorithm that uses dual encoders is the most practical answer. The robot joint motor needs an encoder in order to servo. Due to the gear ratio, the output joint needs an encoder that defines its specific accurate position in space and supports overall robot trajectory accuracy requirements. As a result, most robot joints use two encoders. The relationship between these two encoders can be monitored and used along with a math model of stiffness to improve robot performance as long as both encoders have high resolution and reasonable accuracy.

Below we will discuss the stiffness equations and the selection of encoders that make it possible to compensate for stiffness.

Stiffness and Gearing

Traditional robot kinematic movements allow loads and reflected inertia to vary considerably with different robot poses. The stiffness of each joint is a non-linear phenomenon that depends on load and position. A lack of stiffness creates windup between the joint’s drive motor and the joint’s output. This residual loading has to be overcome before the motor control algorithm can feedback signals to robot controller about any external forces applied to the robot arm.

Understanding and modeling stiffness will also greatly improve throughput adding to the control loop corrections and improving bandwidth. The plot below is measured data from a harmonic gear set. It also has a piecewise linear equation that approximates the stiffness (lost angle when torque is applied) and identifies an additional hysteresis deadband.

Figure 1 - Torsional Stiffness as a function Torque and Angle

Figure 1 – Torsional Stiffness as a function Torque and Angle (Image Credit: Cone Drive)

Torque, stiffness and deadband (lost motion) are best understood using the example:

A size 20 harmonic gear set carries the following specifications;

  1. Rated actuator torque 34NM
  2. Hysteresis of 0.58 milliradian
  3. Torsional deflection angle at 34 NM output = 2.097 milliradians (based on equation provided and using T and K values from the datasheet)
  4. In a system with an input (motor side) encoder resolution of 20 bits (1048576 cts/rev) there are 166.9 counts per milliradian
  5. Total torsional error of plus lost motion would result in an error of 447 counts

The above system would have to be commanded 447 counts of movement at the input before there was any movement at the output. I n addition to monitoring joint output, dual encoders can be used to overcome the limitations of robot joints with harmonic gear sets with continuous measurement of the input and output. If there was no encoder on the output the robot accuracy would be subject to the torsional and lost motion effects.

On the other hand, if the encoder on the input side only had 12 bits, (1024 counts/rev), of position information the stiffness motion error would be less than one count. This would make the system uncontrollable and could cause an instability.

Conversely, if the encoder on the input side had limited accuracy, for example 0.2 degrees, the system would not be able to compensate for milliradian changes in relative position between input and output encoders.

There are several implications to what we have learned above.

  1. As the robot moves around and stops at different poses, the load on each of the joints changes considerably.
  2. Even within the rating of the gearing, the input versus output position can vary due to load and the effects are non-linear.
  3. If the robot payload is utilizing the 34 NM of the harmonic gear set, the gearing will be deflected (wound up) accordingly. When the robot attempts to move from this position, it could go into the intermittent range for the gearing and additional defection and lost motion would occur while in that range.
  4. There is a hysteresis deadband around each holding position. The size of this deadband changes with loading.
  5. If a human touches the robot arm, the resulting force on the arm may not be measurable by the motor current until the deadband and torsional effects of the stiffness are overcome.
  6. This makes the robot very limited at internal force detection and very non-linear when it comes to algorithms. It would be a poor collaborative robot.

Dual encoder robot joint design example

Figure 2 - Dual encoder robot joint design

Dual encoders, in this case, should have high resolution (20 bits or 1,000,000+ counts/revolution) and be accurate to better than 50 arc-seconds (242 micro-radians). If a force is applied in the presence of torsional lost motion, the change in relative encoder position can be used to determine that force has been applied. If there were only a position loop closed on the output of the robot joint, this would not be possible.

Stiffness compensation technique example

Compensating for stiffness and lost motion allows the servo loops to operate at a higher bandwidth speeding up throughput of the robot. Force sensitivity to external loading would increase considerably using the difference between input and output encoder while moving along with an algorithm to do real time compensation and more accurately follow the input command.

Using the stiffness versus angle equations in Figure 1 above, the following algorithm/observer can be added to the forward path motion code. This assumes a 100:1 encoder ratio, same resolution of input and output encoders, and calculates the angle difference between both encoders. This approximates the torque error based on the gearing manufacturer’s stiffness curve.

Code Example

The Torque error variable can be used in the robot controller to factor into current monitor information to detect true external loading. It can also be used as a feed forward term during moves to compensate for stiffness lag between commanded motion and actual joint motion.

Note: the above Torsional Stiffness chart shows a piece wise linear approximation of the stiffness. This is not required for the 1St order approximation to compensate for stiffness. It is not common for low cost optical encoders to be used because of their low resolution output and magnetic encoders do not meet this accuracy level further complicating the algorithms that detect lost motion. Therefore, the encoders above are interpolated optical encoders with high resolution and high accuracy. Incremental or absolute encoders can be used, but absolute encoders are preferred for less wiring points as well as immediate operation on power up mode.

Summary & Conclusions

In most cases force detection is used to make the robot more collaborative. If an external force is applied to the robot, (by a human, for example), it is detected through motor current allowing the controller to make a decision on an alternative response. This response maybe to stop motion, reduce speed, or change direction. ln all cases, safety is paramount. Collaboration involves working with and next to humans without causing any safety issues.

There are two main methods for embedded detection and measurement of force or torque; strain gages and motor torque. Strain gages normally only cover certain single dimensions requiring multiple sensors. They also carry a significant wiring challenge.

Detecting motor torque changes as feedback from external forces applied is the preferred method because the motor is what is providing the motion in the first place and its current levels are directly proportional to its torque output. Unfortunately, any compliance and decoupling of the robot mechanics from the motor results in errors in torque measurements.

The method discussed in this technical note uses dual encoders, not only to improve joint accuracy, but for real time monitoring of the stiffness/compliance in each robot joint. Through this method, joint position and torque can be monitored together to provide information to the collaborative robot controller. With accurate torque and position monitoring force sensing, even in the presence of stiffness/compliance can be compensated for.

Force input is related to power (voltage & current) input to the motor. When stiffness enters the system there is a compliance in force and position that can disconnect the input force and position from the output force and position. This makes detecting an external force, from human interaction, much more complicated.

Dual high resolution encoders are especially effective when there is a lack of torsional stiffness and a potential friction deadband. A simple algorithm based on the stiffness model can be used to compensate allowing the robot to be more collaborative with good dynamic performance as shown in the Stiffness Compensation Algorithm section above. The algorithm will allow the robot controller to make a 1st order compensation for stiffness limitations.