Hostname: page-component-74656f9884-kv2lp Total loading time: 0 Render date: 2026-11-05T11:00:08.424Z Has data issue: false hasContentIssue false

Dynamic identification and control issues for collaborative robots: the KUKA lightweight robot LWR 4+ case

Published online by Cambridge University Press:  05 November 2026

Claudio Gaz*
Affiliation:
Department of Mechanical Engineering, Kingston University London, UK
Massimo Cefalo
Affiliation:
Department of Electrical, Electronic and Robotic Engineering, Kingston University London, UK
Alessandro De Luca
Affiliation:
Department of Computer, Control and Management Engineering (DIAG), Sapienza University of Rome, Rome, Italy
*
Corresponding author: Claudio Gaz; Email: c.gaz@kingston.ac.uk
Rights & Permissions [Opens in a new window]

Abstract

Accurate dynamic models are essential for high-performance control, both for trajectory tracking and physical human–robot interaction involving collision detection, reaction, and force control. This work presents a comprehensive framework for dynamic modeling and identification of the KUKA LWR 4+ collaborative robot based on two complementary approaches. The first exploits signals provided by the KUKA Fast Research Interface, combined with nonlinear joint-friction identification to improve torque prediction. The second is a general methodology applicable to collaborative robots with or without joint elasticity. We present the first complete identification and experimental validation of the KUKA LWR 4+ dynamic model using our Penalty-Based Parameter Retrieval framework, demonstrating its ability to retrieve a physically consistent model for a collaborative robot with elastic joints. For the first time for this robot, the approach yields a complete physically consistent set of dynamic parameters suitable for Newton–Euler algorithms, simulation, and internal wrench estimation. The resulting model is compared with the KUKA LWR 4+ model available in CoppeliaSim, which relies on empirically estimated CAD-based parameters. A procedure is also proposed to incorporate an unknown payload without complete re-identification. Although the resulting model accurately captures the robot dynamics, its direct use in torque control requires accounting for the low-level torque loop, which only partially compensates for joint elasticity. A novel recursive least-squares algorithm is therefore proposed to compensate for this effect. Finally, the validated model is employed in sensorless collision detection, isolation, and reaction experiments, demonstrating its suitability for real-time interaction control.

Information

Type
Research Article
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
© The Author(s), 2026. Published by Cambridge University Press
Figure 0

Table I. Classical and modified DH parameters of the KUKA LWR 4+ robot.Table I long description.

Figure 1

Figure 1. Classical [left] and modified [right] DH frames of the KUKA LWR 4+. All x$x$-axes point toward the viewer (frames are displaced sideways for better clarity). Note that the origins of the classical and modified DH frames coincide for this robot.

Figure 2

Table II. Angles representing the rotations about the xi$x_i$-axis from the classical DH reference frames to the modified DH reference frames.Table II long description.

Figure 3

Figure 2. Signal flows from/to the KUKA LWR 4+ robot and the KR C2 controller, including the FRI (software interface to the user).

Figure 4

Figure 3. The m=1000$m=1000$ Cartesian static positions reached by the KUKA LWR 4+ end-effector during the training procedure [blue dots]. The red line represents the robot in the zero configuration (candle position). The robot is placed at the center of a horizontal supporting table [green plane].

Figure 5

Table III. Componentwise mean squared errors of the estimate of the elements of the gravity vector g(q)$\boldsymbol{g}({\boldsymbol{q}})$ obtained by reverse engineering in the training set (TS), in the validation set (VS), and in the torque validation experiment (TVE). Only 6 elements are present since g1$g_1$ is identically zero.Table III long description.

Figure 6

Table IV. Componentwise maximum absolute errors of the estimates of the elements of the gravity vector g(q)$\boldsymbol{g}({\boldsymbol{q}})$ obtained by reverse engineering in the training set (TS), in the validation set (VS), and in the torque validation experiment (TVE). Only 6 elements are present since g1$g_1$ is identically zero.Table IV long description.

Figure 7

Table V. Componentwise mean squared errors of the estimates of the 28 lower-triangular elements of the symmetric robot inertia matrix M(q)$\boldsymbol{M}({\boldsymbol{q}})$ obtained by reverse engineering in the training set (TS), in the validation set (VS), and in the torque validation experiment (TVE). The element M76$M_{76}$ is identically zero.Table V long description.

Figure 8

Table VI. Componentwise maximum absolute errors of the estimates of the 28 lower-triangular elements of the symmetric robot inertia matrix M(q)$\boldsymbol{M}({\boldsymbol{q}})$ obtained by reverse engineering in the training set (TS), in the validation set (VS), and in the torque validation experiment (TVE). The element M76$M_{76}$ is identically zero.Table VI long description.

