Optimizing Industrial Robots for Accurate High-Speed Applications
Abstract
Today’s standard robotic systems often do not meet the industry’s demands for accurate high-speed robotic applications. Any machine, be it an existing or a new one, should be pushed to its limits to provide “optimal” efficiency. However, due to the high complexity of modern applications, a one-step overall optimization is not possible. Therefore, this contribution introduces a step-by-step sequence of multiple nonlinear optimizations. Included are optimal configurations for geometric calibration, best-exciting trajectories for parameter identification, model-based control, and time/energy optimal trajectory planning for continuous path and point-to-point trajectories. Each of these optimizations contributes to the improvement of the overall system. Existing optimization techniques are adapted and extended for use with a standard industrial robot scenario and combined with a comprehensive toolkit with discussions on the interplay between the separate components. Most importantly, all procedures are evaluated in practical experiments on a standard robot with industrial control hardware and the recorded measurements are presented, a step often missing in publications in this area.
1. Introduction
State-of-the-art robotic systems are equipped with highly sophisticated industrial hardware, capable of short sample times and offering high computational power. This increasing arithmetic performance may be used to improve positioning accuracy and dynamic accuracy and compute time/energy-optimal trajectories. The proper fundamentals are found in the underlying mathematical models.
This contribution focuses on giving an overview of various nonlinear optimizations. With each optimization, a certain aspect of an arbitrary robotic system is improved. Applying all of them in sequence will provide better results regarding positioning accuracy and dynamic accuracy and will reduce the cycle times. The basis for this optimization lies in the kinematic and dynamical modeling of the system. Therefore, Section 2 starts with the deviation of these models enhanced by a model-based control strategy. Special emphasis is laid on the implementation on an industrial system including time delays. In Section 3, the static position accuracy of the robot is improved by considering unavoidable tolerances in the robot kinematics. The main topic is obtaining optimal configurations for the identification process. The identification of the dynamic parameters, that are used for the model-based control, is described in Section 4. Also, the problem of optimal exciting trajectories is solved by nonlinear optimization techniques. Finally, Section 5 reviews time/energy optimal trajectory planning for continuous path trajectories and point-to-point trajectories.
Each section provides information on the used solvers for the various optimizations and also presents detailed results of the conducted experiments. Experiments are performed using an off-the-shelf robot, a Stäubli RX130L shown in Figure 3, with industrial control hardware and commercially available measurement hardware, to guarantee that all proposed methods are applicable for industry. For specifications of the articulated robot, please consult Table 1.
Stäubli RX130L industrial robot | |
---|---|
Degrees of freedom | 6 |
Maximum load capacity | 10 kg |
Reach at wrist | 1660 mm |
Weight | ≈200 kg |
Previous works of the authors, which are also focused on industrial robotics, see, for example, [1], cover the basics like control and geometric path planning. Based on these works, a specific combination of algorithms is presented, each of which optimizes a specific aspect of the robotic system.
2. System Modeling and Control
2.1. Kinematic Modeling
2.2. Dynamic Modeling
Detailed dynamical modeling is an essential task because it is the basis for model-based control and optimal trajectory generation.
2.3. Control
The hardware setup is composed of an industrial PC, communicating via Powerlink with six ACOPOS servo drives, which power the synchronous motors of the Stäubli robot. The servo drives use cascaded controllers for precise position control of the robot’s joints. However, the articulated robot is a highly nonlinear system due to the serially connected arm/joint units. Typically, using linear joint controllers on a highly nonlinear mechanical system will not lead to sufficiently accurate and dynamic end-effector motion.
2.3.1. Model-Based Control
2.3.2. Implementation
In order to evaluate the quality of the suggested controls, the Stäubli RX130L robot is interfaced with the motion hardware. During this process, the robot’s mechanics, AC motors, and resolvers are not changed or manipulated in any way.
The industrial PC is using 400 μs as base sample time. Every sample step, the inverse kinematic problem is solved numerically to transform the desired end-effector movement into corresponding joint positions, velocities, and accelerations. With these reference joint variables (, and ), the mathematical model is evaluated to compute the feed-forward motor torques as stated in (7). Then, for each joint, a separate Ethernet telegram is generated containing the reference positions and corresponding feed-forward motor torques.
The servo drives are parameterized to accept cyclic position inputs for the cascaded controller. To do so, the cyclically arriving network telegrams are received and the desired reference positions are passed to the set value inputs of the cascaded controllers. Also, the computed feed-forward torques are transformed to corresponding motor currents and added to the servo drives’ current controllers set values. Figure 1 presents the corresponding block diagram.

2.3.3. Experimental Results
The quality of the implemented control strategy is validated by experiments with the Stäubli RX130L robot. Regarding industrial interests, the standardized trajectory found in the EN ISO NORM 9283, see [8], is used as reference trajectory. It consists of various elements: circles, straight lines, and squares in the typical workspace for an industrial application. The TCP velocity is chosen with 1 m/s and its acceleration with 5 m/s2.
Figure 2(a) depicts the the lag errors of the first three joints. The other axes show similar results. The positive influence of the feed-forward loop is clearly observable. To present insights on the TCP-accuracy during high dynamics, the TCP errors for the standard and the improved control law along the trajectory are presented in Figure 2(b). They are measured using a high-precision laser tracker LTD600 from Leica at a sampling rate of 1 ms.



