You are on page 1of 10

Dynamic Modelling of the Compliant KUKA-DLR Lightweight Robot

Walter A. Galvão da Veiga*


Supervision of Professor José M. Gutierrez Sá da Costa and Professor Jorge M. Mateus Martins
*Department of Mechanical Engineering, Instituto Superior Técnico,
University of Lisbon (ULisbon) Av. Rovisco Pais, 1049-001
Lisboa, Portugal; e-mail: waltergalvaoveiga@gmail.com
May, 2014

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.

1. Introduction Within this new robot concept, a strong emphasis is set on


the design of control laws which can provide robust perfor-
Robotic manipulators are general purpose machines for mance, with respect to positioning and model uncertainty,
industry, developed under the premise that higher positio- as well as active safety for the human and the robot during
ning accuracy (repeatability and absolute accuracy), speed, their interaction. A well established framework to manage
durability, and robustness can be achieved. Therefore, to- this task is given by impedance control [6]. Impedance con-
day’s industrial robots are used especially in well structured trol, consists in establishing a virtual mass-damper-spring
environments, in which the position and shape of the parts relationship, between the Cartesian position and the Carte-
to be manipulated are well known and in which collisions sian force. Furthermore, the same relationship can be es-
with the environment can be estimated and excluded in ad- tablished in the manipulator joint space, relating the joints
vance. position and the joints torque.
In contrast, the KUKA lightweight robotic arm, develo-
ped by the German aerospace center (DLR), was designed The present article concerns the study of the KUKA LWR
for applications involving interaction with humans in un- dynamic behaviour, more precisely, the development of a
structured environments. In such applications, as in health model that reproduces the manipulator dynamic behaviour.
care, high absolute positioning accuracy cannot be exploited The article focuses on the development of the Cartesian
due to limited accuracy of position information about the level model. The model main feature, consists in mapping
surrounding environment, while its side-effects in design the desired Cartesian behaviour to the desired behaviour at
(high stiffness and mass) are clearly undesired. The ma- the joints level. Therein, the manipulator Jacobian and its
nipulator’s low mass, compared to its payload, also comes transpose play a key role. The manipulator stiffness map-
as a requirement of such applications, in order to enable ping, from the Cartesian to the joint level, is accomplished
mobility and minimize the injury risks. The main require- exploiting the vector calculus of Taylor Series.
ments for the electronic design result from the high number To compensate the redundancy inherent to the Cartesian
of sensors, such as joint torque sensors, redundant position model, the impedance superposition method is addressed,
sensing, and wrist force-torque sensing. exploiting two distinguished projection matrices, these be-
Figure 2: Structure of the joint level controller [1].
Figure 1: Virtual model of the lightweight robot.

gravity mode”, in which the motors compensate the robot’s


