robotica - semantic scholar · robotica additional services for robotica: email alerts: click here...

14
Robotica http://journals.cambridge.org/ROB Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here Terms of use : Click here Dynamic multi-priority control in redundant robotic systems Hamid Sadeghian, Luigi Villani, Mehdi Keshmiri and Bruno Siciliano Robotica / Volume 31 / Issue 07 / October 2013, pp 1155 - 1167 DOI: 10.1017/S0263574713000416, Published online: 22 May 2013 Link to this article: http://journals.cambridge.org/abstract_S0263574713000416 How to cite this article: Hamid Sadeghian, Luigi Villani, Mehdi Keshmiri and Bruno Siciliano (2013). Dynamic multi-priority control in redundant robotic systems. Robotica, 31, pp 1155-1167 doi:10.1017/S0263574713000416 Request Permissions : Click here Downloaded from http://journals.cambridge.org/ROB, IP address: 37.254.94.51 on 03 Oct 2013

Upload: ngodung

Post on 02-Nov-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

Roboticahttp://journals.cambridge.org/ROB

Additional services for Robotica:

Email alerts: Click hereSubscriptions: Click hereCommercial reprints: Click hereTerms of use : Click here

Dynamic multi-priority control in redundant robotic systems

Hamid Sadeghian, Luigi Villani, Mehdi Keshmiri and Bruno Siciliano

Robotica / Volume 31 / Issue 07 / October 2013, pp 1155 - 1167DOI: 10.1017/S0263574713000416, Published online: 22 May 2013

Link to this article: http://journals.cambridge.org/abstract_S0263574713000416

How to cite this article:Hamid Sadeghian, Luigi Villani, Mehdi Keshmiri and Bruno Siciliano (2013). Dynamic multi-priority control in redundantrobotic systems. Robotica, 31, pp 1155-1167 doi:10.1017/S0263574713000416

Request Permissions : Click here

Downloaded from http://journals.cambridge.org/ROB, IP address: 37.254.94.51 on 03 Oct 2013

Page 2: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

Robotica (2013) volume 31, pp. 1155–1167. © Cambridge University Press 2013doi:10.1017/S0263574713000416

Dynamic multi-priority control in redundant robotic systems1

Hamid Sadeghian†,‡∗, Luigi Villani‡, Mehdi Keshmiri† andBruno Siciliano‡†Department of Mechanical Engineering, Isfahan University of Technology (IUT), Isfahan 84156-83111, Iran‡PRISMA Lab, Dipartimento di Ingegneria Elettrica e Tecnologie dell’Informazione, Universita di Napoli Federico II, Italy

(Accepted April 15, 2013. First published online: May 22, 2013)

SUMMARYThis paper presents a dynamic-level control algorithmto meet simultaneously multiple desired tasks based onallocated priorities for redundant robotic systems. It is shownthat this algorithm can be treated as a general framework toachieve control over the whole body of the robot. The controllaw is an extension of the well-known acceleration-basedcontrol to the redundant robots, and considers also possibleinteractions with the environment occurring at any pointof the robot body. The stability of this algorithm is shownand some of the previously developed results are formulatedusing this approach. To handle the interaction on robotbody, null space impedance control is developed within themulti-priority framework. The effectiveness of the proposedapproaches is evaluated by means of computer simulation.

KEYWORDS: Redundant robots; Multi-priority control;Null space impedance control.

1. Introduction

Robots are termed kinematically redundant when theypossess more degrees of freedom (DOF) than those necessaryto achieve a desired task. Redundant degrees of freedomcan be conveniently used to perform some additional tasksbesides the main task. These additional tasks can be aperformance objective or, for example, a given Cartesianposition of a point on the robot body. There are plenty ofpapers that deal with how to use redundancy effectively tooptimize some performance objective besides the main taskcontrol. This optimization is usually performed in the nullspace of the main task to ensure its perfect tracking. In orderto solve the conflict between tasks in the case where severalobjective functions are going to be satisfied simultaneously,the so-called task priority strategy was developed.2,3 Theformulation was later extended in a general framework formanaging multiple tasks by Siciliano and Slotine.4

This formulation uses the first-order differentialkinematics equation and solves redundancy in the least-squares (LS) sense, based on the assigned priority by

* Corresponding author. E-mail: [email protected] preliminary version of this paper appeared in the proceedings ofthe IEEE/RSJ International Conference on Intelligent Robots andSystems, 2011.

resorting to pseudo-inverse solution. Because of using thepseudo-inverse of the projected Jacobians – the Jacobiansof the lower priority tasks that are projected into the nullspace of the higher priority tasks – the formulation maysuffer from high norms during transition into and out ofalgorithmic singularities. Usually singularity-robust pseudo-inverse that allows limiting joint velocities at the expense ofsmall tracking error in lower priority tasks is the first remedyto treat this problem. Efficient damping techniques have beensuggested by Nakamura and Hanafusa,5 Wampler,6 and alsoby Nenchev and Sotirov7 for the case of multiple priorities.

Chiaverini8 proposed the singularity-robust task-priorityresolution without using the projected Jacobian. Thisformulation always involves tracking errors in the additionaltasks, but singularities do not occur as long as the Jacobianof each additional task is full rank. The stability of thisformulation has been also shown.9

De Santis et al.10 apply the concept of multi-point controland virtual end-effectors (VEEs) for human–robot interaction(HRI). The VEEs are parts of the manipulator structure whosepositions are to be controlled in addition to the control ofthe end-effector of the robot manipulator. They proposeda nested closed-loop inverse kinematics algorithm with apriority management strategy in order to control robot in acluttered environment.

To address dynamic uncertainties of the system, anadaptive multi-priority control has been proposed bythe authors.11 By this method, asymptotic stability andconvergence of tracking error are achieved for the main taskas well as the subtasks, according to the allocated priority.

Instead of velocity-based control, acceleration-basedcontrol computes the desired joint accelerations for given taskreferences.12 Synthesis of joint acceleration in a redundantrobot usually requires a more involved analysis, but forsystems such as robots, this formulation is most naturaland offers improved tracking ability due to the explicitincorporation of acceleration information.

The problem of internal instability in the acceleration-level redundancy resolution was first noted by Hsu et al.13

The nature of this instability was further analyzed14 and itwas shown that the divergence of joint velocity norm infinite time in linear acceleration-based redundancy resolutionis possible because of rapid increase in the null spacecomponent of joint velocities. A complete theoretical andempirical evaluation of different dynamic methods has beeninvestigated by Nakanishi et al.15

Page 3: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

1156 Multi-priority control, null space impedance control