Obviously, the positive effects of the model-based feed-forward approach drastically reduce the TCP and joint errors. Mainly, they compensate static effects, for example, resulting from gravity, and dynamic effects, for example, arising from friction and high accelerations while the standard cascaded controller provides stiffness, stability, and robustness.
3. Static Position Accuracy
Industrial robotic systems usually offer a satisfying repeatability. However, the lack of sufficient accuracy of the end-effector is responsible for time-consuming adjustments while commissioning new tasks. The sources of these errors are nonmodeled manufacturing tolerances, assembly inaccuracies, and joint encoder offsets.
3.1. Kinematics with Error Parameters
3.2. Geometric Calibration
3.3. Optimal Configurations for Calibration
It is obvious that the geometric calibration only identifies parameters well that are excited accordingly. To overcome this problem, the whole work- or joint-space could be discretized for taking the necessary measurements. While this approach is viable for small systems, it is heavily time and cost consuming for systems with multiple degrees of freedom. Such complex systems are common in today’s industrial applications. As a consequence, an optimal set of configurations, which guarantees well-excited error parameters, needs to be found.
3.3.1. Observation Index and Algorithm
In order to ensure a well-conditioned problem formulation and also well-excited parameters pe, the minimum singular value of the covariance matrix Λ = ΘTΘ in (14) is used as observation index and optimization criterion and further described by B = σm(Λ). As, for example, [9–11] show, there exist various choices for valid observation indices with slightly different properties. The proposed algorithm, which has been presented in [12], allows the use of arbitrary observation indices.
- (i)
Add a configuration: adding a new configuration with the Jacobian to the current information matrix Θi yields
(15)which directly influences the change of the chosen observation index(16) - (ii)
Remove a configuration: similar to the previous case, removing a configuration from the current information matrix Θi is described by
(17)
- (1)
Initialization: a given number of n configurations is randomly selected from the initial configuration-set Π. This subset ξ0 must lead to a nonsingular covariance-matrix Λ0 to ensure a computation of the observation index B(Λ0). Should this not be the case for the chosen configurations, then the random selection process is simply repeated.
- (2)
Remove and replace: the configuration that leads to the minimal decrease of the observation index, ΔB(Λi+1), is removed from the current configuration set ξi. Then, the resulting subset ξi+1 is complemented by exactly that configuration of Π that maximizes ΔB(Λi+2). For both operations, the correct element is found by an exhaustive search over the respective set. Note that due to the simple way to calculate ΔB (see ((15)–(17))), the computational effort for these searches is not as dramatic as it may sound. This remove-and-replace strategy effectively sorts out configurations that do not improve the overall conditioning of the covariance matrix and replaces them with ones that do. The step is repeated as long as one remove-and-replace operation still improves the observation index. Otherwise, the next step is executed.
- (3)
Add additional configurations: from the configuration-set Π exactly the one configuration (again, found by exhaustive search) that, by itself, maximizes ΔB(Λi+i), is added to the current subset ξi. This step is iterated until the observation index cannot be further increased by such an operation or until a user-specified maximum number of desired configurations is reached. Otherwise, execute the final step.
- (4)
Final remove and replace: analogously to step 2, each single configuration of the subset ξi is evaluated. If any remove and replace operation as described above still increases the observation index, this exchange is executed. Otherwise, the procedure is terminated.
3.4. Experimental Results
To evaluate the performance of the proposed algorithm, detailed experimental results for the RX130L robot are presented. First, the robot’s joint-space is discretized by 13 equally large intervals per degree of freedom. This results in a set of 136 ≈ 4.8 · 106 configurations. In reality the coordinates of the end-effector are measured by the visual infrared tracker system 3D-Creator, manufactured by the Boulder Innovation Group. A probe emitting infrared light by 4 diodes is mounted on the end-effector of the robot. This light is recorded by three CCD cameras and the position and orientation in world coordinates are calculated by stereovision. Robot configurations that are not visible by this system are removed. The remaining set consists of approximately 4000 configurations. Then, the algorithm is used to compute 32 optimal configurations. As Figure 4 emphasizes, the optimal configurations differ strongly from each other to keep the condition number of the covariance matrix low, also leading to well-excited parameters. Compared to a linear scan of the workspace, the observation index is reduced by the factor 18.5 while keeping the number of necessary measurements very small.