ing a static and a dynamic consistent method. The model
TM own weight [5].
was developed and verified under Simulink environ-
The control approach is passive based [15, 2, 11], meaning,
ment. Therefore, for the better understanding of the mani-
it relies on energy to guarantee the overall system stability.
pulator dynamic motion, it is included a virtual manipulator
The preference for passivity based control is consequence of
model, depicted in figure 1.
the fact that the mechanical properties of the manipulated
objects and of the contacted environment are not known
2. Overview of the KUKA Lightweight Robotic Ma- precisely.
nipulator The feedback terms turn out to have very intuitive phy-
sical interpretations. Torque feedback reduces the apparent
The KUKA lightweight robots were designed with the pri- inertia of the motors, as well as the joints friction. Motor
mary goal to resembles the human arm, i.e. a kinematic re- position feedback is equivalent to a physical spring, while
dundant manipulator, with seven degrees of freedom (DOF), velocity feedback produces energy dissipation (viscous fric-
a load-to-weight ratio of approximately 1:1, a total weight tion). These interpretations allow the passivity, and thus,
less than 15 Kg, and a high dynamic performance, guaran- stability analysis aforementioned, and also enables a consis-
teed by a full state measurement at all joints, using strain tent generalization to the Cartesian impedance control [1].
gauge-based torque-sensing, motor position sensing, based With the physical interpretation of torque and position
on magneto-resistive encoders and link-side position sensing, feedback aforementioned, it is intuitive to design a Carte-
based on potentiometers. The torque sensors are mounted sian controller, using the joint level torque controller, for
on a Harmonic Drive gear and therefore measures the joint reduction of motor inertia and friction, and by replacing the
torque acting on the links. The robot joints are serially joint level stiffness with a Cartesian spatial spring [15, 2, 11].
connected with a central computer, via an optical fibre bus To implement the virtual spring, the motor position is uti-
system, using the standardized real-time SERCOS protocol lized, in order to preserve the system passivity. However, the
[1, 14]. desired tip position and the stiffness is specified in terms of
The joint level control is computed at 3 kHz sampling rate link position q. Therefore, a statically equivalent estimation
on a signal processor in each joint, while the robot dynamics q̄(θ) for q is computed, based only on the motor position θ
and the Cartesian control are computed in a 1 kHz cycle on and the joints stiffness. The forward kinematics, the Jaco-
a central computer [5], and a flexible joints model is assumed bian, the gravitational torques, and the impedance law are
for the robotic arm [15, 2, 11]. then computed, based on this value, leading to a passive
At the joint level, a decentralized state feedback controller structure as shown in figure 3.
is implemented by using the entire joint state in the feedback
loop, namely the motor position θ and velocity θ̇ as well as
the joint torque τ and its derivative τ̇ [11]. The motor posi- 3. Kinematic Model of the 7 DOF Manipulator
tion and joint torque are available from measurements, while
3.1. Forward Kinematics
their derivatives are computed numerically. With these four
signals it is possible to implement joint controllers with full The redundant, 7 DOF LWR manipulator is composed of
state feedback (fig. 2). seven rotational joints. For this 7 DOF manipulator, the
By appropriate scaling of the feedback gains, the con- coordinate frames are assigned in figure 4. Frame zero, de-
troller structure can be used to implement position, torque fined as the reference frame, is fixed to the base, and frame
or impedance control. The desired torque for the controller 7 is the end-effector frame.
is computed according to the expected robot dynamics, e.g. The corresponding Denavit-Hartenberg (DH) parameters
if the robot is not moving, it corresponds to the gravity are presented in table 1. The manipulator overall transfor-
torque. Therefore, the robot operates in the so called ”zero mation matrix, can be derived by each known homogeneous

2
Table 1: Denavit-Hartenberg parameters.

Joints di (m) qi (rad) ai αi (rad) qmin qmax


1 3.105 × 10−1 q1 0 π/2 -170 170
2 0 q2 0 −π/2 -120 120
3 4.0 × 10−1 q3 0 π/2 -170 170
4 0 q4 0 −π/2 -120 120
Figure 3: Structure of the Cartesian impedance controller [1]. 5 3.9 × 10−1 q5 0 π/2 -170 170
6 0 q6 0 −π/2 -120 120
7 7.8 × 10−2 q7 0 0 -170 170
transformation matrix Ti−1i [17, 4]. Therefore, it will not be
difficult to obtain the manipulator position and orientation,
through forward kinematics. For a kinematically redundant manipulator, a non-empty
null space exists due to the excess of joint space variables
relative to the task space (n > m), which can be utilised to
set up systematic procedures for an effective handling of the
redundant DOFs. The null space is the set of joint space
velocities that yield null task space velocities, at the current
robot configuration. A common method to deal with the
null space was formulated by Liégeois [9]:
q̇ = J† (q)Ẋ + (I − J† (q)J(q))q̇0 ; (4)

where q̇0 represents the set of null space velocities and


(I − J† (q)J(q)) allows the projection of q̇0 into the Jacobin
null space.
Open-loop solution of the joint variables through numeri-
cal integration, unavoidably leads to solution drift and then
to task space errors. To overcome this drawback, a CLIK
algorithm is usually used, which is based on the task space
error e, between the desired and actual end-effector position
and orientation. At the velocity level the pseudo-inverse so-
Figure 4: The kinematic model.
lution results in a minimum-norm velocity solution, and the
generalized CLIK algorithm can be expressed by [17]:
q̇ = J† (q)(Ẋd + Ke) ; (5)

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.

Figure 5: Closed-Loop Inverse Kinematics scheme.

variables. Therefore, depending on the commanded joint