The problem of redundancy resolution and multi-prioritycontrol has recently received more attention, especiallywithin the context of highly redundant complex systemsuch as humanoid robots. Khatib et al.16 and Sentis andKhatib17 proposed the extension of the operational spaceformulation18 to control behavioral primitives in a humanoidrobot at torque level.

A framework based on optimal control for robot withredundant degrees of freedom has been proposed.19 It isshown how a variety of control laws can be derived usingthis framework.

Recently, Platt et al.20 proposed a multi-priority Cartesianimpedance control method by resorting to accelerationresolution. They also used multi-priority control algorithmto control the impedance of the Robonaut 221 arms in bothoperational space and redundant space.22

The motivation behind multi-priority control is the factthat a highly redundant robot is generally required toexecute multiple tasks simultaneously. This paper, which isan extension of our previous work1, contributes to multi-priority control at the acceleration level for redundantrobotic systems and establishes a general framework toachieve dynamic control over the whole body of robot.It is shown that by the proper choice of additional tasks,besides preserving the stability of internal motion, it ispossible to derive some of the previous results in the literaturewithin this framework. Specifically, Hsu’s controller,13 whichensures the stability of null space motion, is reformulatedin a more intuitive and simple expression under multi-priority control framework. Moreover, a comparison withhierarchical torque-level control algorithm16,17 is performed.To cope with algorithmic singularities, a possible solutionis also presented. Null space impedance control, as aresult of task prioritization, is introduced to handle therobot–environment interaction.

The rest of the paper is organized as follows. In Section 2some preliminaries related to the generalized inverse arereviewed. The multi-priority inverse kinematics at velocitylevel is briefly described in Section 3. The main results,including acceleration-level multi-priority control and nullspace impedance, are presented in Sections 4 and 5. Acomparison between torque level and acceleration level isgiven in Section 6. Some of the main results are verified bysimulation in Section 7. The conclusions are given in the finalsection.

2. Background on Generalized InverseIn this section some of the fundamental properties of thepseudo-inverse are surveyed in brief.3,23

For a linear equation x = J q, where J ∈ Rm×n, x ∈ Rm

and q ∈ Rn, the general form of the least-squares solutionthat minimizes the error norm ||x − J q|| is given by

q = J † x + (I − J † J)ζ , (1)

where ζ ∈ Rn is an arbitrary vector and I is an identitymatrix. J † ∈ Rn×m is the unique matrix, called the pseudo-

inverse, which satisfies the following properties:

J J † J = J, J † J J † = J †,( J J †)T = J J †, ( J † J)T = J † J .

(2)

Moreover, the following equalities hold

( J †)† = J,

( J †)T = ( JT )†,J † = JT ( J JT )†.

(3)

For the case where m < n and rank ( J) = m, the pseudo-inverse is given by J † = JT ( J JT )−1, and thus J J † = I .

The matrix N = (I − J † J) is an orthogonal projector thatprojects every vector into the null space of J and thus isidempotent, i.e., N2 = N . This matrix is also symmetric,and it can be easily shown that

N(BN)† = (BN)†, for any matrix B ∈ Rm×n,

N† = N,

J N = N J † = 0.

(4)

Equation (1) is the general form of least-squares solutionbased on Euclidean norm. The first term in (1) is the solutionthat minimizes ||q||. In many robotic applications, it isdesired to find the solution based on an appropriate weighting(usually the inertia matrix M) of the components. In thesesituations the general form of M−weighted norm solution isgiven by

q = J# x + (I − J# J)η, (5)

where M ∈ Rn×n is a symmetric positive definite weightingmatrix and J# is the weighted generalized inverse, whichis given by J# = M−1 JT ( J M−1 JT )−1 for a full rankmatrix J. Equation (5) represents a weighted orthogonaldecomposition, where the first term minimizes ||q||M . Nullspace matrix N# = (I − J# J) is a projection matrix and isidempotent, thus J N# = 0. The following properties holdfor full rank matrix J :

J J# = I,

J M−1 NT# = 0,

M N# = NT# M,

N#(BN#)# = (BN#)#, for any matrix B ∈ Rm×n.

(6)

3. Multi-Priority Inverse KinematicsMulti-priority inverse kinematics is a well-establishedframework to manage the tasks in a kinematically redundantrobotic system. Assume that the task is composed of twoprioritized tasks. The first priority task (main task) isspecified using the first manipulation variable, x1 ∈ Rm1,

and the second priority task (subtask) is specified by thesecond manipulation variable, x2 ∈ Rm2 . The kinematicrelationships between the joint vector q ∈ Rnand the vectorsof task variables are expressed by

xk = Jk(q)q (k = 1, 2), (7)

Page 4: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

Multi-priority control, null space impedance control 1157

where Jk(q) ∈ Rmk×n is the Jacobian matrix of the kthtask.

The inverse kinematics solution considering the priorityof the main task over the subtask can be found in literature3

and for the sake of completeness it is briefly recalled now.First, the set of all solutions that satisfy main task is obtainedas q = J †

1 x1 + (I − J †1 J)ζ , where ζ is an arbitrary vector.

Then this solution is substituted in x2 = J2q, and ζ thatminimizes ||x2 − J2q||, is computed. After substitution ofthis value of ζ , the final solution is obtained as

q = J † x1 + J †2(x2 − J2 J †

1(q)x1) + N2η, (8)

where J2 = J2 N1 is the projected Jacobian, which givesthe available range for the subtask to be executed withoutaffecting the main task, N1 = (I − J †

1 J1), N2 = N1(I −J †

2 J2), and η is an arbitrary vector. A recursive extension of(8) has also been proposed.4

At this point, let us remark that in multi-priority algorithmif Jk is singular (task singularity), then the kth task cannotbe satisfied regardless of all other tasks. If Jk is singular,without Jk being singular (algorithmic singularity), the kthtask cannot be satisfied given the previous k – 1 tasks. Thiswill happen when tasks are dependent. Namely, two generictasks are dependent when

ρ( J1) + ρ( J2) > ρ

([J1

J2

]), (9)

where ρ(.) denotes the rank of a matrix. More details aboutthe task dependency and the algorithmic singularity can befound in related references.8,9,24

Thus, it is obvious that singularities may occur fromthe lower priority tasks. In the case of a free task priorityassignment, dynamic task priority allocation7 is crucial to theoverall performance of the system. For a singularity-robusttask-priority handling, Chiaverini8 proposed the followingformulation for a case with two tasks:

q = J †1 x1 + N1 J †

2 x2. (10)

Comparing with (8), algorithmic singularities are absent, butthere is typically a greater tracking error for the subtask.9,25,26