Figure 9

Figure 4. Sinusoidal joint trajectories for dynamic validation of the reverse engineering approach.

Figure 10

Figure 5. Comparison between the values retrieved from FRI [blue lines] and the estimated values [green lines] of the gravity vector element g2(q)$g_2({\boldsymbol{q}})$ (left) and of the inertia matrix element M11(q)$M_{11}({\boldsymbol{q}})$ (right) along the joint trajectories in Figure 4. No differences are noticeable.

Figure 11

Figure 6. Filtered joint positions [top row], velocities [center row], and accelerations [bottom row] retrieved when imposing the sequence of cubic trajectories (57), for t∈[0,30]$t \in [0,30]$ s. The trajectories are the same for all joints until t=22$t=22$ s; they split then in two different motions, one in common for joints 1, 3, 5, and 7 [first column], the other in common for joints 2, 4, and 6 [second column].

Figure 12

Figure 7. Measured elastic joint torques τJ$\boldsymbol{\tau}_{J}$ after filtering [dashed, green] and estimated torques evaluated according to Eq. (49) [solid, blue] for the robot motion shown in Figure 6.

Figure 13

Table VII. Estimated parameters of the sigmoidal functions τfl,i$\tau _{fl,i}$ used in friction model (59).Table VII long description.

Figure 14

Figure 8. Estimated nonlinear friction τfl$\boldsymbol{\tau}_{f \kern-0.4pt l}$ for the 7 joints of the KUKA LWR 4+, as function of the corresponding joint velocity. Each profile is supposed to be independent from the others. The multiple lines [dotted, green] are differences between measured elastic joint torques τJ$\boldsymbol{\tau}_{J}$ and their model-based prediction τ^J$\hat {\boldsymbol{\tau}}_J$, as acquired at the various velocities during motion. The sigmoidal profile [blue line] fits the data by using a least squares cost function.

Figure 15

Figure 9. Figure 9 long description.Measured elastic joint torques τJ$\boldsymbol{\tau}_{J}$ after filtering [dashed, green] and estimated torques τ^J$\hat {\boldsymbol{\tau}}_J$ evaluated according to Eq. (61) [solid, blue], that is, including the nonlinear friction model (59), for the robot motion in Figure 6 (compare with Figure 7).

Figure 16

Table VIII. Symbolic expression of the 64$64$ dynamic coefficients πc(pc)$\boldsymbol{\pi}_c(\, \boldsymbol{p}_c)$ (including friction).Table VIII long description.

Figure 17

Algorithm 1. PBPR algorithm

Figure 18

Table IX. Estimated numerical values of the 64$64$ elements of the vector of dynamic coefficients πc$\boldsymbol{\pi}_c$.Table IX long description.

Figure 19

Table X. Estimated numerical values of the 91$91$ dynamic parameters pc$\boldsymbol{p}_c$ (including friction) retrieved by the PBPR algorithm with different sets of constraints. For i=1,…,7$i=1,\ldots ,7$, mass mi$m_i$ is expressed in [kg], coordinates cij$c_{ij}$ (j=x,y,z$j=x,y,z$) of the center of mass in [m], and elements Iijk$I_{ijk}$ (j=x,y,z$j=x,y,z$, k=x,y,z$k=x,y,z$) of the link inertia tensor in [kg⋅$\cdot$m2$^2$]. Joint friction parameters fv,i$f_{v,i}$ are expressed in [Nm⋅$\cdot$s/rad], while fc,i$f_{c,i}$ and fo,i$f_{o,i}$ are expressed in [Nm].Table X long description.

Figure 20

Figure 10. Validation of the estimated inverse dynamics elastic torque for the KUKA LWR 4+ using the dynamic parameters p^c=p^A$\hat {\boldsymbol{p}}_c = \hat {\boldsymbol{p}}_A$ obtained with the PBPR algorithm and reported as set A in Table X. Measured elastic joint torques τJ$\boldsymbol{\tau}_{J}$ after filtering [blue lines] and their estimation τ^J$\hat {\boldsymbol{\tau}}_J$ [red lines]. Note the different scale of the plots for the different joints.

Figure 21

Figure 11. Figure 11 long description.Norm of the linear forces fi$\boldsymbol{f}_{\!i}$ in the wrenches acting at the seven robot joints computed through a NE routine, when using different sets of dynamic parameters. Set A [blue lines] is given by the feasible values in Table X, while set C [yellow lines] corresponds to the unfeasible values in the same table. A further third set B [red lines] of feasible values was also used for comparison. All considered sets of dynamic parameters are admissible, that is, they provide the same identified dynamic coefficients.

Figure 22