For information on the position and orientation accuracy before (uncal., pe = 0) and after calibration (cal), see Table 2. The orientation errors are represented in Cardan angles.
Position and orientation errors | ||||
---|---|---|---|---|
Maximum | Peak-to-peak | |||
uncal. | cal. | uncal. | cal. | |
ex in mm | 7.779 | 0.272 | ±6.171 | ±0.271 |
ey in mm | 19.026 | 0.310 | ±4.267 | ±0.303 |
ez in mm | 12.614 | 0.414 | ±1.402 | ±0.376 |
eα in ∘ | 1.140 | 0.128 | ±0.272 | ±0.109 |
eβ in ∘ | 1.817 | 0.191 | ±0.335 | ±0.182 |
eγ in ∘ | 1.160 | 0.131 | ±0.514 | ±0.116 |
4. System Identification
In this section, the identification of the dynamical parameters describing the robot behavior, see (4), is covered. This is clearly an essential task because it is the basis for model-based control and optimal trajectory generation.
4.1. Dynamic Parameter Identification
4.2. Optimal Exciting Trajectories
Similar to the problem of finding optimal configurations for the geometric calibration, the dynamic parameter identification requires exciting trajectories. In contrast to the steady-state configurations for the calibration, the identification trajectories include an additional dimension, the continuous time. Again, the aim is to minimize the condition number (cond) of the covariance matrix by choosing suitable trajectories. A promising approach is introduced with [14]. This section summarizes these ideas, presents solutions to the optimization problem, and verifies the results on the RX130L robot.
4.2.1. Trajectory Description and Optimization


4.3. Experimental Results
The measurements for the overdetermined equations system (28) are taken to estimate the dynamical base parameters pb. Figure 5(a) presents a plot of the end-effector path. Along the path, velocities up to 5 m/s and accelerations up to 12 m/s2 are achieved. To verify the quality of the identified parameters, the real robot’s motor torques are recorded and compared to the simulated ones on a reference trajectory which is defined in the EN ISO NORM 9283, see [8]. Figure 5(b) emphasizes, by presenting the measured and simulated motor torques, the good parameter identification for the RX130L robot. Joints four, five, and six show an equivalent quality.
5. Optimal Trajectory Generation
There are two types of trajectory generation problems that have to be considered. The first one is the continuous path (CP) trajectory and the second one is the point-to-point (PtP) trajectory planning problem. For the first one, the geometric path in world coordinates is defined. Typical maneuvers are straight lines, circles, and splines. For the PtP planning, only the coordinates for the start-point zE,0 and the end-point zE,end of the trajectory are given. These points can directly be transformed to joint coordinates q0, qend, and the motion planning can be performed in this coordinates. For both cases, physical constraints like motor speeds and torques have to be taken into account. Additionally, the computed trajectories have to result in continuous velocities, accelerations, and jerks. This helps that the gear elasticities are not overly excited, leading to a soft, vibration-less end-effector movement. Again, the equations of motion, derived in Section 2.2 and identified in Section 4, provide the basis for this approach.
5.1. Continuous Path Trajectory

5.2. Optimization Strategy
5.3. Experimental Results—CP Trajectory

The experiment with the Stäubli robot is conducted analogously to the previous section. The reference angles and torques are transferred to the servo drives where the occurring torques and motor velocities are measured for verification. Figure 8 shows the torques and velocities of the axes that actively constrain the trajectory. For readability reasons, the signals are normalized to their maximum values. The figure also shows that at least one constraint is always active, which is a necessary condition for the time-optimal solution.

5.4. Point-to-Point Trajectory
As an extension to the previous section, the PtP optimization is not limited to geometrically defined paths. Consequently, the one-dimensional variation of the trajectory parameter becomes a more complex two-point boundary value problem of the joint states with the additional task of minimizing time and/or energy, summarized in (40). Analogously to (38), the available joint velocities and torques are limited. Additionally, the joint limits qmax need to be considered and the desired initial and final configurations q0, , qe, and are introduced.
A compromise between time and energy optimality is adjusted with the parameters k1 and k2. Also note that the highly nonlinear differential equations of motion are included in the set of constraints.
5.5. Experimental Results—PtP Trajectory


6. Conclusions
This work summarizes various optimization strategies for robotic systems to improve the overall performance. The individual results of each section not only verify the chosen approach but also offer values for expected accuracies of modern medium scale robotic systems. The suggested ideas are also applicable to smaller or larger scale robots with an arbitrary amount of degrees of freedom.
It is important to note that the quality of the control as well as the trajectory optimization is only as good as the underlying set of (kinematic or dynamical) parameters. As a consequence, the optimal configurations for calibration and the optimal-exciting trajectories for the identification process provide the basis for control and trajectory generations. All proposed methods can be automated by designing according to algorithms and used during the commissioning of robot applications.
Acknowledgments
Support of the current work within the framework of the Austrian Center of Competence in Mechatronics (ACCM) is gratefully acknowledged. The support of the Interdisciplinary Center for Scientific Computing at the University of Heidelberg is acknowledged, especially to Moritz Diehl and Andreas Poschka who kindly gave support. One of the basic ideas of this contribution is to review and present details using industrial, not laboratory, equipment. However, the authors do not have a direct relation to any mentioned hardware and software products. This information is consciously included, enabling the reader to review technical specifications for further comparisons.