4. Multi-Priority Control at Acceleration Level

4.1. General formulationThe goal of dynamic multi-priority control is to derive acontrol torque which will cause the system to track the desiredmain task exactly, while, at the same time, system redundancyis exploited to realize a number of subtasks according to somedesired priorities.

The dynamic model of a robot manipulator can be writtenin compact form as

M(q)q + C(q, q)q + g(q) + τ ext = τ (11)

with known notation. In this formulation, τ ext is the externaltorque resulting from any interaction on the manipulator. The

kinematic relationships between the joint variable q ∈ Rn

and the task variable xk at acceleration level are expressedby

xk = Jk q + Jk q. (12)

Following a derivation similar to that used for extracting(8), the corresponding solution for the joint space commandacceleration qc, for given task space command accelerationsx1c, x2c is given by

qc = J †1 (x1c − J1q)

+ J †2[x2c − J2q − J2 J †

1(x1c − J1q)] + N2η.

(13)

The basic issue in this formulation is the differential orderat which resolution takes place. Actually the first term onthe right-hand side ensures minimization of ||x1 − x1c||, andby the second term the minimization of ||x2 − x2c|| in thenull space of the main task is obtained. Further investigationenables us to propose the general solution for L tasks asfollows:

qc =L∑

k=1

qkc,

qkc = J †k(xkc − Jk q − ak),⎧⎪⎨

⎪⎩a1 = 0, k = 1

ak = Jk

k−1∑i=1

qic, k = 2, . . . , L, (14)

where

Jk = Jk Nk−1,

Nk = ∏kj=1(I − J †

j J j ),N0 = I,

(15)

and the equality Nk−1 J †k = J †

k has been used.Note that the null space matrix Nk can be written as

Nk =⎛⎝I −

k∑j=1

J †j J j

⎞⎠ , (16)

or, equivalently, in the form

Nk = (I − J †Ak JAk),

JAk =⎡⎣ J1

. . .

Jk

⎤⎦ , (17)

where JAk is the augmented Jacobian.4

Once the command acceleration qc is obtained, well-known concept of inverse dynamics can be used to find the

Page 5: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

1158 Multi-priority control, null space impedance control

driving torques

τ = M(q)qc + C(q, q)q + g(q) + τmsr. (18)

In this equation, τmsr is the vector of measured or estimatedexternal torques acting on the robot. Under the assumptionof perfect torque measurement, we have τmsr ≈ τ ext.

Equations (14) and (18) can be treated as a generalframework to control the whole behavior of the redundantrobotic system by multiple priorities and even multi-pointcontrol. The acceleration-level prioritization, in contrast tovelocity-level prioritization, gives full trajectory planningwith complete time information. A nice property of (14)is that, if desired, it can be easily used for any kind offorce motion control by a proper choice of the operationalcommand acceleration. The method also enables us to givepriority to one task over another, even in a non-redundantrobotic system. This kind of formulation can explain thepreviously proposed acceleration-level resolution techniquesin the framework of task prioritization by a proper choice ofsubtasks.

Regarding (14), the following crucial points must be takeninto account:

(1) The first k – 1 tasks influence the performance of task k.Hence, the order of priority allocation will be crucial tothe performance.7

(2) Internal instability of joint velocity in the residual nullspace of the overall augmented Jacobian may arise.13,14

(3) The general scheme suffers from high-norm solutionsin the neighborhood of singularities because of usingpseudo-inverse.

The last two issues will be addressed in the next two sections.

4.2. Stability analysisBy the compensation of Coriolis/centrifugal, gravity andexternal torque in (18), the closed-loop behavior of thesystem is obtained as

q = qc, (19)

where q c is given by (14) for general L tasks. Multiplyingboth sides by J1 J †

1 J1 and using the idempotency of J1 J †1

give

J1 J †1[x1c − x1] = 0, (20)

which under the full rank assumption for J1 gives x1 = x1c.

This implies that, for instance, for command acceleration

x1c = x1d + KD1(x1d − x1) + KP 1(x1d − x1), (21)

with desired trajectory x1d and suitable positive Proportional-Derivative (PD) gains KP 1 and KD1, asymptotic tracking formain task is achieved.

Multiplying both sides of (19) by J i J †i J i , in order to find

the closed-loop equation for ith subtask, and considering theidempotency of J i J †

i and properties (4), yield

J i J †i [xic − xi] = 0, (22)

which ensures the minimization of ||xi − xic|| subject to allhigher priority tasks. Thus, if ith task is independent from allhigher priority tasks and thus J i is full rank, this subtask iscorrectly executed. In other case, when J i is not full rank,the ith task is not performed completely and just the abovenorm minimization is performed with respect to all higherpriority tasks.

Note that if the rank of the overall augmented Jacobian islower than the number of joints coordinate n, then the residualnull space velocity must be controlled to avoid unstablebehavior.13,14

Without loss of generality, let us assume that only onetask (the main task) is assigned, and the null space ofJ1 is non-empty. To ensure the stability of the null spacevelocity, let us choose the null space velocity as a subtask,namely, x2 = N1q, with the desired velocity, x2d = N1ξ ,and command acceleration, x2c = x2d + K (x2d − x2), withpositive definite matrix K . From (13) the correspondingcommand acceleration in joint space is obtained as

qc = J †1 (x1c − J1q) + N1[x2c − N1q], (23)

where N†1 = N1 and N1 J †

1 = 0 have been used.By the above command acceleration, the closed-loop

equation for the subtask from (22) is given by

N1[eN + K eN ] = 0, (24)

where eN = N1(ξ − q) is the null space velocity error. Theabove equation does not guarantee that eN goes to zero, sinceN1 is not full rank. Computing the time derivative of theidentity eN = N1eN and using (24) give the error dynamics

eN = N1 eN + N1eN = −(N1 K − N1)eN. (25)

To prove the stability of the null space velocity errordynamics, consider the positive definite Lyapunov functioncandidate

V = 1

2eTN eN (26)

whose time derivative along the trajectories of the system(25) is

V = −eTN (N1 K − N1)eN = −eT

N K eN + eTN N1eN. (27)

The last term of (27) is null, since matrix N1 N1 N1 is null,as can be easily shown using (4). Therefore, V = −eT

N K eN

is negative definite for all positive definite matrix K , and theequilibrium eN = 0 is asymptotically stable.

In conclusion, the internal stability is guaranteed in thesame multi-priority framework by a simple choice for thelowest priority task. In the above equations, one can chooseξ = 0, and thus as long as manipulator avoids singularity,null space velocity will go to zero. However, if it is appealedto minimize some performance index m(q), ξ can be chosenas the gradient of performance index, i.e., ξ = α∇m.