3.3. Null Space Optimization stiffness, the manipulator controller, can be parametrized
Redundancy plays an important role in the kinematic con- as a position controller (kdes → kmax ), or a torque controller
trol, as redundant joints allow a manipulator to avoid joint (kdes → 0).
limits, singularities or obstacles. The redundancy is also
utilized to minimize joint velocities or actuator torques, in 4.1. The Joint Level Model
case of following a desired end-effector trajectory. The vari-
The impedance control algorithm behind the LWR sys-
able q̇0 , in equation 6, represents a set of velocities in the
tem, provides the manipulator joints to behave as a second
manipulator null space. Therefore, the contribution of q̇0 is
order mass-damper-spring system:
to generate null space motions of the structure, that do not
alter the task space position or orientation, but allow the τext = Iθ ∆q̈ + Dθ ∆q̇ + Kθ ∆q ; (11)
manipulator to reach postures, which are more dexterous
for the execution of the given task. A typical choice of the where Iθ , Dθ and Kθ represent, respectively, the inertial, the
null space joint velocity vector, is given by [17, 9]: damping and the stiffness desired matrices, at the joint level.
 T Hence, each joint of the manipulator can be represented by
∂w(q) the block diagram shown in figure 6. The closed-loop model
q̇0 = k0 ; (9)
∂q of the manipulator i-th joint is given by:

being k0 a constant (k0 > 0), w(q) a scalar objective func- qi i/I
θi
∂w(q) = (τexti = 0) , (12)
tion of the joint variables and ∂q the vector function re- qrefi 2
s + Dθ
i/Iθi s + Kθi/Iθi
presenting the gradient of w(q). At Bruno Siciliano et. al Kθ
i/I
qi θi
[17] or Kapoor et al. [3] it’s discuss different ways to ex- = (1/Kθi ) D
(qrefi = 0) . (13)
plore the objective function. However, in this paper, only τ ext i s2 + θi/
I θi s + Kθi/Iθi
the joint limit avoidance is considered as a optimization cri-
teria. Therefore, the objective function can be expressed by That is, the manipulator joints behave as a mass-damper-
[17]: spring system, both when the manipulator is driven by an
n  2 external force or moment, or when following a given refe-
1 X qi − q i
w(q) = − ; (10) rence. Equation 12 and 13 represent a second order transfer
2n i=1 qiM − qim functions. Parameters of such representations may be eva-
being qiM and qim , respectively, the upper and lower joint luated, considering the following equality:
limits, and q i the middle value of the joint range. The CLIK Kθ
ωn2 i i/I
θi
algorithm considering the joint limits avoidance, as a per- = Dθ
; (14)
formance criterion, is represented in block scheme form in s2 + 2ξi ωni s + ωn2 i s 2 + i/ I θ i
s + Kθi/Iθi
figure 5. That is, the joint level impedance parameters may be eva-
luated as:
4. Model Implementation
Iθi = Kθi/ωn2 , (15)
i
In this section the Cartesian and joint level models are Dθi = 2ξi ωni Iθi = 2ξi Kθi/ωni ; (16)
summarized. Both in the Cartesian level model, as in the
joint level model, the representative variables of the sys- where ωni is the natural frequency of the i-th joint, to be
tem non-linear dynamic motion (Coriolis, centrifugal and determined from the actual robotic manipulator using ap-
gravity) are not considered, i.e. it is assumed that these propriate methods of identification, while ξi is the damping
dynamics are compensated. Both models allow one to spec- factor of the i-th joint. Hence, the global joint model al-
ify the desired level of compliance, through the impedance lows one to specify the desired damping factor and stiffness

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 second sum, which contains the matrix of second partial


derivatives of the function f(x), with respect to x, is referred
to as the Hessian matrix of f(x):
Figure 7: Cartesian level to joint level mapping. ∂2f ∂2f
 
∂x1 ∂x1
··· ∂x1 ∂xn
2
∂ f  .. .. .. 
[∇2 f ] = = . . .
 . (26)
∂xi ∂xj  
Considering the linear velocity mapping through the ma- ∂2f 2
· · · ∂x∂n ∂x
f
∂xn ∂x1
nipulator Jacobian (J : q̇ 7→ Ẋ), described by equation 1, n

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

Equation 32 can be characterized as the mapping of the