Figure 12. Torque comparison with experimental data of the new dynamic model identified with the PBPR algorithm and of the empirical V-REP dynamic model, both used in a CoppeliaSim simulation along the trajectory of Figure 6.

Figure 23

Figure 13. Figure 13 long description.Joint position errors ei=qdi−qi$e_i=q_{di} - q_i$ for i=1,…,7$i=1,\ldots , 7$ while executing the trajectory (57) by means of the first control law (64)–(66). The last panel shows the time evolution of ‖e‖$\Vert \boldsymbol{e}\Vert$.

Figure 24

Figure 14. Feedback torque efforts τFB,i$\tau _{F\!B,i}$ for i=1,…,7$i=1,\ldots , 7$ while executing the trajectory (57) by means of the first control law (64)–(66). The last panel shows the time evolution of ‖τFB‖$\Vert \boldsymbol{\tau}_{FB}\Vert$.

Figure 25

Figure 15. Joint position errors ei=qdi−qi$e_i=q_{di} - q_i$ for i=1,…,7$i=1,\ldots , 7$ while executing the trajectory (57) by means of the second control law (69) and (70). The last panel shows the time evolution of ‖e‖$\Vert \boldsymbol{e}\Vert$.

Figure 26

Figure 16. Figure 16 long description.Feedback torque efforts τFB,i$\tau _{F\!B,i}$ for i=1,…,7$i=1,\ldots , 7$ while executing the trajectory (57) by means of the second control law (69) and (70). The last panel shows the time evolution of ‖τFB‖$\Vert \boldsymbol{\tau}_{FB}\Vert$.

Figure 27

Figure 17. Motor torque τcommI$\boldsymbol{\tau}_{\textrm {comm}}^I$ commanded via FRI [dashed, blue] and elastic joint torque τJ$\boldsymbol{\tau}_{J}$ measured by the joint torque sensors [solid-green] while executing the trajectory (57). For a better comparison, the estimated gravity torque g^(qd)$\hat {\boldsymbol{g}}({\boldsymbol{q}}_d)$ has been added to the commanded torque (64)–(66) since a gravity compensation action is already embedded in the KUKA low-level controller.

Figure 28

Figure 18. Time evolution of δi$\delta _i$ for i=1,…,7$i=1,\ldots , 7$ while executing the trajectory (57) by means of the control law τcommIII$\boldsymbol{\tau}_{\textrm {comm}}^{III}$ in (71), using (73) with the RLS update (75). The +$+$ and −$-$ in red indicate the sign of the joint velocity q˙i$\dot q_i$ in the corresponding trajectory segment.

Figure 29

Figure 19. Joint position errors ei=qdi−qi$e_i=q_{di} - q_i$ for i=1,…,7$i=1,\ldots , 7$ while executing the trajectory (57) by means of the third control law (71), using (73) with the RLS update (75). The last panel shows the time evolution of ‖e‖$\Vert \boldsymbol{e}\Vert$.

Figure 30

Figure 20. Feedback torque efforts τFB,i$\tau _{F\!B,i}$ for i=1,…,7$i=1,\ldots , 7$ while executing the trajectory (57) by means of the third control law (71), using (73) with the RLS update (75). The last panel shows the time evolution of ‖τFB‖$\Vert \boldsymbol{\tau}_{FB}\Vert$.

Figure 31

Figure 21. Comparison between the residuals returned by the KUKA controller through the FRI (blue line) and the residuals computed with (78) (red line) during a rest-to-rest motion with no external torque applied to the robot. Our estimated residuals are always closer to zero (as they should) than the FRI residuals.

Figure 32

Figure 22. Monitoring three human–robot collisions (at t=1.5$t= 1.5$, 8$8$, and 17$17$ s) during robot motion in the presence of a payload of 3$3$ kg: residuals from the KUKA FRI (blue) and our residuals evaluated with (78), using the estimated mass and CoM position of the payload (green). All three collisions are detected by our residual, as soon as at least one component exceeds the threshold set at 6$6$ Nm. Conversely, collisions are hardly detectable by the KUKA FRI signals, which most often exceed this threshold also during free motion.

Figure 33

Figure 23. Joint residuals r^(t)$\hat {{\boldsymbol{r}}}(t)$ evaluated with (79) during an experiment in which the robot holds a 3-kg payload. The robot collides with a human at t=29$t=29$ s, and it reacts by exploiting a reflex strategy (80).

Figure 34

Figure 24. Joint positions q(t)${\boldsymbol{q}}(t)$ during an experiment in which the robot holds a payload. The robot collides with a human at t=29$t=29$ s, detects the event, and reacts with the reflex control strategy (80).

Supplementary material: File

Gaz et al. supplementary material

Gaz et al. supplementary material
Download Gaz et al. supplementary material(File)
File 12.5 MB