It is worth observing that the null space commandacceleration φN = N1[x2c − N1q] in (23), which guarantees

Page 6: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

Multi-priority control, null space impedance control 1159

internal stability, coincides with the null space stabilizingcontrol introduced by Hsu et al.13 In their paper, the followingcontrol acceleration was proposed:

qc = J †1(x1c − J1q) + N1[ξ + K N1(ξ − q)]

−( J †1 J1 J †

1 + J†1) J1(ξ − q). (28)

To show this coincidence, from (23) the null space vector canbe written as

φN = N1[x2c − N1q]

= N1[N1(ξ ) + N1ξ + K N1(ξ − q) − N1q].

= N1 N1(ξ − q) + N1[ξ + K N1(ξ − q)] (29)

Substituting N1 N1 = −N1 J †1 J1 and using equality J1 J †

1 =−J1 J †

1 give null space vector in (28).Recently, Nakanishi et al.15 tried to find an intuition behind

this, rather complex, null space vector. They analyzed theseterms to find a relation with analytical differentiation ofvelocity-based redundancy resolution approach. Here by (23)and (24) we give a reasonable intuition behind (28) with amore appealing and simple form.

4.3. Singularity treatment in multi-priority controlSince the acceleration-level formulation is based on least-squares, the first remedy to treat singularity is the DampedLeast-Squares (DLS) method. A complete analysis of usingDLS in the second-order kinematic control for non-redundantrobots has been performed.27 It is observed that usingthe DLS method at the acceleration level in multi-priorityalgorithm causes oscillatory motion near singularities. Thisoscillation is illustrated in the simulation section of thecase study. The oscillation is different from the instabilityof internal motion, which occurs for residual null space.By using DLS in acceleration level, the sum of the normof joint space acceleration (multiplied by the dampingcoefficient) and the norm of the task error are minimized.This minimization does not guarantee proper behavior ofjoint velocities.

Without loss of generality, assume that we have a maintask x1, and only one subtask x2, producing an algorithmicsingularity. To cope with this problem, the damped pseudo-inverse is adopted for the subtask, and an additionalsubtask x3 = q with command x3c = −Bq + K (qds − q) isintroduced, with the same priority level of subtask x2, aimedat damping the oscillation in the neighborhood of singularity.The joint vector qds(t) is a suitable configuration that can beset to push the system far from the singularity. Hence, thecommand acceleration is formulated as

qc = J †1(x1c − J1q)

+ N1 J †λ1

2 [x2c − J2q − J2 J †1(x1c − J1q)]

+ kλ1 N1[−Bq + K (qds − q)], (30)

where B and K are suitable positive matrices and k is apositive constant. In this formulation λ1 is the damping factor,

which can be given, for example, as27

λ21 =

{0 σ ≥ ε(

1 − ( σε

)2)λ2

M σ < ε, (31)

where σ is the singular value of the related projectedJacobian, ε defines the size of singular region and λM

properly shapes the solution near the singularity. In thisway, inside the region of singularity, the factor λ1 increasesin proportion to the closeness to the singularity to ensurecontinuity and good shaping of the solution.

Note that setting K = 0 in (30) actually damps out theoscillatory motion without any pre-assigned configuration.In the simulation section these cases will be illustrated withmore details.

It is worth to mention that by the last term in (30) and nearto the singularity, in fact, the so-called null space impedanceis brought into the second priority by factor kλ1. In thisway the singularity problem is solved within the same multi-priority framework. Null space impedance will be introducedin the next section.

5. Null Space Impedance ControlAssume that the end-effector of the redundant robot is goingto follow the desired task space trajectory xd (t) or maybeto realize an impedance behavior as the main task. Oneinteresting choice for subtask x2 is the whole joint spaceconfiguration, i.e., x2 = q. By this choice, we aim to havecontrol over the behavior of the robot in the joint space atthe second priority. Note that by the above choice, two tasksare always in conflict, but we do not have problems withsingularities. Usually singularity may give troubles duringtransition from a nonsingular to a singular configurationbecause of the use of a pseudo-inverse in the solution.

Let us give the command impedance acceleration asx2c = qd + M−1

d (Bd˙q + K d q − τmsr), where Md, Bd and

K d are the impedance matrices, q = qd − q and qd (t)is the desired joint space configuration. The command jointacceleration and the closed-loop behaviors are obtained from(13) and (22) as follows:

qc = J †1(x1c − J1q)+N1[qd + M−1

d (Bd˙q + K d q − τmsr)],

(32)

x1 = x1c, (33)

N1[ ¨q + M−1d (Bd

˙q + K d q) − M−1d τmsr] = 0. (34)

Actually this command lets us to realize joint spaceimpedance despite the main task objective in the null spaceof the main task. By a proper choice of null space impedancematrices, it is possible to achieve a compliant behavior forthe robot body. This compliant behavior is useful in thecase where the robot works in a cluttered environment andinteraction may occur. The desired trajectory qd (t) in theabove equation can be chosen as a rest point or as a trajectoryto meet a given objective function. Note that, generally it isnot necessary for qd (t) to be consistent with the task space

Page 7: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

1160 Multi-priority control, null space impedance control

trajectory xd (t), that is, xd = f (qd ). Actually, in the absenceof interaction if qd (t) is not consistent, i.e., xd �= f (qd ), alocal minimization can be achieved in the null space whichensures the configuration to reach qd (t) in the sense of leastsquare. However, when the desired null space trajectory isconsistent with the task space, both the desired task spaceobjective and the null space configuration are expected toachieve simultaneously.

The closed-loop equations (33) and (34) were obtainedunder the assumption that the external forces applied to themanipulator have been entirely compensated. When externaltorque information is not available to compensate τ ext, thecontroller is given by

τ = M(q)qc + C(q, q)q + g(q), (35)

qc = J †1(x1c − J1q) + N1[qd + M−1

d (Bd˙q + K d q)],

(36)

and the closed-loop behavior is obtained as

x1c − x1 = J1 M−1τ ext, (37)

N1[ ¨q + M−1d (Bd

˙q + K d q) − M−1τ ext] = 0. (38)

Note that by using dynamically consistent18 generalizedinverse, J#

1 = M−1 JT1 ( J1 M−1 JT

1 )−1in (36) and choosingMd = M from (38), the following equation is obtained:

NT#1[M ¨q + Bd

˙q + K d q − τ ext] = 0, (39)

where equality M N#1 = NT#1 M with N#1 = (I − J#