stiffness, desired at the Cartesian level, in the respective Figure 8: Cartesian level Model.
stiffness at the joint level:
∂JT
Kθ = JT Kx J + Kx ∆X . (33)
∂q The dynamics of the manipulated joints can be finally re-
presented by:
The third term of the Taylor expansion can be obtained,
calculating the second partial derivatives of the function 
1

q̈ = Iθ−1 −τ − Īq̇ − Dθ q̇ + Kθ ∆q + ∆qT ∇2 f∆q + HOT

f k (q), with respect to q: . (39)
2
∂2f k ∂2f k
 
∂q1 ∂q1
··· ∂q1 ∂qn
The joint variable q may be obtained by successive integra-
2

[∇ f k ] = 
.. .. .. 
(k = 1, · · · , n.) . (34) tion of equation 39, which in turn is utilised to calculate the
. . .


2 2
 forward kinematics, the Jacobian matrix and the impedance
∂ fk ∂ fk
∂qn ∂q1
··· ∂qn ∂qn variables at the manipulator joint level. Figure 8 indicate
a block scheme of the derived Cartesian level model. As
It can be demonstrated [16] that the elements of the Hessian
for the joint model derived, one may specify the desired
matrix shown above can be obtained by:
stiffness and damping factor at the Cartesian level by con-
∂ 2 Jt(k,:) ∂Jt(k,:) ∂J(:,i) sidering Mx = K ω2
x
and Dx = 2ξ K ω n . The orientation error
x

ekij = Kx ∆X + 2 Kx J(:,j) + Jt(k,:) Kx n


∂qj ∂qi ∂qi ∂qj is calculated exploiting the unit quaternion representation.
({i, j, k} = 1, · · · , n) . (35) The desired reference to the joints q0 , has to be consistent
with the reference at the Cartesian space X0 , R0 . Hence q0
Obtaining the Higher order terms (HOT) from the Taylor is obtained by de CLIK algorithm presented in section 3.
expansion, proved important for the proper functioning of
the derived Cartesian model. However, obtain these terms
mathematically, as it was done for the first three, would
lead to an excessive and fatiguing amount of calculation. 5. Null Space Stiffness
Therefore, the HOT can be obtained by:
  In this section it is assumed that the desired null space
1
HOT = JT Kx ∆X − Kθ ∆q + ∆qT ∇2 f∆q (36) behaviour can be characterized in the joint space by a de-

.
2 sired positive definite stiffness matrix Kn , damping matrix
One can now represent the Taylor series expansion of stiff- Dn and inertial matrix In , as well as a desired equilibrium
ness term: point qn . From these, the desired null space acceleration is
computed according to a joint level PD-controller:
1
JT Kx ∆X = Kθ ∆q + ∆qT ∇2 f∆q + HOT .

(37)
2 q̈0 = I−1
n (−Dn q̇ − Kn (q − qn )) . (40)
Thus equation 21, can be rewritten in the following way: In order to prevent interference with the Cartesian
1 impedance behaviour, the desired joint null space accelera-
∆qT ∇2 f∆q + HOT . (38)tion, has to be projected into the manipulator’s null space,

τ = −Iθ q̈ − Īq̇ − Dθ q̇ + Kθ ∆q +
2

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.

Figure 9: Reference and Tracking.


6. Results

by a properly chosen matrix N(q): 6.1. Kinematic Model Validation


q̈ = q̈c + q̈n , (41) The validation of the derived forward kinematics is fairly
q̈n = N(q)q̈0 . (42) simple and straightforward, therefore, it will not be herein
presented. On the other hand, the validation of inverse kine-
where q̈c comes from the Cartesian model described above. matics is much more attractive to evaluate. Table 1 shows
In the following, two distinguished methods to obtain the the corresponding data to the manipulator joint limits. To
projection matrices are addressed. validate the proposed inverse kinematic algorithm, it is in-
tended that the manipulator perform in the Cartesian space
5.1. Static Null Space Projection (YZ plane), during 500 seconds and while maintaining it’s
Let V (q) denote a full rank left annihilator of JT (q), i.e. orientation fixed, the maximum number of circumferences
V(q)JT (q) = 0. Then a projection matrix of the form: possible, whose radius are 0.2 meters. In the absence of the
redundancy resolution algorithm, as can be seen from figure
N(q) = V(q)T V(q) , (43)
9, the manipulator follows with very good accuracy the pre-
may be used to project the desired acceleration into the scribed reference. The position tracking error is of the order
null space of the manipulator’s Jacobian. The matrix V(q) of 10−3 , while the orientation tracking error is practically
may be computed by a singular value decomposition of the null (figure 10). However, it can be seen from figure 11 that
Jacobian matrix [12]. Although, in this paper the following the joints 2, 5 and 7 exceed their limits.
static projection matrix will be considered [17]: Once the redundancy resolution algorithm is introduced
N1 (q) = Ident − J† J . (44)
the joint angle values are consistently maintained under
their limits, as can be seen from figure 12. Both for the posi-
where Ident corresponds to an identity matrix. tion, as for the orientation, the tracking error is maintained
low. During the final simulations it was used the follow-
5.2. Dynamically Consistent Projection ing values for the respective position and orientation gains:
Equation 43 describes a projection matrix, based only on
kinematic movement. A sufficient condition for a null space Joint Angles variation (degree)
mapping to be consistent with the dynamic motion of the
Joint 1

