Additive manufacturing and robotics markets have entered into a new phase of growth and this growth is being propelled by new levels of controls that enable robots to “come out of the cage” and reside next to humans. Robots of these types are often known as collaborative robots. Robots have been traditionally used to assemble, weld, paint and shift heavy payloads and needed huge, complex and costly systems to ensure system safety. Collaborative robots are entering into the human environment, where they are helping operators by performing some of the heavy lifting tasks, assisting in precision movements and substituting routine repeatable tasks with more accuracy and consistency.
Image Credit: Shutterstock/Zapp2Photo
A unique combination of sensing and software controls is required to make robots more collaborative. With the emergence of collaborative controls technology, designers are encountering performance limitations in the robot’s mechanical design, mostly in the motorized robot joints. These performance limitations will not only reduce robot throughput but also increase cycle times. The main goal of this article is to find out the mechanical attributes of the robot joint that restrict collaborative abilities and develop an alternative design that will allow the controls group to better handle these robot joints.
Multiple motorized robot joints are used by Selective Compliance Articulated Robot Arm (SCARA) robots, with each robot joint containing an encoder, gear system and drive motor. Highly integrated designs are being driven by the global quest for reducing weight, size and complexity. These high density robot joints come with precision encoders, low profile zero backlash gearing and direct drive motors kits. However, there are several challenges when it comes to reducing size and increasing accuracy. Lack of internal stiffness is one of the major drawbacks in the mechanical area.
Mechanical stiffness, or lack of stiffness, directly affects the accuracy and dynamic performance of any structure, and the problem is compounded when cantilevered extensions are combined to a motorized joint. With each robot pose, the load can differ considerably. The output of the joint may move if there is no movement at the input (motor) side of the joint.
Moreover, this torsional windup will affect both dynamic performance and accuracy and the lack of stiffness will also restrict how “collaborative” a robot can actually be. This article identifies the source of poor stiffness, demonstrating how information can be obtained about this phenomenon and providing a solution that is natural evolution of robot joint technology.
This solution employs dual encoders as well as a real time software algorithm as active feedback and correction. With this method, collaborative robots can challenge their non-collaborative cousins in terms of speed and agility. Ultimately, all robots can have collaborative elements that reduce the risk and enhance safety in all applications. This article is closely related to TN-3101 Robot Joint Design Guidelines which can be found at https://www.celeramotion.com
Robot Joint Design
Design decisions often begin with some end application in mind. Today, robotics has progressed from handling heavy loads while replacing repetitive motion with more accurate motion, to movements that are more precise and decision making through the use of artificial intelligence algorithms. Normally, a highly integrated robot joint design employs a direct drive motor, (short length and large diameter) which is attached to gearing.
As the output speed is fairly low, typically 50-500 rpm, the gear set is a worthy trade off to shift the power peak to the operating point and increase the torque density. The best solution for size and torque is a direct drive motor attached to a high ratio low profile gear system — which also tends to be the norm in the industry. Note: direct drive approaches are available that compete this path, but only for extremely low weight, light payload systems such as semiconductor wafer processing.
Backlash is the usual limitation with gearing in precision applications. The position of each joint directly depends on all of the other joints before it. As a result, zero backlash is considered to be the best gearing solution. Zero backlash attributes are provided by cycloidal and harmonic gearing solutions. Cycloidal drives are usually employed in large industrial robots for this sole purpose.
In the case of smaller robots, harmonic gear solutions are becoming the best alternative because of their low profile and light weight. Ratios in the range of 100-150:1 are often used, but higher ratios (up to 300:1) are also available. One major issue with harmonic gearing solutions is that they are based on a flexure that is designed to transmit the motion between the output and the input. While this flexure is advantageous to prevent backlash, it contributes to low rotary stiffness when compared to tooth-tooth contact of normal gears.
To enhance stiffness, a designer can always move to a larger harmonic gear solution but that would result in extra weight and size. Further, the larger size gearing may be overkill for the application and hence a better way is to maintain the low weight and small size and offset the stiffness. Simultaneous measurement of the input and output joint provides sufficient data to have a closed loop algorithm around stiffness and get rid of its negative effects.
Robot Joints in a Collaborative World
In the case of collaborative robots, the controller has to establish the variation between an external force applied to the robot and an internal reactive force caused by joint windup related to low joint stiffness. Such low stiffness may push the control system to be conservative when making a correction, thus slowing down throughput of the robot. As mentioned above, high stiffness comes at the expense of increased size and weight and potential accuracy if it needs gearing with backlash.
The most practical solution is a stiffness compensation algorithm that employs dual encoders. The robot joint motor requires an encoder in order to servo. Considering the gear ratio, the output joint needs an encoder that is capable of defining its specific accurate position in space and supporting the overall robot trajectory accuracy requirements. Consequently, two encoders are used by most robot joints. The association between these two encoders can be tracked and used along with a math model of stiffness to enhance robot performance, provided both encoders have reasonable accuracy and high resolution.
The following sections discuss the stiffness equations as well as the selection of encoders that make it possible to offset stiffness.
Stiffness and Gearing
Conventional robot kinematic movements enable loads and reflected inertia to differ significantly with different kinds of robot poses. Each joint’s stiffness is a non-linear phenomenon that relies on position and load. The absence of stiffness produces windup between the drive motor of the joint and the output of the joint. It is important that this residual loading is resolved before the motor control algorithm feedbacks signals to robot controller about any external forces applied on the robot arm.
Moreover, understanding and modeling stiffness will considerably enhance throughput, which, in turn, will add to the control loop corrections and improve bandwidth. The plot shown below is measured data from a harmonic gear set. Further, it has a piecewise linear equation that approximates the stiffness (lost angle when torque is applied) and detects an additional hysteresis deadband.
Figure 1. Torsional Stiffness as a function Torque and Angle. (Image credit: Cone Drive.)
Deadband (lost motion), stiffness and torque can be best understood with an example.
A size 20 harmonic gear set has the following specifications.
- Hysteresis of 0.58 milliradian
- Rated actuator torque 34 NM
- In a system with an input (motor side) encoder resolution of 20 bits (1048576 cts/rev), there are 166.9 counts per milliradian
- Torsional deflection angle at 34 NM output = 2.097 milliradians (based on equation provided and using T and K values from the datasheet)
- Total torsional error of plus lost motion would lead to an error of 447 counts
The system described above would have to be commanded 447 counts of movement at the input before there is any kind of movement at the output. Besides monitoring joint output, dual encoders can also be employed to resolve the restrictions of robot joints with harmonic gear sets with constant measurement of both the output and input. If the output does not have an encoder, the robot accuracy would be subject to the lost motion and torsional effects.
Conversely, the stiffness motion error would be less than one count if the encoder on the input side had only 12 bits (1024 counts/rev) of position information. This would make the system uncontrollable and may result in instability.
On the other hand, if the encoder on the input side had reduced accuracy, for instance 0.2 degrees, then the system will not be able to offset the milliradian changes in relative position between output and input encoders.
There are a number of implications to what has been learned above.
- As the robot moves around and stops at different poses, the load on each of the joints varies significantly.
- Even within the rating of the gearing, the input against output position can differ because of the load and the effects are non-linear.
- If the robot payload is utilizing the 34 NM of the harmonic gear set, the gearing will be deflected (wound up) accordingly. If the robot tries to move from this position, it could enter into the intermittent range for the gearing and more lost motion and defection would take place while in that range.
- A hysteresis deadband is present around each holding position and the size of this deadband changes with loading.
- When a human touches the robot arm, the ensuing force on the arm may not be measured by the motor current until the torsional effects and deadband of the stiffness are overcome.
- This makes the robot extremely limited at internal force detection and also extremely non-linear when it comes to algorithms. It would be a poor collaborative robot.
Dual Encoder Robot Joint Design Example
An example of a dual encoder robot joint design is shown below. It uses a frameless direct drive brushless permanent magnet motor with large through hole, a harmonic gear set and two high resolution absolute encoders. The overall goal of this joint design is to maximize torque density for the smallest joint weight and size.
As seen above, the most important design challenge is lost motion owing to deadband and stiffness in the gearing. The dual encoders are available to enable the control system to offset the angle differences between the output and input.
Another advantage of having two high resolution encoders is the ability to offset the stiffness. The above example employs load to overcome angle of deflection. Dual encoders make it possible to know the deflection angle and the controller can better approximate torque loading ultimately compensating for stiffness.
Here, dual encoders should have high resolution (20 bits or 1,000,000+ counts/revolution) and should be accurate to better than 50 arc-seconds (242 micro-radians). When a force is applied in the presence of torsional lost motion, there is a change in relative encoder position and this change can be used to determine that force has been applied. However, this would not be possible if there were just a position loop closed on the output of the robot joint.
Stiffness Compensation Technique Example
Compensating for lost motion and stiffness enables the servo loops to work at a higher bandwidth, thus accelerating the robot throughput. Also, force sensitivity to external loading would increase significantly using the variation between output and input encoder and at the same time moving along with an algorithm to perform real time compensation and more accurately track the input command.
The following algorithm/observer can be added to the forward path motion code by using the stiffness against angle equations shown in Figure 1. This assumes an encoder ratio of 100:1 – same resolution of output and input encoders – and measures the angle difference between both encoders. This approximates the torque error depending on the stiffness curve of the gearing manufacturer.
- 0010 Encoder_Difference = Output encoder – input encoder/100
- 0020 Stiffness_Factor = 167 ‘this is the counts/milli-radian of error for specific gearbox
- 0030 Angle_offset = (Encoder_Difference/Stiffness_Factor) ‘radians
- 0040 Torque error = Angle_offset * K ‘where K is the 1st order slope of stiffness chart above
Within the robot controller, the Torque_error variable can be used to factor into current monitor information in order to detect the actual external loading. The Torque_error variable can even be used as a feed forward term during moves to offset the stiffness lag between actual joint motion and commanded motion.
Note: The Torsional Stiffness chart shown above provides only a piece wise linear approximation of the stiffness, but this is not needed for the 1st order approximation to offset stiffness. Low cost optical encoders is not traditionally used as a result of their low resolution output, and magnetic encoders fail to meet this accuracy level which further complicates the algorithms that detect lost motion. Hence, the encoders described above are interpolated optical encoders with high accuracy and high resolution. Either absolute or incremental encoders can be employed, but the former is preferred for less wiring points and instant operation on power up mode.
Summary and Conclusions
In majority of cases, force detection is employed to make the robot more collaborative. Any external force applied to the robot (by a human, for instance), is detected via motor current, enabling the controller to make a decision on an alternative response. This response may be to change direction, reduce speed or stop motion. In all situations, safety is very important. Collaboration means working with and alongside humans without causing any safety problems.
Two main methods are available for embedded detection and measurement of torque or force; motor torque and strain gages. Strain gages can cover only certain single dimensions that require multiple sensors and they also carry a major wiring challenge. The preferred method is to detect motor torque changes as feedback from external forces applied, because it is the motor that provides the motion in the first place and its current levels are in direct proportion to its torque output. However, any compliance and decoupling of the robot mechanics from the motor leads to errors in torque measurements.
The method described in this article employs dual encoders to improve joint accuracy and also to allow real time monitoring of the compliance/stiffness in each robot joint. Using this method, torque and joint position can be monitored simultaneously to give information to the collaborative robot controller. With accurate position and torque monitoring, force sensing can be compensated even in the presence of compliance/ stiffness.
Force input is related to power (current ad voltage) input to the motor. When stiffness enters the system there is a compliance in position and force that can disconnect the position and input force from the position and output force. This makes it much more difficult to detect an external force from human interaction.
Dual high resolution encoders are particularly effective when there is a potential friction deadband and a lack of torsional stiffness. A basic algorithm based on the stiffness model can be applied to compensate, thus enabling the robot to be more collaborative with good dynamic performance as illustrated in the Stiffness Compensation Algorithm section above. This algorithm will enable the robot controller to make a 1st order compensation with regard to stiffness limitations.
This information has been sourced, reviewed and adapted from materials provided by Celera Motion.
For more information on this source, please visit Celera Motion.