1 J1) hasbeen used. It must be mentioned that for both the cases, withand without the external torque information, by using theabove choices for the generalized inverse and Md , the closed-loop equations in the null space are almost the same. Theonly difference is that in (34) the impedance is realized withrespect to the measured/estimated external torque whereas in(39) it is realized with respect to the physical external torque.

Note that in view of (37) the external interaction affectsthe operational task. To alter this error on the main task, adisturbance observer has been proposed by the author ofthis paper.28 The null space impedance control has beenalso applied for a dual arm cooperating manipulator duringCartesian impedance control.29

For the case where the external interaction just occurs at theend-effector and dynamically consistent generalized inverseis used, we have

NT#1τ ext = NT

#1 JT1 Fext = 0. (40)

It means that the force on the end-effector does not affectthe null space behavior (39) as it is expected by usingdynamically consistent generalized inverse.

From the closed-loop behavior (39) and, more generally,from (22), it is clear that the desired impedance can neverbe realized completely within the null space. However, it isrealized as much as possible in the sense of least-squares

in the null space of the main task (the norm ||x2 − x2c||is minimized subject to the main task). Actually, the nameof null space impedance control implies this fact and it canbe regarded as an extension of the null space stiffness ordamping that is, as known from the literature, aimed atstabilizing null space motion.15,30 By this formulation, theredundancy of the robot can be exploited for safe interactionbetween the robot body and the unknown environment.

Even though the above choice of whole configuration asthe second task with the joint impedance command is quiteintuitive, the stability analysis of (39) even in the absenceof external interaction seems rather difficult.15 This problemcan be overcome by using the minimal representation of nullspace.31,32 In detail, a full rank null space base matrix Z(q) ∈Rn×(n−m), such that J1 Z = 0, is chosen and a velocity vectorv, such that N1q = Zv, is defined. It can be shown that aconvenient choice of the minimal velocity vector v is givenby the left inertia-weighted generalized inverse, v = Z#q =(ZT M Z)−1 ZT Mq.

The minimal representation of null space impedance can beformulated within the multi-priority framework by the choiceof minimal velocities as the second priority task, i.e., x2 = v.In this way, Z# can be seen as the Jacobian of the secondpriority task. Using (13) with the dynamically consistentgeneralized inverse, the command acceleration in this case is

qc = J#1(x1c − J1q) + Z(x2c − Z

#q), (41)

where the equality Z# N#1 = Z# has been used. Followingthe same procedure as in the non-minimal case and by thechoice of x2c = vd + �−1

d (Bd v + ZT K d q) as the commandacceleration, with �d = ZT M Z, the closed-loop dynamicsin the null space is obtained as

(ZT M Z) ˙v + Bd v + ZT K d q = ZT τ ext, (42)

being v = vd − v and Bd and K d as proper impedancematrices.

By this formulation a minimal representation of the nullspace impedance with the projection of external torques onthe minimal space ZT τ ext is realized. The stability of thesystem can be shown following the solution proposed by Ottet al.32

For the sake of completeness, it is worth to remindthat the nature of a specified task is important for thecommand xc if it is related to the system position ororientation. In general, position and orientation controls needto be considered separately, since the position control israther straightforward, while the orientation control is morecomplex. A critical comparison between various type oforientation error (Euler angles feedback, quaternion feedbackand angle/axis feedback) has been performed and evaluatedexperimentally.33 Therefore, in order to use the presentedmethods in a task space control, which contains orientationtasks, task space command must be given based on properorientation error definition.

Page 8: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

Multi-priority control, null space impedance control 1161

6. Comparison with Torque-Level Multi-PriorityControlKhatib et al.14,17 developed a whole-body control frameworkfor prioritized multiple task control in humanoid robots.Hand location, mass center control and obstacle and jointlimit avoidance are the common choices for tasks in ahumanoid robot. They labeled all the behaviors not affectingthe main task as the posture space. This formulation allowsfor posture objectives to be controlled without dynamicallyinterfering with the main (operational) task.

Let us use the subscripts 1 and 2 for the task space andthe posture space respectively. In the absence of externaltorque and in order to obtain a decoupled behavior forthe operational task x1 and the posture x2, the originallyproposed control law16 can be written as

τ = τ task + τ posture,

τ task = JT1 [�1(x1c − J1q) + J#T

1 (Cq + g)],

τ posture = JT

2 [�2(x2c − ˙J2q − x2−bias) + J#T

2 (Cq + g)],

(43)

where J1 and J2 are the Jacobians associated to theoperational and posture tasks, J2 = J2 N#1 with N#1 =(I − J#

1 J1) being the task consistent null space, J#1

is the dynamically consistent generalized inverse ofJacobian, �1 = ( J1 M−1 JT

1 )−1 is the task inertia matrix and�2 = ( J2 M−1 JT

2 )−1 is the posture-related inertia matrix.Furthermore, x1c and x2care command accelerations forthe task and posture spaces, respectively, and x2−bias isthe acceleration induced by τ task in the posture space. Theextension of the above formulation for a multi-level controlhas been also proposed.17

For the sake of comparison between acceleration- andtorque-level formulations for general L tasks with allocatedpriorities, the control torque proposed by Sentis and Khatib17

is rewritten in a suitable form with consistent notation asfollows:

τ =L∑

k=1

τ k,

τ k = JT

k [�k(xkc − ˙Jk q − xk−bias) + J#T

k (Cq + g)], (44)

where

�k = ( Jk M−1 Jk)−1,

J#k = M−1 JT

k �k. k = 1, . . . , L (45)

and Jk is given by (15), using inertia-weighted generalizedinverse J#

j in lieu of J †j .

Note that in this general formulation, k = 1 gives thecontrol torque for the main task, i.e.,τ 1 = τ task. In (44)xk−bias is a bias acceleration induced by the coupling of

preceding higher priority objective. It is given by

⎧⎪⎨⎪⎩

xk−bias = 0, k = 1

xk−bias = Jk M−1k−1∑i=1

τ i+�−1k J#T

k (Cq + g)

−�−1k J#T

k (Cq + g)− ˙Jk q + Jk q. k = 2, . . . , L

. (46)

Writing the torque-level controller in this form reveals a closerelationship of the above controller with the acceleration-resolved controller (14) and (18). In fact, in (43) andgenerally in (44), Coriolis/centrifugal and gravity termsare compensated in the operational and posture space. Itis often more suitable to perform full Coriolis/centrifugaland gravity compensation in the joint space.15 Having doneso, we can show that by using a dynamically consistentgeneralized inverse in the acceleration-based controller, wewill end up with exactly the same result as the torque-levelcontroller. This can be shown as follows. Compensating theCoriolis/centrifugal and gravity terms in the joint space andsubstituting xk−bias in the controller (44), we obtain