−40
−60

manipulator is given by: −80


0 50 100 150 200 250 300 350 400 450 500
Joint 2

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)

jection matrix will be considered [8]:

N2 (q) = Ident − JT Mx JI−1


θ . (47) Figure 11: Joint angular position.

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

100 0.4 0.4


80
0 50 100 150 200 250 300 350 400 450 500 0.2 0.2

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

0 50 100 150 200 250 300 350 400 450 500


0.8

Amplitude

Amplitude
Time (s) 0.6

0.6
0.4

0.4

Figure 12: Joint angular position (considering redundancy resolution). 0.2


0.2

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]

Kp = diag{100, 100, 100} e Ko = diag{500, 500, 500}.


Where diag(·) represents a diagonal matrix. The constant Figure 13: Models performance.
k0 needed to calculate the null space velocity, described by
the equation 9, was fixed at 14 after consecutive iterations.
ωn (rad/s) EQM V AF (%)
6.2. Joint and Cartesian Model Validation Joint 1 15.25 0.0489 97.18
Joint 2 11.1 0.0408 98.56
The validation of the models derived, both for the Carte-
sian level as for the joints level, goes through compare the Joint 3 18.6 0.0527 97.14
behaviour of the derived models, to the behaviour of the Joint 4 19.5 0.0427 98.48
robotic arm. To this end, in order to identify the manipula- Joint 5 32 0.0519 95.70
tor bandwidth, it’s performed a set of tests to the manipu- Joint 6 31 0.0595 95.10
lator, applying the logarithmic decrement method [13].
The logarithmic decrement method, consists to evaluate Joint 7 12.6 0.1922 86.77
the response of a damped system when subjected to free X 7.6 0.0104 99.86
vibrations. Once the damped response is available, the Y 8.2 0.0230 99.11
method allows to compute the signal parameters according
to the following expressions [13]: Z 10.6 0.0172 99.44

ln xxn0 Table 2: Models performance


ξ= q , (48)
4π 2 n2 + (ln xxn0 )2
Tn − T0 identified for each joint of the manipulator, the bandwidth
Ta = , (49)
n of the Cartesian space, as well as the performance measure-
2π ments.
wa = , (50)
Ta
wa The performance measurements obtained and presented
wn = p . (51) in Table 2 are quite satisfactory, since they are related to
1 − ξ2
the comparison of signals from a robotic system composed
where x0 and xn are respectively the first and last signal of highly non-linear elements, where there is a degree of
maxima, spaced by n cycles. Ta is the damped period, ωa is uncertainty associated with their behaviours, to a idealized
the damped natural frequency and ωn the undamped natural computational system. The measured bandwidths presented
frequency. are for a certain configuration of the manipulator. However,
Figure 13 illustrates the responses of the joint model, for it could be seen throughout the testing, that the bandwidth
the two joints 1 and 3, and the Cartesian model, in the x and of the manipulator is a function not only of the stiffness but
y directions, compared to the Kuka robotic manipulator res- also of the manipulator configuration, i.e. the bandwidth is
ponses. To evaluate the models performance, it’s applied to a function of the stiffness and a certain parameter which is
the obtained signals, the root mean square (RMS), and the dependent of the manipulator joint angular positions. How-
variance accounted for (VAF). Table 2 shows the bandwidths ever, the identification of this parameter was not possible,

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

