Professional Documents
Culture Documents
Abstract
This paper addresses the development of a model that reproduces the dynamic behaviour of a redundant, 7 degrees of
freedom robotic manipulator, namely the Kuka Lightweight Robot IV, in the Robotic Surgery Laboratory of the Instituto
Superior Técnico. For this purpose, the control architecture behind the Lightweight Robot (LWR) is presented, as well
as, the joint and the Cartesian level impedance control aspects. Then, the manipulator forward and inverse kinematic
models are addressed, in which the inverse kinematics relies on the Closed Loop Inverse Kinematic method (CLIK).
Redundancy resolution methods are used to ensure that the joint angle values remain bounded considering their physical
limits. The joint level model is the first presented, followed by the Cartesian level model. The redundancy inherent to
the Cartesian model is compensated by a null space controller, developed by employing the impedance superposition
method. Finally, the effect of possible faults occurring in the system are simulated using the derived model.
Keywords: lightweight robot, flexible joints, impedance control, compliant behaviour, kinematic redundancy,
closed-loop inverse kinematics.
2
Table 1: Denavit-Hartenberg parameters.
3.2. Inverse Kinematics (IKin) where K is a symmetric and positive definite matrix. The
choice of K guarantees that the error uniformly converges
The goal of the IKin problem is to find a feasible joint to zero, i.e. the error tends to zero with a convergence
space variable q, for a given task space variable X. The rate which depends on the eigenvalues of the K matrix [17].
differential kinematic equation, in terms of the (geometric) Therefore, the general inverse solution of a kinematically
Jacobian, establishes a linear mapping between joint space redundant manipulator at the velocity level, based on the
velocities and task space velocities, and it can be utilized to CLIK algorithm, will have the following form [17]:
solve for the joint velocities using kinematic equations. The
differential kinematic equation has the following form: q̇ = J† (q)(Ẋd + Ke) + (In − J† (q)J(q))q̇0 . (6)
" #
ṗ The error e, between the manipulator desired and actual
Ẋ = = J(q)q̇ . (1) position and orientation is given by:
ω
Due to the non-square Jacobian matrix for the redundant ep = pd − p(q) , (7)
manipulator, the inverse solution is obtained by using the eO,quat = η(q)d − ηd (q) − S(d )(q) ; (8)
Jacobian pseudo-inverse matrix J† , and the inverse solution
can then be written as: being ep the position error and eO,quat the orientation error.
For the orientation error, the unit quaternion Q= {η, }
q̇ = J† (q)Ẋ , (2) representation was adopted [17], and S(·) represents a skew-
J† (q) = JT (JJT )−1 . (3) symmetric operator.
3
Figure 6: Representative model of the i-th joint of the manipulator.
4
at each joint, as to assign a certain reference, in terms of To complete the mapping from the Cartesian space to
angular position, or apply a certain torque to each joint. the joint space, it remains to handle the stiffness term
JT Kx ∆X. To this end, it is exploited the vector calculus
4.2. The Cartesian Level Model to Taylor series is exploited.
The main purpose of the Cartesian level impedance con-
It can be shown that the multi-variable Taylor series may
trol process, represented by equation 17, is to promote the
be formulated in the following way [7, 10]:
behaviour of a second order mass-damper-spring system, be-
tween the manipulator end-effector position X, and the vec- X ∂f
tor of external forces and moments fext : f (x 1 , · · · , x n ) = f |p + (xi − pi ) +
∂xi i p
1 X ∂ 2 f
fext = Mx ∆ẍ + Dx ∆ẋ + Kx ∆x ; (17)
(xi − pi )(xi − pi ) + · · · (24)
2 i,j ∂xi ∂xj p
being Mx , Dx and Kx positive definite matrices, which re-
spectively, represent the virtual inertial, damping and stiff- (i, j = 1, · · · , n.) .
ness matrices, defined at the Cartesian level.
where f (x1 , · · · , xn ) represents a multi-variable function to
To derive the manipulator model, where the parameters be expanded, p is referred to, as the expansion point and x
are assigned at the Cartesian level, it is required a mapping the evaluation point. The first sum at the right hand side of
of these variables to the respective joint variables, where equation 24, referred to as the gradient of f(x), contains the
the manipulator Jacobian matrix and its transpose take a vector of the first partial derivatives of f(x), with respect to
leading role (fig. 7). x:
∂f
∂x
.1
.. .
∇f (x1 , · · · , xn ) = (25)
∂f
∂xn
the following relation holds: Therefore, symbolic notation may be finally applied to ex-
press equation 24:
∆X = X0 − X , (18)
∆Ẋ = −Ẋ = −Jq̇ , (19) 1
f (x) = f (p) + ∇f T |p (x-p) + (x-p)T [∇2 f ]P (x-p) + · · · . (27)
2
∆Ẍ = −Ẍ = −J̇q̇ − Jq̈ ; (20)
where is considered X0 = cte, for simplicity. Substituting The functions to be expanded by the Taylor series, which
19 and 20 into 17, and taking into account that the ex- is dependent of the joint variable, is given by:
ternal forces acting on the manipulator can be mapped
f 1 (q)
with the Jacobian transpose to the respective joint torques .
(JT : F 7→ τ ), one has: J(q)T Kx ∆X(q) = .. ,
(28)
f n (q)
τ = JT fext = JT (−Mx (J̇q̇ + Jq̈) − Dx Jq̇ + Kx ∆X)
T T T T
= −(J Mx J)q̈ − (J Mx J̇)q̇ − (J Dx J)q̇ + J Kx ∆X . (21) i.e. one has a number k of functions, each n-dimensional:
T T
The terms J Mx J and J Dx J can be characterized as the m X
X m
t
mapping of the virtual mass and damping matrix desired at f k (q) = Jki Kij ∆Xj (k = 1, · · · , n.) . (29)
the Cartesian level (Mx , Dx ), to the respective inertial and i=1 j=1
damping matrix at the joint level (Iθ , Dθ ): where n represents the number of the manipulator DOF, m
Iθ = JT Mx J , the number of DOF required to place and orientate the ma-
(22)
Dθ = J T Dx J . (23)
nipulator in the operational space. Each of the k functions
can then be expanded, applying equation 27.
The term JT Mx J̇ is the Coriolis term, and it will be denoted One can easily verify that the first term, of the expansion
as Ī. of each of the k functions is null. The second term of the
5
expansions, i.e. the gradient of f k (q), is given by:
P t
m ∂∆Xj ∂Jki ሷ ሶ
Pm t +
ሷ = ࡵି ቀ−࣎ − ࡵതࣂ ሶ − ࡰࣂ ሶ + ࡷࣂ ∆ + ∆ࢀ ሾસ ࢌሿ∆ቁ
⊗
j=1 (Jki Kij ∂q1 + Kij ∆Xj ) ∫ ∫
ࡷࣂ ∆ + ∆ࢀ ሾસ ࢌሺ∆ࢄ, ࡷ࢞ , ሻሿ∆ −
i=1 ∂q1
..
∇f k (q) = (30)
.
t
ࡲࢋ࢚࢞
∂∆Xj ∂Jki ࡶࢀ ࡲࢋ࢚࢞ ࡶሺ∙ሻ
Pm Pm t
j=1 (Jki Kij ∂qn + Kij ∆Xj ) ்ݑ
i=1 ∂qn
ࡶࢀ ࡹࡶ ࡷ࢞
(k = 1, · · · , n.) . ൘࣓ ݑଶ ࣓
ࡷ࢞
݀ݑ
ࡶࢀ ࡹࡶሶ ݀ݐ
Given the definition of a robotic manipulator Jacobian [17]: ்ݑ
ࡶࢀ ࡰ࢞ ࡶ ࣈࡷ࢞
∂k(q) ࣓ ࣈ
J(q) = ; (31) ࣔࡶࢀ
∂q ࡷࣂ = ࡶࢀ ࡷ࢞ ࡶ + ࡷ ∆ࢄ
ࣔ ࢞ ்ݑ
સ ࢌሺ∆ࢄ, ࡷ࢞ , ሻ ࣔࡶࢀ
Equation 30 can be rearranged in the following matrix form: ࣔ
ሺ∙ሻ
Qd ࡾ
ࡱࡾࡾࡻࡾ ࡽࢁࢀ
∆ࢄ
h i
∂JT ∂JT ࡻࡹࡼࢁࢀ ࡻࡹࡼࢁࢀ
∇f k (q) = JT Kx J + ∂q1
Kx ∆X ··· ∂qn
Kx ∆X Q ܴሺ∙ሻ
ࡰ
⊗
+
− ࢄ
ܲሺ∙ሻ
∂JT ࢄ
= JT Kx J + Kx ∆X . (32)
∂q
6
0.2
Given Reference
Actual Position
0.15
0.1
0.05
z (m)
−0.05
−0.1
−0.15
−0.2
−0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 0.2
y (m)
Figure 10: Tracking errors.
−40
−60
160
140
120
J(q)M(q)−1 N(q) = 0 .
100
(45) 80
0 50 100 150 200 250 300 350 400 450 500
Joint 3
100
50
This condition can be fulfilled with a mapping of the form 0 50 100 150 200 250 300 350 400 450 500
Joint 4
100
[12]: 80
0 50 100 150 200 250 300 350 400 450 500
Joint 5
400
T 200
N(q) = M(q)V(q) V(q) ; (46) 0
0 50 100 150 200 250 300 350 400 450 500
40
Joint 6
20
0
−20
−40
in which the statical null space projection matrix is pre- −60
0 50 100 150 200 250 300 350 400 450 500
Joint 7
−200
multiplied, and thus scaled, by the manipulator’s mass ma- −400
−600
0 50 100 150 200 250 300 350 400 450 500
trix. In this document the following dynamic consistent pro- Time (s)
7
Joint 1 position (Normalized data) Joint 3 position (Normalized data)
Joint Angles variation (degree) 1.8 1.8
Joint 1
20 Robot data Robot data
0 1.6
Model data
1.6
Model data
−20
−40
0 50 100 150 200 250 300 350 400 450 500 1.4 1.4
Joint 3 Joint 2
100
1.2 1.2
50
Amplitude
Amplitude
0 50 100 150 200 250 300 350 400 450 500 1 1
60
40 0.8 0.8
20
0
0 50 100 150 200 250 300 350 400 450 500 0.6 0.6
Joint 7 Joint 6 Joint 5 Joint 4
20
0 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
−20 Time [s] Time [s]
0 50 100 150 200 250 300 350 400 450 500
Manipulator position in the x direction (Normalized data) Manipulator position in the y direction (Normalized data)
−70 1.4
−80 Robot data Robot data
−90 Model data 1 Model data
0 50 100 150 200 250 300 350 400 450 500 1.2
0
−20
−40 1 0.8
Amplitude
Amplitude
Time (s) 0.6
0.6
0.4
0.4
0 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.5 1 1.5 2 2.5
Time [s] Time [s]
8
Influence of faults in the stiffness (−δKθ) Influence of faults in the stiffness (−δDθ)
Abrupt Faults Time of occurrence 0.25
Given Reference
0.25
Given Reference
Actual Position Actual Position
0.2 0.2
δKθ +/- 25 N m/rad t0 = 20s 0.15 0.15
0.05 0.05
z (m)
z (m)
Table 3: Abrupt faults. 0 0
−0.05 −0.05
−0.1 −0.1
−0.15 −0.15
−0.25 −0.25
−0.25 −0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 0.2 0.25 −0.3 −0.2 −0.1 0 0.1 0.2 0.3
y (m) y (m)
6.3. Fault analyses Influence of faults in the stiffness (+δKθ) Influence of faults in the stiffness (+δDθ)
0.25 0.25
the presence of faults, since they often operate in the vicinity 0.15 0.15
z (m)
z (m)
0 0
it’s important to develop algorithms which make possible the −0.05 −0.05
9
Influence of faults in the stiffness (−δKθ) Influence of faults in the damping (−δDθ)
100
0
2000
0
[8] O. Khatib. A unified approach for motion and force
−100 −2000
2
0
0 10 20 30 40 50 60
5000
0
0 10 20 30 40 50 60
control of robot manipulators: The operational space
−2 −5000
200
0
0 10 20 30 40 50 60
5000
0
0 10 20 30 40 50 60
formulation. IEEE Journal of Robotics and Automa-
−200 −5000
0 10 20 30 40 50 60 0 10 20 30 40 50 60
tion, 3(1):1115—-1120, 1987.
∆ τ [Nm]
∆ τ [Nm]
2 5000
0 0
−2 −5000
0 10 20 30 40 50 60 0 10 20 30 40 50 60
50 5000
0 0
−50
50
0 10 20 30 40 50 60
−5000
5000
0 10 20 30 40 50 60 [9] A. Liégeois. Automatic supervisory control of the
0 0
−50
100
0 10 20 30 40 50 60
−5000
2000
0 10 20 30 40 50 60 configuration and behavior of multibody mechanisms.
0 0
−100
0 10 20 30
Time (s)
40 50 60
−2000
0 10 20 30
Time (s)
40 50 60
IEEE Trans. Systems, Man, and Cybernetics, 1977.
Influence of faults in the stiffness (+δKθ)
100
0 2
0
Influence of faults in the damping (+δDθ)
[10] University of Applied Sciences Landshut. Ap-
−100 −2
2
0
0 10 20 30 40 50 60
0.1
0
0 10 20 30 40 50 60
plication of the Vector Calculus to Taylor Se-
−2 −0.1
200
0
0 10 20 30 40 50 60
5
0
0 10 20 30 40 50 60
ries. https://people.fh-landshut.de/~maurer/
−200 −5
0 10 20 30 40 50 60 0 10 20 30 40 50 60
numeth/node44.html, 2008.
∆ τ [Nm]
∆ τ [Nm]
−3
2 x 10
0 5
0
−2 −5
0 10 20 30 40 50 60 0 10 20 30 40 50 60
50
0 2
0
−50
50
0 10 20 30 40 50 60
−2
1
0 10 20 30 40 50 60 [11] Alin Albu-Schaäffer, Christian Ott and Gerd Hirzinger.
0 0
−50
100
0 10 20 30 40 50 60
−1
2
0 10 20 30 40 50 60
A unified passivity based control framework for po-
0 0
−100
0 10 20 30
Time (s)
40 50 60
−2
0 10 20 30
Time (s)
40 50 60
sition, torque and impedance control of flexible joint
robots. International Journal of Robotics Research,
Figure 15: Variation in torque. 26(1):23–39, 2007.
[12] Christian Ott. Cartesian Impedance Control of Redun-
References dante and Flexible-Joint Robots, volume 49 of Springer
tracts in advanced robotics (En ligne), chapter four.
Springer, 2008.
[1] A. Stemmer , T. Wimböck A. Albu-Schäffer , S. Had-
dadin , Ch. Ott and G. Hirzinger. The DLR Lightweight [13] A. Piersol and T. Paez. Harris’ Shock and Vibration
Robot – Design and Control Concepts for Robots in Hu- Handbook, chapter 2. McGraw-Hill Inc., New York,
man Environments. An International Journal, 34:376 2010.
– 385, 2007.
[14] Günter Schreiber, Ralf Koeppe, Alin Albu-Schäffer,
[2] Christian Ott, Alin Albu-Schaäffer and Gerd Hirzinger. Alexander Beyer, Oliver Eiberger, Sami Haddadin, An-
A passivity based cartesian impedance controller for dreas Stemmer, Gerhard Grunwald, Gerhard Hirzinger
flexible joint robots - part 2: Full state feedback, Rainer Bischoff, Johannes Kurth. The KUKA-DLR
impedance design and experiments. IEEE International lightweight robot arm – a new reference platform for
Conference of Robotics and Automation, 2004. robotics research and manufacturing. presented at the
Joint Conf. ISR (41st Int. Symp. Robot.), jun 2010.
[3] C. Kapoor, M. Cetin, and D. Tesar. Performance based Munich.
redundancy resolution with multiple criteria. Procee-
dings of ASME Design Engineering Technical Confe- [15] Christian Ott, Alin Albu-Schaäffer, Andreas Kugi, Ste-
rence, September 1998. Atlanta, GA, USA. fano Stramigioli and Gerd Hirzinger. A passivity based
cartesian impedance controller for flexible joint robots
[4] J.J. Craig. Introduction to robotics mechanics and con- - part 1: Torque feedback and gravity compensation.
trol. Pearson Prentice Hall, 1989. 2004.
[16] Walter G. Veiga. Modelação dinâmica do robô ma-
[5] Alin Albu-Schaäffer, Gerd Hirzinger. Cartesian
nipulador complacente kuka-dlr lwr. Master’s thesis,
impedance control techniques for torque controlled
Instituto Superior Técnico, 2014.
light-weight robots. IEEE International Conference of
Robotics and Automation, pages 657–663, 2002. [17] Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani and
Giuseppe Oriolo. Robotics: Modeling, Planning and
[6] N. Hogan. Impedance control: An approach to manip- Control. Springer, 2009.
ulation, part 1 - theory, party 2- implementation, party
3- applications. Journal of Dynamic Systems, Measure-
ment, and Control, 107:1–24, 1985.
10