τ =L∑

k=1

τ k + Cq + g,

τ 1 = JT1 �1(x1c − J1q),

τ k = JT

k �k(xkc − Jk q − Jk M−1k−1∑i=1

τ i), k = 2, . . . , L.

(47)

By using the inertia-weighted generalized inverse, it canbe shown that the controller (47) is equal to the controllergiven by (14) and (18) in the absence of external torques.Substituting from (14) in (18), we have

τ = Mqc + Cq + g =L∑

k=1

Mqck + Cq + g. (48)

So we only need to show that τ k = Mqck . For k = 1, wehave

Mqc1 = M J1# (x1c − J1q) = τ 1. (49)

For k > 1, Mqck is given by

Mqck = M N#k−1 J#k(xkc − Jk q − Jk

k−1∑i=1

qci)

= NT#k−1 M J#

k(xkc − Jk q − Jk M−1k−1∑i=1

Mqci)

= JT

k �k(xkc − Jk q − Jk M−1k−1∑i=1

Mqci). (50)

Since τ 1 = Mqc1, (47) and (50) imply τ 1 = Mqc2 and byinduction,τ k = Mqck .

Page 9: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

1162 Multi-priority control, null space impedance control

0 2 4 6 8 10 12 14 16 18 20−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

Time (sec)

(rad

)

Joint positions

q1q2q3q4q5q6q7

0 2 4 6 8 10 12 14 16 18 20−0.1

0

0.1

0.2

0.3

0.4

Time (sec)

(rad

)

Third priority task error

Fig. 1. (Colour online) Joint positions and the third priority task error using DLS method.

In the above derivation the following properties have beenused:

NT#k−1 JT

k = JT

k , (51)

M N#k−1 = NT#k−1 M. (52)

The first one is straightforward by using idempotencyproperty of N#k−1. The second equation can be easilyobtained for a general case as follows

M N#k = M

⎛⎝I −

k∑j=1

J#j J j

⎞⎠ = M −

k∑j=1

M J#j J j

= M −k∑

j=1

M(M−1 JT

j �j ) J j M−1 M

= M −k∑

j=1

JT

j J#T

j M = NT#k M. (53)

It must be mentioned that the controller (44) assumes fullrank projected Jacobians Jk and thus this assumption is alsobeing held in the above procedure.

It can be easily verified that regardless of the choice ofgeneralized inverse used in (14) the lower priority tasks donot affect on higher priority tasks’ acceleration. The useof inertia-weighted generalized inverse may be preferablebecause by this choice no null space acceleration is inducedby the external forces applied in the task spaces xi .

34

Despite the possibility of choosing any weighting matrix inacceleration-level control, having the joint space commandacceleration given by this formulation, a variety of controlalgorithms can be applied because of explicit provision oftrajectory in joint space. This can be regarded as anotheradvantage of working in acceleration level. On the otherhand, the above analysis reveals that the stability andsingularity problems are also important issues in torque-level hierarchical control and care must be taken using thismethod.

It is worth to mention that Featherstone and Khatib35 havealso shown that the inertia-weighted generalized inverse isindependent of load and end-effector inertia. They have

Page 10: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

Multi-priority control, null space impedance control 1163

0 2 4 6 8 10 12 14 16 18 20−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

Time (sec)

(rad

)

Joint positions

q1q2q3q4q5q6q7

0 2 4 6 8 10 12 14 16 18 20−0.1

0

0.1

0.2

0.3

0.4

Time (sec)

(rad

)

Third priority task error

Fig. 2. (Colour online) Joint positions and the third priority task error using proposed method during singularity (K = 2 I).

also had a comparison between acceleration and torqueredundancy resolution in that paper.

7. Computer SimulationIn order to have a better understanding about the abovefindings, a 7-DOF KUKA lightweight arm is consideredfor the simulation study, neglecting the presence of jointelasticity and dissipative effects. The simulations areperformed for two different case studies. In both the cases theposition trajectory of the end-effector is assumed as the maintask. By this choice the robot has 4 degrees of redundancy.The first case study illustrates the singularity condition inmulti-priority control and shows the performance of theproposed solution to cope with singularities. In the secondcase study the performance of null space impedance controlis shown.

7.1. Case study IThe end-effector main task is selected as a linear positiontrajectory from xi to xf with constant rotation matrix Ri as

the second priority task,

xi = [0, −0.39, 0.61]T ,

xf = [0.085, −0.085, 0.597]T ,

Ri =⎛⎝−0.866 −0.5 0

0.5 −0.866 00 0 1

⎞⎠ . (54)

The third joint position is controlled as the third prioritytask with the desired value of x3(t) = 0.4. The controller(30) without the last term is used. The proportional andderivative gains for the first and second tasks are chosen asKP i = 100 I, KDi = 20 I and for the third task as KP 3 =81 I, KD3 = 18 I . The damping parameters are λM = 0.2and ε = 0.01.

The joint positions and the subtask errors are depictedin Fig. 1. The main task error and the second prioritytask error exponentially go to zero and are not shownhere for brevity. Before around t = 5.5 sec all thetasks are performed successfully. After that, singularity

Page 11: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

1164 Multi-priority control, null space impedance control

0 5 10 15 20 25−1

−0.5

0

0.5

1

1.5

2

2.5

Time (sec)

(rad

)

Joint positions

Interaction interval

q1q2q3q4q5q6q7

0 5 10 15 20 25−15

−10

−5

0

5

10

15

Time (sec)

(Nm

)

Joint torques

τ1τ2τ3τ4τ5τ6τ7

0 5 10 15 20 25−8

−6

−4

−2

0

2

4

6

Time (sec)

(Nm

)

External torques

τext1τext2τext3τext4τext5τext6τext7

0 5 10 15 20 25−1

0

1

2

3

4

5

6

7x10

−3

Time (sec)

(m)

Position tracking error

exeyez

5 10 15 20

0.98

1

Orientation tracking error (η, ε)

0 5 10 15 20 25

−0.1

−0.05

0

0.05

0.1

0.15

Time (sec)

ε1ε2ε3

Fig. 3. (Colour online) Performance of the system under null space impedance control during contact with obstacle using external torqueinformation.

occurs because J3 drops rank, and hence the third prioritytask is sacrificed. It can be seen that using DLS inacceleration level produces an oscillatory motion nearsingularity.

The same task has been executed by using (30) and(31), as the command acceleration, with the same controlgains as before to control the system during singularity.The other parameters in command acceleration (30) arechosen as B = 2 I, k = 10. The results are reported inFig. 2. It can be seen that the oscillatory motion duringsingularity is removed. Actually, with K = 0 the oscillationis simply damped out, whereas with K = 2 I and, forinstance, the choice qds = [π/4, −π/4, 0, π/2, 0, π/2, 0]T ,