δDθ +/- 24 N ms/rad t0 = 15s 0.1 0.1

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

since it is not available for evaluation. −0.2 −0.2

−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

Robotic systems may be classified as high-risk systems in 0.2


Given Reference
Actual Position
0.2
Given Reference
Actual Position

the presence of faults, since they often operate in the vicinity 0.15 0.15

of humans, as is the case for surgical manipulators, where 0.1 0.1

the presence of faults is critical and intolerable. Therefore, 0.05 0.05

z (m)

z (m)
0 0

it’s important to develop algorithms which make possible the −0.05 −0.05

detection and accommodation of such faults. In this section −0.1 −0.1

it is intended to evaluate the influence of possible occurring −0.15 −0.15

faults in the manipulator, taking advantage of the derived −0.2 −0.2

Cartesian model. It was considered two distinguished types −0.25


−0.25 −0.2 −0.15 −0.1 −0.05 0
y (m)
0.05 0.1 0.15 0.2 0.25
−0.25
−0.25 −0.2 −0.15 −0.1 −0.05 0
y (m)
0.05 0.1 0.15 0.2 0.25

of faults, being these abrupt and incipient faults. Although


only the abrupt case will be presented. Figure 14: Reference vs. tracking.
Abrupt faults are faults that occur at a specific point in
time and with a given amplitude, while incipient faults are
faults which evolve over time making their effect on the sys- Figure 15 illustrates the difference between the torques on
tem more predominant. In robotic systems, faults usually the joints prior to, and after to, the occurrence of the faults.
occur in a given actuator or a given sensor. To simulate such It can be seen that the difference between the torques, re-
faults, one may actuate in the joint parameter Kθ or Dθ of lated to −δDθ faults, takes greater significance some time
the Cartesian derived model. Thus, the simulation of faults after the occurrence of the fault, causing vibrations in the
in the system goes through add a given percentage amount structure mentioned above. In other cases, the influence of
δ, to the matrices that represent the stiffness and damping the faults are immediate and uniform.
of the joints.
To evaluate the influence of faults, it is intended that the
robotic manipulator, describe in the Cartesian space a set 7. Conclusion
of circumferences, and therefore one may concluded about
the influence of the faults, evaluating both the manipula-
tor Cartesian coordinates, as the torque variation. Table 3 In this work, it was developed models representing the
shows the intensity of the addressed abrupt faults. dynamic behaviour of the Kuka surgical robotic manipula-
The intensity of abrupt faults considered, correspond to tor. The development of the models involved the mapping
an increase or decrease of about 10% at the current joint of the desired dynamic at the Cartesian level, into the de-
stiffness, and about 50% of the current damping value. It’s sired one, at the joint level. To this end, the Jacobian of the
idealized that the faults occur individually in time. For the manipulator had a preponderant role. It was developed a
case here presented, it’s considered that the fault occurs in CLIK algorithm, in which the manipulator redundancy was
the joint 3. Figure 14 shows the reference and the trajec- exploited in order to keep the joints position under their
tory carried out by the manipulator, when subjected to the limits. It was obtained satisfactory results for the CLIK al-
abrupt fault δKθ and +/−δDθ in the joint 3. It is clear that gorithm, in that it was possible to keep all the manipulator
the considered faults have an impact in the system perfor- joints limited. The developed null space controller, in which
mance. Faults in the stiffness, both when there is a increase the impedance superposition method was exploited, leaded
or a decrease in the optimal stiffness, cause an immediate to a consistent behaviour of the manipulator, for both the
deviation of the end effector position. Damping faults are considered projection matrices. Both the derived models, to
relevant when the damping is less than ideal, i.e. an increase reproduce the dynamic behaviour of the robotic manipula-
in the damping makes the system over-damped, which by it- tion, revealed good results. The models are currently being
self, isn’t critical. On the other hand, if the damping is less used in the development of control algorithms to detect and
than ideal, the system enters into vibration, and can desta- accommodate faults and to explore diferente control schemes
bilize. associated to the Kuka robotic manipulator.

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.

[7] Bronstein, I.N., Semendjajew, K.A. Taschenbuch der


mathematik. 1981. Verlag Harri Deutsch, Thun und
Frankfurt.

10

You might also like