the configuration of the robot during singularity is controlledat the same priority level of the singular subtask, and

consequently a higher tracking error for the subtask isachieved.

7.2. Case study IIIn order to test the performance of the null space impedancecontrol, assume the scenario in which the body of amanipulator hits an obstacle during its maneuver. Theinteraction is modeled based on elastic contact between amoving obstacle (human) with the stiffness of 1000 N/mand the fourth joint of the robot arm. The simulations areperformed for two cases. In both the cases the positiontrajectory of the end-effector given by (54) is assumed asthe main task. The end-effector orientation and a constantdesired joint configuration are considered as the desired taskfor null space. To this end, based on the second-order inverse

Page 12: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

Multi-priority control, null space impedance control 1165

0 5 10 15 20 25−1

−0.5

0

0.5

1

1.5

2

2.5

Time (sec)

(rad

)

Joint positions

q1q2q3q4q5q6q7

0 5 10 15 20 25−15

−10

−5

0

5

10

15

Time (sec)

(Nm

)

Joint torques

τ1τ2τ3τ4τ5τ6τ7

0 5 10 15 20 25−10

−8

−6

−4

−2

0

2

4

6

Time (sec)

(Nm

)

External torques

τex t1τex t2τex t3τex t4τex t5τex t6τex t7

0 5 10 15 20 25−1

0

1

2

3

4

5

6

7x10

−3

Time (sec)

(m)

Position tracking error

exeyez

5 10 15 20

0.98

1

Orientation tracking error (η, ε)

0 5 10 15 20 25

−0.1

−0.05

0

0.05

0.1

0.15

Time (sec)

ε1ε2ε3

Fig. 4. (Colour online) Performance of the system under null space impedance control during contact with obstacle without using externaltorque information.

kinematics algorithm, the joint space-desired trajectory iscomputed and fed as the desired trajectory for the null spaceimpedance.

In the first simulation we assume that an estimation ofexternal torque resulted from interaction, τ ext, is available bytorque sensors. The command acceleration given by (32) isused. The proportional and derivative gains for the main taskare chosen as KP 1 = 100 I and KD1 = 20 I, and the nullspace impedance matrices are chosen as Md = 3 I, Bd =8 Iand K d = 4 I . The results are illustrated in Fig. 3.

Here the first priority task error is zero, thanks to the use ofthe external torque estimation in the controller. Also duringinteraction, the orientation of the manipulator experienceserrors since it is performed in the lower priority level as thedesired trajectory for the null space impedance. Note that

by this algorithm the robot does not leave the collision area,but it has a physical interaction with obstacle. As soon asthe obstacle leaves the robot working area, the orientationerrors go to zero and the arm comes back to its desiredconfiguration.

In the next simulation illustrated in Fig. 4, the abovescenario is performed without using external torqueinformation in the controller. The command acceleration(36) with dynamically consistent generalized inverse andimpedance parameters as Md = M, Bd = 7I, K d = 9 Iis used. Other parameters chosen are the same as in thefirst simulation. Equations (37) and (39) show that in theabsence of external torque information, by proper choiceof impedance matrices and desired rest configuration, asatisfactory compliance behavior in the null space can

Page 13: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

1166 Multi-priority control, null space impedance control

Fig. 5. (Colour online) Snapshots of the system during interaction.

be achieved. Indeed, there is an error on the main taskduring interaction, which can be tolerated by using highgain for the main task control or a disturbance observer28

while giving high compliance to the null space throughimpedance matrices. The snapshot of the system is depictedin Fig. 5.

8. ConclusionsAcceleration-level multi-priority control algorithm has beenpresented in this paper. It has been shown how thisformulation can be treated as a general framework toachieve control over the whole body of robot. The majorcontribution of the paper is the generality of the algorithm,which has been shown by bringing several control algorithmswithin the same framework. Specifically, the internal stabilityduring multi-priority control has been demonstrated. Acomplete comparison between torque- and acceleration-levelmulti-priority control was performed. Null space impedancecontrol with possible solution to cope with singularities hasbeen proposed as a result of task prioritization, and the abilityof this impedance to control the interaction of robot body hasbeen shown by simulation.

AcknowledgementsThis work was partially funded by the Italian Ministryof University and Research within the PRIN 200920094WTJ29 003 ROCOCO’ project and by the EuropeanCommunity, within the FP7 ICT-287513 SAPHARI project.

References1. H. Sadeghian, L. Villani, M. Keshmiri and B. Siciliano,

“Multi-Priority Control in Redundant Robotic Systems,” In:Proceedings of the IEEE/RSJ International Conference onIntelligent Robots and Systems (San Francisco, CA, 2011) pp.3752–3757.

2. Y. Nakamura, H. Hanafusa and T. Yoshikawa, “Task-prioritybased redundancy control of robot manipulators,” Int. J. Robot.Res. 6(2), 3–15 (1987).

3. Y. Nakamura, Advanced Robotics Redundancy and Optimiza-tion (Addison-Wesley, Boston MA, 1991).

4. B. Siciliano and J. J. Slotine, “A General Framework forManaging Multiple Tasks in Highly Redundant RoboticSystems,” In: Proceedings of the 5th International Conferenceon Advanced Robotics (Pisa, Italy, 1991) pp. 1211–1216.

5. Y. Nakamura and H. Hanafusa, “Inverse kinematic solutionswith singularity robustness for robot manipulator control,”ASME J. Dyn. Syst. Meas. Control 108, 163–171 (1986).

6. C. W. Wampler, “Manipulator inverse kinematic solutionsbased on vector formulations and damped least-squaresmethods,” IEEE Trans. Syst. Man Cybern. 16, 93–101(1986).

7. D. Nenchev and Z. M. Sotirov, “Dynamic Task-Priority Allocation for Kinematically Redundant RoboticMechanisms,” In: Proceedings of the IEEE/RSJ InternationalConference on Intelligent Robots and Systems (Munich, 1994)pp. 518–524.

8. S. Chiaverini, “Singularity-robust task priority redundancyresolution for real-time kinematic control of robotmanipulators,” IEEE Trans. Robot. Autom. 13, 398–410(1997).

9. G. Antonelli, “Stability Analysis for Prioritized Closed-Loop Inverse Kinematic Algorithms for Redundant RoboticSystems,” In: Proceedings of the IEEE InternationalConference on Robotics and Automation (Pasadena, CA, USA,2008) pp. 1993–1998.

10. A. De Santis, P. Pierro and B. Siciliano, “The VirtualEnd-Effectors Approach for Human–Robot Interaction,” In:Advances in Robot Kinematics (J. Lenarcic and B. Roth, eds.)(Kluwer, Dordrecht, Netherlands, 2006) pp. 133–144.

11. H. Sadeghian, M. Keshmiri, L. Villani and B. Siciliano,“Priority Oriented Adaptive Control of KinematicallyRedundant Manipulators,” In: Proceedings of the IEEEInternational Conference on Robotics and Automation (SaintPaul, Minnesota, USA, 2012) pp. 293–298.

12. A. De Luca, G. Oriolo and B. Siciliano, “Robot redundancyresolution at the acceleration level,” Lab. Robot. Autom. 4,97–106 (1992).

13. P. Hsu, J. Hauser and S. Sastry, “Dynamic control of redundantmanipulators,” J. Robot. Syst. 6, 133–148 (1989).

14. K. A. O’Neil, “Divergence of linear acceleration-basedredundancy resolution schemes,” IEEE Trans. Robot. Autom.18(4), 625–631 (2002).

15. J. Nakanishi, R Cory, M. J. Peters and S. Schaal, “Operationalspace control: A theoretical and empirical comparison,” Int. J.Robot. Res. 27, 737–757 (2008).

16. O. Khatib, L. Sentis, J. H. Park and J. Warren, “Whole-bodydynamic behavior and control of human-like robots,” Int. J.Humanoid Robot. 1, 29–43 (2004).

17. L. Sentis and O. Khatib, “Prioritized Multi-ObjectiveDynamics and Control of Robots in Human Environments,”In: Proceedings of the IEEE/RAS International Conference onHumanoid Robots (Santa Monica, CA, USA, 2004) pp. 764–780.

18. O. Khatib, “A unified approach for motion and force control ofrobot manipulators: The operational space formulation,” IEEEJ. Robot. Autom. 3, 1115–1120 (1987).

19. J. Peters, M. Mistry, F. Udwadia, J. Nakanishi and S. Schaal, “Aunifying framework for robot control with redundant DOFs,”Auton. Robots 24, 1–12 (2008).

20. R. Platt, M. Abdallah and C. Wampler, “Multi-priorityCartesian Impedance Control,” Robotics Science and SystemsVI (online proceedings) (Zaragoza, Spain, 2010).

21. M. Diftler, J. Mehling, M. Abdallah, N. Radford, L.Bridgwater, A. Sanders, S. Askew, M. Linn, J. Yamokoski,F. Permenter, B. Hargrave, R. Platt, R. Savely and R.Ambrose, “Robonaut 2 the First Humanoid Robot in Space,”

Page 14: Robotica - Semantic Scholar · Robotica  Additional services for Robotica: Email alerts: Click here Subscriptions: Click here Commercial reprints: Click here

http://journals.cambridge.org Downloaded: 03 Oct 2013 IP address: 37.254.94.51

Multi-priority control, null space impedance control 1167

In: Proceedings of the IEEE International Conference onRobotics and Automation (Shanghai, China, 2011) pp. 2178–2183.

22. R. Platt, Jr., M. Abdallah and C. Wampler, “Multiple PriorityImpedance Control,” In: Proceedings of the IEEE InternationalConference on Robotics and Automation (Shanghai, China,2011) pp. 6033–6038.

23. A. Ben-Israel and T. N. E. Greville, Generalized Inverses:Theory and Applications, 2nd ed. (Springer, New York, 2002).

24. J. Park, Y. Choi, W. K. Chung and Y. Youm, “Multiple TasksKinematics Using Weighted Pseudo-Inverse for KinematicallyRedundant Manipulators,” In: Proceedings of the IEEEInternational Conference on Robotics and Automation (Seoul,Korea, 2001) pp. 4041–4047.

25. G. Antonelli, F. Arrichiello and S. Chiaverini, “The null-space-based behavioral control for autonomous robotic systems,”Intell. Serv. Robot. 1, 27–39 (2008).

26. P. Baerloclier and R. Boulic, “Task-Priority Formulationsfor the Kinematic Control of Highly Redundant ArticulatedStructures,” In: Proceedings of the IEEE/RSJ InternationalConference on Intelligent Robots and Systems (Victoria, BC,CANADA, 1998) pp. 323–329.

27. F. Caccavale, S. Chiaverini and B. Siciliano, “Second-orderkinematic control of robot manipulators with Jacobian dampedleast-squares inverse: Theory and experiments,” IEEE/ASMETrans. Mechatronics 2(3), 188–194 (1997).

28. H. Sadeghian, M. Keshmiri, L. Villani and B. Siciliano, “Null-Space Impedance Control with Disturbance Observer,” In:Proceedings of the IEEE/RSJ International Conference on

Intelligent Robots and Systems (Vilamoura, Algarve, Portugal,2012) pp. 2795–2800.

29. H. Sadeghian, F. Ficuciello, L. Villani and M. Keshmiri,“Global Impedance Control of Dual-Arm Manipulation forSafe Interaction,” In: Proceedings of the 10th IFAC Symposiumon Robot Control (Dubrovnik, Croatia, 2012) pp. 767–772.

30. A. Albu-Schaffer, C. Ott, U. Frese and G. Hirzinger, “CartesianImpedance Control of Redundant Robots; Recent Results withthe DLR-Light-Weight Arms,” In: Proceedings of the IEEEInternational Conference on Robotics and Automation (Taipei,Taiwan, 2003) pp. 3704–3709.

31. Y. Oh, W. Chung and Y. Youm, “Extended impedance controlof redundant manipulators based on weighted decompositionof joint space,” J. Robot. Syst. 15(5), 231–258 (1998).

32. C. Ott, A. Kugi and Y. Nakamura, “Resolving theProblem of Non-Integrability of Null-Space Velocities forCompliance Control of Redundant Manipulators by UsingSemi-Definite Lyapunov Functions,” In: Proceedings of theIEEE International Conference on Robotics and Automation(Pasadena, CA, USA, 2008) pp. 1999–2004.

33. F. Caccavale, C. Natale, B. Siciliano and L. Villani, “Resolvedacceleration control of robot manipulators: A critical reviewwith experiments,” Robotica 16, 565–573 (1998).

34. B. Nemec and L. Zlajpah, “Null-space velocity control withdynamically consistent pseudo-inverse,” Robotica 18, 513–518(2000).

35. R. Featherstone and O. Khatib, “Load independence of thedynamically consistent inverse of the Jacobian matrix,” Int. J.Robot. Res. 16, 168–170 (1997).