+ All Categories
Home > Documents > 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6,...

1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6,...

Date post: 16-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
18
1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012 Intermediate Desired Value Approach for Task Transition of Robots in Kinematic Control Jaemin Lee, Nicolas Mansard, Member, IEEE, and Jaeheung Park, Member, IEEE Abstract—The task-based control framework is well established for its ability to generate complex behavior in versatile robots. When executing multiple complex tasks, continuous and stable transition among these tasks is one of the most important issues. In this paper, the problem of task transition is discussed to achieve continuous transitions between arbitrary tasks effectively. Instead of modifying the control laws, the design of intermediate desired values to be realized by existing controllers is proposed. The pro- posed approach can deal with arbitrary task sets, with or without priorities, for insertion and removal, and with priority rearrange- ment for hierarchical sets of tasks. The solution is generic and can be used for any type of transition. Two examples of uses include a time-driven transition to execute a given task schedule and a tran- sition depending on the robot configuration to perform joint-limit avoidance behaviors. The performance of the algorithm is verified in simulations and on a physical robot. Index Terms—Hierarchy of tasks, humanoid robot, inverse kine- matics, task-based control, task sequencing. I. INTRODUCTION N OWADAYS, intelligent robots are receiving increased at- tention, as they are expected to perform tasks in human environments. These robots have been developed into more so- phisticated forms so that they can execute various complex tasks [2]. Tasks in human environments are not as simple or procedural as those in traditional settings, such as factory au- tomation. In contrast, tasks in human environments require the execution of multiple tasks sequentially or simultaneously de- pending on the robot situation. Complex robotic systems such as humanoid robots, involve robots controlling multiple points in position or in force [3], carrying an object in collaboration while walking and visually supervising operations [4], passing Manuscript received February 9, 2012; revised June 6, 2012; accepted July 15, 2012. Date of publication October 18, 2012; date of current version December 3, 2012. This paper was recommended for publication by Associate Editor M. Vendittelli and Editor G. Oriolo upon evaluation of the reviewers’ comments. This work was supported by the Basic Science Research Program (2010-0005799) and the Global Frontier R&D Program (2011-0032014) of the National Research Foundation of Korea, and the Seoul R&BD Program (JP100106). This paper was presented in part at the IEEE International Confer- ence on Robotics and Automation, Shanghai, China, 2011 [1]. J. Lee is with the Department of Intelligent Convergence Systems, Seoul National University, Suwon, Korea 443-270 (e-mail: [email protected]). N. Mansard is with CNRS; LAAS; F-31077 Toulouse, France, and also with Universite de Toulouse; UPS, INSA, INP, ISAE; LAAS; F-31077 Toulouse, France (e-mail: [email protected]). J. Park is with the Department of Intelligent Convergence Systems, Seoul Na- tional University, Suwon, Korea 443-270, and also with Advanced Institutes of Convergence Technology, Suwon, Korea 443-270 (e-mail: [email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TRO.2012.2210293 Fig. 1. Task transition of a complex robotic system. When an intelligent robot is operated in a dynamic environment, some tasks have to be inserted or removed dynamically while executing other tasks. Typically, a temporal sequence can be the following: Grasp the glass, bring the bottle above it, and pour the water. During the execution of this temporal plan, other tasks such as “avoid the joint limit” or “prevent the center of mass from reaching the front of the support polygon” may also have to be added. through a field of obstacles [5], or manipulating several objects sequentially [6]. Such examples are shown in Fig. 1. Task-based control [2], [7], also known as operational-space control [8], [9], consists of defining the objectives of the robot as a function of the configuration, i.e., the task function, rather than directly as a point on the configuration space. The control law can then be designed in the image space of the task function, which is known as the task space. The control is then easier to design and more versatile, as the same task can be implemented easily on different robots. Moreover, it is often straightforward to execute the task with sensor feedback, as the sensor output space is often a good candidate for the task space. This framework can be extended to account for several tasks simultaneously by defining priorities among tasks. The secondary tasks are realized using only the redundant degree of freedom (DOF) set free by the tasks having priority [10], [11]. Similarly, if the robot is constrained by some impossible motion, these constraints can be accounted for as a top priority (e.g., a closed kinematic chain [12], free floating or contact [13]). To design complex behavior, such as serving tea or assem- bling objects, temporal sequences of tasks are used [14], [15]. The sequencing is straightforward if the robot stops between each task. For a robotic demonstration, a phase of smoothing is very often performed by hand, making the stop transitions short and more natural. In this paper, we study the problem of the sequencing of multiple tasks while ensuring a smooth behavior of the robot. 1552-3098/$31.00 © 2012 IEEE
Transcript
Page 1: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

Intermediate Desired Value Approach for TaskTransition of Robots in Kinematic Control

Jaemin Lee, Nicolas Mansard, Member, IEEE, and Jaeheung Park, Member, IEEE

Abstract—The task-based control framework is well establishedfor its ability to generate complex behavior in versatile robots.When executing multiple complex tasks, continuous and stabletransition among these tasks is one of the most important issues.In this paper, the problem of task transition is discussed to achievecontinuous transitions between arbitrary tasks effectively. Insteadof modifying the control laws, the design of intermediate desiredvalues to be realized by existing controllers is proposed. The pro-posed approach can deal with arbitrary task sets, with or withoutpriorities, for insertion and removal, and with priority rearrange-ment for hierarchical sets of tasks. The solution is generic and canbe used for any type of transition. Two examples of uses include atime-driven transition to execute a given task schedule and a tran-sition depending on the robot configuration to perform joint-limitavoidance behaviors. The performance of the algorithm is verifiedin simulations and on a physical robot.

Index Terms—Hierarchy of tasks, humanoid robot, inverse kine-matics, task-based control, task sequencing.

I. INTRODUCTION

NOWADAYS, intelligent robots are receiving increased at-tention, as they are expected to perform tasks in human

environments. These robots have been developed into more so-phisticated forms so that they can execute various complextasks [2]. Tasks in human environments are not as simple orprocedural as those in traditional settings, such as factory au-tomation. In contrast, tasks in human environments require theexecution of multiple tasks sequentially or simultaneously de-pending on the robot situation. Complex robotic systems suchas humanoid robots, involve robots controlling multiple pointsin position or in force [3], carrying an object in collaborationwhile walking and visually supervising operations [4], passing

Manuscript received February 9, 2012; revised June 6, 2012; acceptedJuly 15, 2012. Date of publication October 18, 2012; date of current versionDecember 3, 2012. This paper was recommended for publication by AssociateEditor M. Vendittelli and Editor G. Oriolo upon evaluation of the reviewers’comments. This work was supported by the Basic Science Research Program(2010-0005799) and the Global Frontier R&D Program (2011-0032014) ofthe National Research Foundation of Korea, and the Seoul R&BD Program(JP100106). This paper was presented in part at the IEEE International Confer-ence on Robotics and Automation, Shanghai, China, 2011 [1].

J. Lee is with the Department of Intelligent Convergence Systems, SeoulNational University, Suwon, Korea 443-270 (e-mail: [email protected]).

N. Mansard is with CNRS; LAAS; F-31077 Toulouse, France, and also withUniversite de Toulouse; UPS, INSA, INP, ISAE; LAAS; F-31077 Toulouse,France (e-mail: [email protected]).

J. Park is with the Department of Intelligent Convergence Systems, Seoul Na-tional University, Suwon, Korea 443-270, and also with Advanced Institutes ofConvergence Technology, Suwon, Korea 443-270 (e-mail: [email protected]).

Color versions of one or more of the figures in this paper are available onlineat http://ieeexplore.ieee.org.

Digital Object Identifier 10.1109/TRO.2012.2210293

Fig. 1. Task transition of a complex robotic system. When an intelligent robotis operated in a dynamic environment, some tasks have to be inserted or removeddynamically while executing other tasks. Typically, a temporal sequence can bethe following: Grasp the glass, bring the bottle above it, and pour the water.During the execution of this temporal plan, other tasks such as “avoid the jointlimit” or “prevent the center of mass from reaching the front of the supportpolygon” may also have to be added.

through a field of obstacles [5], or manipulating several objectssequentially [6]. Such examples are shown in Fig. 1.

Task-based control [2], [7], also known as operational-spacecontrol [8], [9], consists of defining the objectives of the robotas a function of the configuration, i.e., the task function, ratherthan directly as a point on the configuration space. The controllaw can then be designed in the image space of the task function,which is known as the task space. The control is then easier todesign and more versatile, as the same task can be implementedeasily on different robots. Moreover, it is often straightforward toexecute the task with sensor feedback, as the sensor output spaceis often a good candidate for the task space. This frameworkcan be extended to account for several tasks simultaneously bydefining priorities among tasks. The secondary tasks are realizedusing only the redundant degree of freedom (DOF) set freeby the tasks having priority [10], [11]. Similarly, if the robotis constrained by some impossible motion, these constraintscan be accounted for as a top priority (e.g., a closed kinematicchain [12], free floating or contact [13]).

To design complex behavior, such as serving tea or assem-bling objects, temporal sequences of tasks are used [14], [15].The sequencing is straightforward if the robot stops betweeneach task. For a robotic demonstration, a phase of smoothing isvery often performed by hand, making the stop transitions shortand more natural. In this paper, we study the problem of thesequencing of multiple tasks while ensuring a smooth behaviorof the robot.

1552-3098/$31.00 © 2012 IEEE

Page 2: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

LEE et al.: INTERMEDIATE DESIRED VALUE APPROACH FOR TASK TRANSITION OF ROBOTS IN KINEMATIC CONTROL 1261

Transition algorithms among multiple tasks can be catego-rized into optimization approaches under constraints, interpo-lation (mapping) methods, and task transition methods using apseudoinverse operator and an activation matrix.

The problems that are associated with task transitions areinvestigated from the viewpoint of optimization methods todetermine the optimum manipulator configurations or to opti-mize the trajectory using weighted variables for collision avoid-ance [16], [17] or for visual servoing [18], [19]. On the otherhand, interpolation is classically used for smooth task sequenc-ing, for example, to generate the complex behavior of a hu-manoid robot [20]. Similarly, a method of mapping several taskson a common state space to switch continuously between twocontrollers was developed for visual servoing [21]. However, inthese two papers, the problem is treated each time with a specificsolution.

A generic formulation of the problem of continuous transitionwas developed with an activation matrix in [22]. This methodis applied for tracking a varying set of features in the contextof visual servoing for both redundant and nonredundant cases.The transition algorithm is also applied to handle unilateralconstraints such as joint-limit avoidance and visual servoingocclusion [22], [23], and to execute complex sequence of taskswith a humanoid robot [24]. However, the cost is very importantto deal with numerous tasks, and typical full-size cases cannotbe treated in real time.

In this paper, we study the generic problem of the transitionbetween two tasks, with or without a given priority inside theset. Being given any set of continuous activation functions, wepropose an original approach known as the intermediate de-sired value approach to compute a continuous control law thatrealizes the transition. The general idea is to modify, duringthe transition, the desired value of each task to be inserted orremoved in order to ensure the continuity of the control law.The advantage of such an approach is to let the major part ofthe classical control structure remain untouched, while modify-ing only the tasks themselves to deal with the transition. Theproposed concept and its validation are developed in an inverse-kinematics-based control, in which the desired joint velocitiesare the input commands to the robot, while the desired velocitiesin the task spaces are the references.

We first recall in Section II the classical task-based controlframework and the major reasons behind the discontinuity thatarises from a change in the task set. The proposed solutionis then developed in Section III, first for adding or removingtasks for a set without or with a hierarchy [1]. The specificcase of switching priorities between tasks is then considered inthe second part of Section III. Approximate solutions to handlecomplex cases are proposed in Section IV, and experiments thatdemonstrate the validity of the proposed approach in complexsituations are presented in Section V in simulations and on anactual physical robot.

II. REASONS FOR A DISCONTINUITY UPON A TRANSITION

The task function approach consists of designing the controllaw inside the image of a function x(q) of the robot configuration

q, which is called the task function (or the task). This task spaceis chosen such that the control inside this space is simpler todesign and to check formally. The task function is difficult toinvert in the general case, but its linearization at the currentrobot position can be easily inverted. Using this approximationof the inverse, the control law in the task space can be mappedto a control law in the control space [2], [7].

Considering first a single task x, the corresponding Jacobianis defined by

x = J(q)q. (1)

The robot is controlled in terms of the joint velocity. The refer-ence joint velocity is denoted by qd .1 For a desired task velocityxd , the control law can be computed using the pseudoinverse ofthe Jacobian

qd = J+ xd (2)

where (.)+ denotes the pseudoinverse of the quantity. The in-verse of the Jacobian can be selected from any of the weightedpseudoinverses. The Moore–Penrose pseudoinverse is used inthis paper without losing generality.

A. Discontinuity Due to a Change of Task Sets

When there are two tasks x1 and x2 , the correspondingJacobians are denoted by J1 and J2

x1 = J1 q, x2 = J2 q. (3)

If only the first task x1 is controlled, the desired joint velocityqd1 can be computed using the pseudoinverse

qd1 = J+

1 xd1 (4)

where xd1 is the desired velocity of the task. At this point, if the

second task x2 is to be controlled together with x1 , the desiredjoint velocity can be computed as

qd = J+ xd (5)

where

J =[

J1

J2

], xd =

[xd

1

xd2

]. (6)

Equation (5) does not consider any hierarchy in the task set.Consider now the transition from controlling task x1 alone

(4) to controlling both tasks x1 and x2 simultaneously (5). If thedesired joint velocity for both tasks in (5) is different from thejoint velocity only for the first task in (4), the control law willbe discontinuous at the instant when the second task is inserted.

The reason for this discontinuity can be explained in terms ofthe property of the pseudoinverse. The pseudoinverse computesa solution to meet the task specifications, while minimizing thetwo-norm of qd . Therefore, the joint-velocity control for twotasks would have a discrete change from that for one task, asillustrated in Fig. 2.

From the point of view of the control, the solution qd1 for x1

alone implicitly commands in the space of the other task the

1The superscript d is to denote the desired value of the corresponding quantity.

Page 3: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

1262 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

−4 −3 −2 −1 0 1 2 3 4−1

0

1

2

3

4

5

6

7

d dq J x+=

2 2 2d dq J x+

=

[ ]1q

[ ]2q

1 1 1d dq J x+

=

Fig. 2. Example of an abrupt change of the control law when switching fromq1d or q2d to qd when a new task is added. The blue-dotted and green solidlines denote the solution spaces of tasks x1 and x2 , respectively. When only onetask is active, the chosen solution is the closest point to the origin on the line. Itjumps to the intersection of the two lines when both tasks are active. The x- andy-axes represent the first and second joint velocities, [q]1 and [q]2 , respectively.

motion x2 = J2 qd1 before the insertion of the task x2 , as shown

in Fig. 3. The problem is that the desired value xd2 for the inserted

task would be different from this value due to x1

xd2 �= J2 q

d1 . (7)

Therefore, when task x2 is inserted to be executed together withx1 , the specification for x2 in (6) can be modified by designingit to be continuous from the value J2 q

d1 to xd

2 . In this paper, theuse of this modified specification of the desired value for thetasks, which is called intermediate desired value, is proposed toperform a smooth transition.

B. Discontinuity in the Prioritized Control

The discontinuity of control law for prioritized tasks can alsobe explained in a similar manner. When only the primal task x2is to be executed, the reference joint velocity qd

2 is computed as

qd2 = J+

2 xd2 . (8)

When a new task x1 with a higher priority is inserted, the com-manding input for these two tasks is

qd[1,2] = J+

1 xd1 + N1 q2|1 (9)

where

N1 = I − J+1 J1

q2|1 = (J2N1)+ (xd

2 − J2J+1 xd

1). (10)

Or, if the new task x1 is inserted with a lower priority, thecommanding joint velocity is computed as

qd[2,1] = J+

2 xd2 + N2 q1|2 (11)

with

N2 = I − J+2 J2

q1|2 = (J1N2)+ (xd

1 − J1J+2 xd

2)

(12)

−4 −2 0 2 4 6 8 10−6

−4

−2

0

2

4

6

8

2dx

2 1 1dJ J x

1x

2x

Fig. 3. Effect of the control for task x1 alone in the space of task x2 . Thelower arrow points to the task values x1 and x2 executed when the solution qd

1is obtained from x1d alone. The upper arrow points to the solution qd obtainedfrom both tasks together. Even if x2 is not explicitly controlled, the lower arrowshows that an indirect command in x2 is obtained. When x2 is inserted, thediscontinuity is due to the change in the control law in the inserted task space,from the indirect command J2 J+

1 x1d to x2d .

where the subscript [1, 2] or [2, 1] refers to the sequence of taskpriorities, and qm |n denotes the commanding joint velocity fora lower prioritized task set xm within the null space of a higherprioritized task set xn .

The transition from (8) to (9) will introduce a discontinuitydue to the reason explained in Section II-A. It is also clear thatthe transition from (8) to (11) will present a discontinuity if q1|2is not null. This discrete change would also occur when someof the prioritized tasks are removed.

When both tasks are feasible simultaneously, (9) and (11)are equivalent (the hierarchy order does not mind). Otherwise,there is an algorithmic singularity [25], i.e., rank(J2N1) <rank(J2) and rank(J1N2) < rank(J1). Then, (9) and (11)are not equivalent. In that case, (9) will not accomplish x2exactly. When the priorities of the tasks should be switched,the transition from (9) to (11) or from (11) to (9) induces adiscontinuity in the control law in that case.

C. Problem Statement

Consider the task set (with or without a hierarchy) xi ,i = 1 . . . m, with the associate control law (2) or (9). For eachtask, we suppose that an activation function hi is given whosevalue varies from 0 to 1 continuously with respect to the timevariable or with respect to any continuous function of the robotconfiguration (which indirectly ensures continuity with respectto time).

When one task starts to be activated or inactivated, i.e., when0 < h < 1, the task is said to be in transition.

In the following section, we propose a generic solution todesign a control law that is precisely the original control lawwhen no task is in transition, i.e., when all of the transitionfunctions are 0 or 1, and that is continuous with respect to thetransition function and then continuous with respect to time.

The solution proposed has to be generic and thus cannotbe built on any specific shape or property of h. Therefore, no

Page 4: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

LEE et al.: INTERMEDIATE DESIRED VALUE APPROACH FOR TASK TRANSITION OF ROBOTS IN KINEMATIC CONTROL 1263

−4 −3 −2 −1 0 1 2 3 4−1

0

1

2

3

4

5

6

7

(a)

−4 −2 0 2 4 6 8 10−6

−4

−2

0

2

4

6

8

(b)

−4 −3 −2 −1 0 1 2 3 4−1

0

1

2

3

4

5

6

7

(c)

Fig. 4. Continuous transition by intermediate desired values. The blue-dotted and green solid lines denote the solution spaces of the tasks x1 and x2 , respectively.The intersection of the two lines is the solution for both tasks. (a) Continuous change of the control law from qd

1 to qd . (b) Smooth change of the control effectin the space of the task x2 from J2 J+

1 xd1 to xd

2 with an activation parameter h2 . The continuous joint velocity command in (a) is computed from the smoothlychanging task specification in (b). (c) Mutual activation. Both tasks, x1 and x2 , are activated continuously using the two activation parameter h1 and h2 .

specific shape of h is proposed. In Section V, we will give severalexamples of h functions that can be used to design various typesof robot behavior.

III. INTERMEDIATE DESIRED VALUE APPROACH

A. Task Transition Without Priority

Consider the nonprioritized control law (5) for the first time.From the observation in the previous section, we propose todesign a modified task reference xi

2 that varies smoothly fromJ2 q

d1 [where qd

1 is defined in (4)] to xd2 such that the solution

would not show any abrupt change. Consider the followingdefinitions:

xi =[

xi1

xi2

](13)

and

xi1 = xd

1

xi2 = h2 x

d2 + (1 − h2)J2J

+1 xd

1 (14)

where h2 is an activation variable varying from 0 to 1 when thetask x2 is inserted. The superscript i denotes the intermediatedesired value of the quantity. The desired joint velocity is thenexpressed as follows:

qd = J+ xi . (15)

This solution is clearly continuous with respect to h2 , and thencontinuous with respect to time if and only if h2 varies from 0to 1 continuously.

The activation parameter for the first task x1 can also bedefined as h1

qd = J+ xi (16)

with

xi1 = h1 x

d1 + (1 − h1)J1J

+2 h2 x

d2

xi2 = h2 x

d2 + (1 − h2)J2J

+1 h1 x

d1 . (17)

This allows, for example, the activation of the second task duringthe activation period of the primal task x1 or the replacementof x1 with x2 . The intermediate desired value approach for twotasks is illustrated in Fig. 4.

This complete shape is equivalent to the solution proposedin [24] in the case of one single task with an activation matrixH = diag(h1 , h2), as shown in Appendix A.

The proposed approach (17) for two tasks can be generalizedfor m tasks using

qd = J+ xi (18)with

xin = hn xd

n + (1 − hn )Jn qd[\n ] (19)

where qd[\n ] denotes the solution with the activation parameters

h excluding task xn given by

qd[\n ] =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣

J1

. . .

Jn−1

Jn+1

. . .

Jm

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦

+ ⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣

xi1

. . .

xi(n−1)

xi(n+1)

. . .

xim

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦

. (20)

Deriving (18) and (19) is straightforward from (16) and (17).

B. Task Transition With Priority

Consider now a prioritized set of tasks. When a task x1 witha higher priority is inserted while a task x2 is being executed,the control input can be computed as

qd = J+1 xi

1 + N1 qi2|1 (21)

where

xi1 = h1 x

d1 + (1 − h1)J1 q

d2

qd2 = J+

2 xd2

qi2|1 = (J2N1)+ (

xd2 − J2J

+1 xi

1). (22)

Page 5: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

1264 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

This approach provides a continuous solution for h1 varyingcontinuously between 0 and 1 because qd

2 from (8) is identicalto qd from (21) when h1 = 0 (see Appendix B).

Now, the activation parameter h2 can be used for task x2 suchthat the approach can be used when a task is inserted as a lowerpriority task. In this case, (22) becomes

xi1 = h1 x

d1 + (1 − h1)J1 q

i2

qi2 = J+

2 h2 xd2

qi2|1 =(J2N1)+ (

h2 xd2 +(1 − h2)J2J

+1 h1 x

d1−J2J

+1 xi

1). (23)

Equations (21)–(23) can be summarized as

qd = J+1 xi

1 + (J2N1)+ (xi

2 − J2J+1 xi

1)

(24)

where

xi1 = h1 x

d1 + (1 − h1)J1J

+2 h2 x

d2

xi2 = h2 x

d2 + (1 − h2)J2J

+1 h1 x

d1 . (25)

The intermediate goal values xi are computed with the same pro-cedure for (16) and (21). The only differences between the twocases with priority (21) and without priority (16) are the pseu-doinverse structures, which are classical ones. In other words,the intermediate desired value approach does not modify theinverse-kinematics-based computation of the control law fromthe task references but only the task references themselves. Thismodification is always identical for a case with or without pri-ority. It is then straightforward to extend it to other task-basedcontrol formulations, such as inverse dynamics [8], [9].

The proposed approach can be extended to the cases involvingmultiple tasks. For the three task sets, we have

qd = qi1 + qi

2 + qi3 (26)

whereqi1 = J+

1 xi1

qi2 = (J2N1)+ (

xi2 − J2 q

i1)

qi3 = (J3N1N2|1)+ (

xi3 − J3(qi

1 + qi2)

)(27)

and

N2|1 = I − (J2N1)+(J2N1). (28)

The intermediate values are defined by

xi1 = h1 x

d1 + (1 − h1)J1 q

d[\1]

xi2 = h2 x

d2 + (1 − h2)J2 q

d[\2]

xi3 = h3 x

d3 + (1 − h3)J3 q

d[\3] (29)

where qd[\n ] denotes the solution for the tasks excluding task n

with the activation parameters and the given priorities.Similarly, the solutions using the intermediate desired values

for m tasks are

qd = J+1 xi

1 +m∑

n=2

qin

qin = N[n−1]J

+n

(xi

n − Jn

n−1∑k=1

qik

)(n ≥ 2) (30)

where

N[k ] =k∏

s=1

Ns|s−1 (k ≥ 2, N[1] = N1)

xin = hn xd

n + (1 − hn )Jn qd[\n ]. (31)

The operator qd[\n ] is defined as

qd[\n ] = J+

1 xi1 +

n−1∑r=2

qir +

m∑r=n+1

qir . (32)

The total control input is the summation of the joint velocities(32) for each dynamic task set, which is computed using thenull-space projection matrix for the given priority.

C. Rearranging the Priorities Between Tasks

When multiple tasks are executed with different priorities,changing the priorities among the tasks is a practical and sig-nificant issue. During this transition, the control law can havea discontinuity, as explained in Section II. One way to changethe priorities is to remove one of the tasks and then insert itwith a different priority. However, this approach would requirestopping the execution of the corresponding tasks until they arereinserted.

In this section, a systematic approach is proposed to rearrangethe priorities between tasks using the intermediate desired valueapproach.

If the priorities of two tasks are to be switched, from (9) to(11), the intermediate desired values can be computed as

xi(n,σ ) = hsJn qd

[2,1] + (1 − hσ )Jn qd[1,2] (33)

where xi(n,σ ) denotes the intermediate desired value of task xn

accounting for the continuous hierarchy rearranging and hσ isthe activation parameter for switching (the subscript σ is used todesignate the control quantities related to hierarchy switching).The joint velocities are then computed as follows:

qiσ = J+

1 xi1,σ + (J2N1)+ (

xi2,σ − J2J

+1 xi

σ

). (34)

When hσ is 0, the control law from the above equation is iden-tical to qd

[1,2]

qd[1,2] = qi

σ . (35)

When hσ is 1, the desired joint velocity has the same value asqd[2,1]

qd[2,1] = qi

σ . (36)

See Appendix C for the proof. Moreover, (34) is continuouswith respect to h. Therefore, (34) provides a smooth transi-tion between qd

[1,2] and qd[2,1] . The proposed approach for rear-

ranging priorities can be directly applicable to multiple tasks.Equation (33) can be used in the same form and (34) shouldinclude all of the tasks.

In conclusion, the intermediate desired value approach can beused for a set of multiple tasks without priority or with priorityto include or remove a task set at any priority level. It canalso be used to rearrange the priorities of tasks. Moreover, the

Page 6: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

LEE et al.: INTERMEDIATE DESIRED VALUE APPROACH FOR TASK TRANSITION OF ROBOTS IN KINEMATIC CONTROL 1265

−4 −3 −2 −1 0 1 2 3 4−1

0

1

2

3

4

5

6

7Damped Pseudo Inverse

[ ]

[ ]q

(a)

−4 −3 −2 −1 0 1 2 3 4−1

0

1

2

3

4

5

6

7one path approach(1)

[ ]

[ ]

(b)

−4 −3 −2 −1 0 1 2 3 4−1

0

1

2

3

4

5

6

7

[ ]

[ ]q

one path approach(2)

(c)

Fig. 5. Comparison of the approximate solutions. (a) Solution using the damped pseudoinverse. (b) One-path approach when task x2 is inserted first. (c) One-pathapproach when the task x1 is inserted first. The blue-dotted and green solid lines denote the solution spaces of the tasks x1 and x2 , respectively. The dampingbreaks the hypothesis that the continuous control law is equal to the original control law when no task is in transition. Moreover, the intermediate points are notequally distributed. The one-path approach maintains a good distribution of the intermediate points, but it loses the least-square property, as the chosen points arenot the closest to the origin.

continuous control laws are all computed by only modifying thereference xd and without modifying the existing control laws.

IV. APPROXIMATE SOLUTIONS

Although the proposed approach provides continuous tran-sitions among multiple tasks, its computational cost becomessignificant as the number of tasks increases. This is due to therecursive formulation necessary to compute the intermediate de-sired values. For each task, it is necessary to compute the controlinput for the other tasks and this procedure propagates recur-sively. Therefore, the algorithm requires m! pseudoinverses withm number of tasks.

Although many practical cases would not have a great num-ber of tasks in transition, it could be a significant issue forspecial cases. Typically, continuous transitions can be used andhave been used to track many features in visual servoing [19],to generate complex behavior in humanoid robots executing asequence of multiple tasks, or to account for inequality con-straints (e.g., joint limits), as shown in the next section. In thesespecial cases, the number of simultaneous transitions can belarge.

In the following sections, we first examine the damped leastsquares as an approximate solution before proposing a dedicatedapproximate solution that drastically reduces the cost.

A. Approximate Solution Using the Damped Pseudoinverse

The weighted pseudoinverse is a generalization of thepseudoinverse that corresponds to the optimum of the followingproblem:

minq

(x − Jq)T C (x − Jq)

where C is the imposed weighting matrix. It can be used to dealwith the task transition problem. The weighting matrix C is thencomputed as a diagonal matrix whose diagonal elements are theactivation parameters for the corresponding rows of the task. A

diagonal element is set to 0 when the corresponding part of thetask is inactive or removed.

However, the weighted pseudoinverse is known to be invari-ant to the weights on the rows of J that are linearly indepen-dent [23], [26]. The weighted pseudoinverse alone cannot thenprovide a continuous solution when inserting or removing an in-dependent task. Typically, if an independent component of thetask is to be removed, the activation parameter variations will beignored until it is 0, and the task component will be abruptly re-moved. Details and an example are given in [23]. This problemis linked to the problem of passing through algorithmic singu-larities [25]. As for singularities, the damped pseudoinverse canthen be considered as a solution to implement a smooth tasktransition with weighting among the tasks.

The general damped pseudoinverse is defined as the solutionof the following optimization problem [27]:

minq

(x − Jq)T C (x − Jq) + λ‖q‖2 (37)

where the matrix C is positive semidefinite and λ is not negative.The solution is

q = CJT(JCJT + λI

)−1x. (38)

Variations of this formulation can be defined to implement acase with priorities.

However, this approach has several limitations. A typical usein the case of two tasks is plotted in Fig. 5(a). The weightingmatrix is C = diag(C1 , C2), and the parameters C1 and C2 in-crease from 0 to 1 by 0.1. The first limitation is that it clearlyprovides only an approximate solution. Consider, for example,the point C1 = 1 and C2 = 1, i.e., when both tasks are fullyactivated. This is a well-known but accepted limitation of thedamped pseudoinverse. This may be acceptable, as the controllaw (38) is applied in a closed loop, which is robust to approxi-mation in the control law.

However, as always with damped least squares, the qualityof the approximation depends on the value of λ. If λ is large,

Page 7: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

1266 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

the approximation is rough; if λ decreases, the solution tendstoward the weighted inverse. This is a detrimental property inour case, as explained previously. Moreover, the effect of thescaling between tasks on the numerical inversion is not wellpredictable. A typical effect of this property can be observed inFig. 5(a); the activation of the tasks is not proportional to theparameters C1 and C2 .

Consequently, the damped-inverse solution is difficult to ap-ply in practice, as it strongly relies on the difficult tuning ofλ.

B. One-Path Approach

When one task is in transition, its intermediate value will beaffected by all of the other tasks. Due to this dependence, the costof computation grows exponentially as the number of tasks intransition increases. To reduce the computational cost, the one-path approach proposes to compute the intermediate desiredvalues such that the desired values of the previously insertedtasks are not affected by those of the tasks to be inserted later.Suppose, without losing generality, that the tasks are introducedwith the higher subscripts first, the one-path intermediate valuesare then

xi1 = h1 x

d1 + (1 − h1)q[\1]

...xi

k = hk xdk + (1 − hk )q[\1. .k ]

...xi

m = hm xdm

(39)

where q[\1. .k ] is the control law computed with the same equa-tion but without the first k tasks. The computational cost in-creases linearly with the number of tasks. The solution is equalto the exact solution when only one task is in transition at agiven time and when the tasks are activated one after the other.However, the result would be different in the case of simultane-ous transition. In particular, |q| is not minimized when the orderof deactivation is different from that of activation, as explainedbelow.

As an example, two tasks are considered, as in Section III-A.If task x2 is inserted earlier than task x1 , the solution using theone-path approach would give the following solution:

xi1 = h1 x

d1 + (1 − h1)J1J

+2 h2 x

d2

xi2 = h2 x

d2 . (40)

Compared with (17), the term (1 − h2)J2J+1 h1 x

d1 is omitted.

The effect of task x1 , which is inserted later, is thus not ac-counted for in task x2 . If the desired values for h1 = 0 andh2 = 1 are compared with those for h1 = 1 and h2 = 0, theresult of the first case is identical to the approach proposed inthe previous sections, i.e., xi

1 = J1J+2 xd

2 , xi2 = xd

2 . However,the result of the second case is xi

1 = xd1 , x

i2 = 0. This means

that when x2 is removed earlier, the desired value for x2 mustbecome 0. Therefore, the solution is different from q = J+

1 x1 ,which indicates that it does not minimize |q| while executingthe first task only.

Fig. 6. Experiment A.1. Three-DOF planar robot simulation. There are twotask sets, x1 and x2 . (a) Task controlling the end-effector x1 is executed withoutthe other task x2 . (b) Task x2 is added at a lower priority.

Fig. 5(b) shows the case when x2 is the task inserted earlier,whereas Fig. 5(c) shows the result when x1 is the first insertedtask. As shown in Fig. 5(b), the solution is identical to that in theprevious section only when task x2 is inserted first by increas-ing h2 = 0 to h2 = 1, after which x1 is inserted sequentially.Similarly, Fig. 5(c) shows the other case when x1 is the firstinserted task.

V. SIMULATION AND EXPERIMENTAL RESULTS

The simulations and experiments were conducted using a3-DOF planar robot, a 7-DOF manipulator SAP1, and the hu-manoid robot Mahru [28] operated by RoboticsLab [29]. Thesimulator used for the experiments accounts for the rigid multi-body dynamics but does not model any compliance. It is set upwith a high torque limit and high proportional-derivative gains,which enables high acceleration in motion and eventually high-lights the discontinuities in the control law. A real robot is thenused in Section V-C.

In the following experiments, the task functions x are predom-inantly defined as the error in the position of one operationalpoint, i.e., on the body of the robot (typically, the end-effector,or the elbow of the robot arm) with respect to a desired positionw td

x(q) = w t(q) − w td

with w t the position of the body origin in the world frame.This task constrains three DOFs of the robot. The desired taskvelocity xd is computed as

xd = −kx (41)

where k is a positive gain to reduce the task error exponentially.

A. Task Insertion and Removal

A typical example of discontinuity arises when a point thatwas moving freely begins to be controlled. This typical situationis exemplified on the 3-DOF planar robot displayed in Fig. 6.Two tasks are considered, which control two different opera-tional points of the robot: x1 controls the end-effector, while x2controls the third joint of the robot. We validate three setups:the insertion of a new task at a lower priority, the insertion of a

Page 8: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

LEE et al.: INTERMEDIATE DESIRED VALUE APPROACH FOR TASK TRANSITION OF ROBOTS IN KINEMATIC CONTROL 1267

−0.1 0 0.1 0.2 0.3 0.4 0.5−0.8

−0.7

−0.6

−0.5

−0.4

−0.3

x(m)

y(m

)

(a)

(b)

2 3 4 5 6 7 8

0

0.2

0.4

X

(m

)

2 3 4 5 6 7 8

−0.8

−0.6

−0.4

time(seconds)

Y

(m

)

Actual pathDesried trajectoryInitial poseDesired poseFinal pose

Fig. 7. Experiment A.1. Example of a task transition executed using the pro-posed control approach for the 3-DOF planar robot. (a) Position x2 of thesecond link of the 3-DOF planar robot during the control. (b) Inserted task set,the second link (x2 ), is plotted over time. The paths of the end-effector x1 andof the second link x2 are smooth. The desired position of the second link isout of reach due to the high prioritized task x1 . The final position is the closestreachable position while the high-priority task x1 is executed.

new task at a higher priority, and the replacement of the activetask (insertion of a new task while removing the active one).

In the first setup, the robot is controlled by x1 alone. Attime t = 4 s, x2 is inserted with a lower level of priority. Theactivation parameter h1 is always 1. h2 is 0 before t = 4 s andthen grows linearly to 1 from t = 4 s to t = 5 s and then staysat 1. The setup is illustrated in Fig. 6. The results are presentedin Figs. 7 and 8.

Fig. 7 shows the result of the task insertion process using theproposed approach. For comparison, the task insertion resultwithout the proposed approach is plotted in Fig. 8. The robotfollows a continuous transition in Fig. 7, whereas the disconti-nuity clearly appears in Fig. 8.

In the second experiment, the insertion of a higher prior-ity task is considered. While task x2 is being executed alone,the end-effector task x1 is inserted at the first priority. The re-sult is plotted in Fig. 9. The newly controlled point x2 movessmoothly on its desired trajectory, while the end-effector, al-ready controlled, smoothly leaves its desired trajectory, as it isnow at a lower priority level.

In the third setup, the task is changed from controlling the end-effector to controlling the elbow. In this case, while the activationparameter h1 for the end-effector decreases from 1 to 0, theactivation parameter h2 for the elbow link is set to h2 = 1 − h1 ,

−0.1 0 0.1 0.2 0.3 0.4 0.5−0.8

−0.7

−0.6

−0.5

−0.4

−0.3

x(m)

y(m

)

(a)

(b)

2 3 4 5 6 7 8

0

0.2

0.4

X

(m)

2 3 4 5 6 7 8

−0.8

−0.6

−0.4

time(seconds)

Y

(m)

Actual pathDesired trajectoryInitial poseDesired poseFinal pose

Fig. 8. Experiment A.1. Example of discontinuity of the control law whena task is inserted abruptly for the 3-DOF planar robot. (a) Position x2 of thesecond link during the control. (b) Inserted task set x2 is plotted over time. Assoon as x2 is inserted, a discontinuity occurs on the end-effector and the secondlink velocity. The parameters of the simulation, in this case, the initial position,the desired position, and the desired trajectories, are identical to those used inFig. 7.

0 2..0 0.4 0.6 0.8 1

0.2

0.4

0.6

0.8

position(m)

posi

tion(

m)

1

End-effector(inserted-higher prio.)

2nd-link(the primal task)

Initial positionFinal position

Fig. 9. Experiment A.2. Task insertion with a high priority. While the position-ing task of the second link is executed, the positioning task of the end-effectoris added at a higher priority.

Page 9: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

1268 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

0 0.2 0.4 0.6 0.8 1

0.8

0.2

0.4

0.6

position(m)

posi

tion(m

)1

End-effector(the primal task - removed)

2nd-link(a new task - inserted)

Initial positionFinal position

Fig. 10. Experiment A.3. Change of task from control of the end-effector tothat of the second link. The positioning task of the end-effector is replaced bythe control of the second link.

such that the transitions complete at the same time. The resultis plotted in Fig. 10. Here again, the trajectories are smootheven at the transition points. The end-effector smoothly leavesits desired trajectory when the corresponding task is stopped,while the elbow smoothly moves to its desired trajectory.

B. Rearranging the Priorities of Tasks

Rearranging the priorities of tasks was demonstrated in asimulation with a model of the 7-DOF manipulator shown inFig. 11. Using the 7-DOF manipulator rather than the simpler3-DOF manipulator also shows that the method is efficient withrealistic cases. As shown previously, we consider two position-ing tasks (the elbow x1 and the end-effector x2 (see Fig. 11).The two tasks cannot be completely realized simultaneously(algorithmic singularity). The robot starts with the tasks in thefirst hierarchy. The priorities are then continuously inverted. Thepriorities are defined as follows:

1) Sequence 1: x1 : higher priority; x2 : lower priority;2) Sequence 2: x1 : lower priority; x2 : higher priority.Such an example can be used when trying to grasp an object

with the end-effector while trying to maintain the elbow at agiven distance from a moving object. When everything is fine,the reaching task has the priority. If the obstacle comes tooclose to the robot, the priorities are inverted. This example caseis depicted in Fig. 11. For a complete avoidance control scheme,the transition should be distance driven, while here, it dependson an a priori schedule (see the next section for an example ofconstraint-driven transition).

The control law for sequence 1 is expressed by (9). Thecontrol law then changes to sequence 2 using the continuoussolution proposed in (33). Sequence 2 is then (11) again. Thereare, therefore, three phases: 1) the task execution of sequence 1before t1 = 5 s; 2) the transition from sequence 1 to 2 betweent1 = 5 s and t2 = 6 s; and 3) sequence 2 after t2 = 6 s. The

Fig. 11. Experiment B. Priority rearrangement. First, the end-effector taskx1 has priority over the elbow task x2 when the robot tries to grasp an object.Then, following an a priori fixed schedule, the priorities are rearranged such thatthe elbow task x2 has higher priority over the end-effector task. This situationcan arise, for example, when seeking to avoid a moving obstacle, as depictedhere. The secondary task cannot be fully executed as there are too few DOFs(algorithmic singularity), and the priority level can be changed for better controlof the elbow when needed.

results of rearranging the priorities are plotted in Figs. 12 and13. In the beginning (sequence 1), the end-effector task x1 isperfectly accomplished, but task x2 at a lower priority cannotbe completely realized. After switching the priorities betweenthe tasks, the elbow link is controlled as desired, whereas theend-effector task is partially realized. During the transition, asmooth trajectory is ensured.

In this section, we showed the validity of the approach withthe time-driven activation function h, which can be designeda priori when building the robot behavior or can be triggered byan event. In the following sections, we consider the activationfunctions of the joint angles directly.

C. Joint-Limit Avoidance

1) General Approach: The general problem of avoiding anarea of the robot range can be treated as a particular case oftask switching. Far from the joint limit, the main task is to becompleted alone. When approaching the limit, a task stoppingthe robot at the corresponding limit has to be added at the highestpriority level. This equivalence was noted in [23] and [30] wherean activation matrix is used to perform the switch. However, if anoncontinuous switch is used, a discontinuity will appear on theactivation border. In such a case, as noted in [23], oscillationscan occur at the activation border due to the discontinuity of theq vector fields on the two sides of the border.

On the other hand, using a continuous switch will avoid thelimit while also preventing oscillation from arising at the acti-vation border.

Coming from the initial solution of the artificial potentialfields [31], avoidance constraints are very often written as a taskat the lowest priority [32], [33]. However, avoidance of theselimits cannot be guaranteed in such a case, as operation onlyoccurs in the null space of the main task. Putting the avoidance

Page 10: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

LEE et al.: INTERMEDIATE DESIRED VALUE APPROACH FOR TASK TRANSITION OF ROBOTS IN KINEMATIC CONTROL 1269

0 1 2 3 4 5 6 7 8 9−0.1

−0.05

0

0.05

0.1

time(seconds)

X(m

)

0 1 2 3 4 5 6 7 8 9−0.05

0

0.05

0.1

0.15

0.2

time(seconds)

Y(m

)

0 1 2 3 4 5 6 7 8 9

0.5

0.55

0.6

time(seconds)

Z(m

)

Transition region

Fig. 12. Experiment B. End-effector positions. The end-effector task has pri-ority before t = 5.0 s. The priorities are inverted from t = 5.0 s to t = 6.0 s. Theend-effector task is then at the lowest priority level and cannot be accomplishedperfectly. During the transition, the trajectory is smooth.

task at the top priority level ensures that the constraint is en-forced, while the main task is only operating in the availablenull space. However, it is often more difficult to write a task-based controller that accounts for the task and the avoidanceconstraint; for example, a dedicated specific solution as in ear-lier research [34] for joint avoidance only. No generalizationto another type of constraint following this idea has been pro-posed. Alternatively, a generic controller accounting for anygeneric tasks or avoidance constraints was proposed [35], [36].However, it is much more complex to design and apprehend,using advanced optimization techniques. The advantage of thefollowing solution is that it retains a simple controller whileensuring that the constraint is enforced and that the control lawremains continuous.

The drawback is that, as in the classical potential field ap-proach [31], it is only possible to account directly for constraintsthat are homogeneous to the robot configuration. Limitations onthe robot velocity or acceleration, for example, cannot be ac-counted for by introducing a task. On the other hand, such con-straints can be dealt with by dynamically choosing the size of thebuffer β depending on the robot past velocity or acceleration orby truncating the resulting control [37]. This approach was ex-tended in [38] to deal with the incompatibilities that can appearwhen handling constraints on position, velocity, and accelera-tion simultaneously. In the following paragraphs, the objectiveis to show the efficiency of the task transition process. Choosingthe buffer length dynamically is let as a perspective.

2) Implementation of the Task Set: We consider the maintask xe to be performed while staying inside the robot jointrange. The joint-limit constraints can be written by a set ofunilateral constraints qi ≤ qi ≤ qi with qi , the lower limit, andqi , the upper limit of joint i. To enforce the constraint on eachjoint i, a task xi,j l is introduced that stops any motion of the

0 1 2 3 4 5 6 7 8 9−0.2

−0.15

−0.1

−0.05

0

0.05

time(seconds)

X(m

)

0 1 2 3 4 5 6 7 8 9−0.05

0

0.05

0.1

0.15

time(seconds)

Y(m

)

0 1 2 3 4 5 6 7 8 90.34

0.36

0.38

0.4

time(seconds)

Z(m

)

Transition region

Fig. 13. Experiment B. Elbow-joint positions. The elbow task is at the low-est priority before t = 5.0 s. The task cannot be accomplished perfectly. Thepriorities are inverted from t = 5.0 s to t = 6.0 s. After the switch, the elbowtask has priority and can be accomplished completely. During the transition, thetrajectory is smooth.

Fig. 14. Activation parameter for the joint-limit task. The activation functionto activate the joint-limit task is defined with respect to the joint angle. It is setto 0 in the safe region and changes continuously from 0 to 1 in the buffer area.

joint. When the robot comes close to the joint limit i, the taskxi,j l should be active and have priority over xe . When the robotis far enough from the limit, xi,j l should not be active and xe

should work alone.A buffer is then created near each limit (see Fig. 14). When the

robot enters inside the buffer, the task is progressively activatedas the robot goes further to the limit. For each constraint on jointi, the task specification for the upper buffer is defined as

xi,j l = ki(qi − qi) (42)

and is similarly defined for the lower buffer, where the lowerand upper buffer borders are denoted, respectively, as q

∼ and∼q.

A joint-limit task is inserted when the corresponding jointenters the buffer region. The insertion is controlled by the

Page 11: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

1270 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

Fig. 15. Experiment C-1. Controlling the position and orientation of the 7-DOF manipulator while ensuring the joint limits. (a) Initial position of the manipulator.(b) Execution of the positioning and orientation task, xe , (joint-limit task inactive). (c) Execution of xe with the joint-limit task active. The robot stops close to thejoint limit, as xe is not reachable. (d) Execution of the returning task xe . The elbow joint freely leaves the joint-limit buffer. (e) Final position of the manipulator.

3 4 5 6 7 8 9 10 11 12 13 141.3

1.4

1.5

1.6

time(seconds)

Join

t var

iabl

e(ra

d)

3 4 5 6 7 8 9 10 11 12 13 140

0.5

1

1.5

time(seconds)

Join

t var

iabl

e(ra

d)

3 4 5 6 7 8 9 10 11 12 13 14−1

0

1

2

time(seconds)

Join

t vel

ocity

(rad

/sec

)

(a)

(b)

(c)

power off due to the instability of robot

power off due to the instability of robot

Fig. 16. Experiment C-1. Oscillation and instability due to the nonsmooth tasktransition. (a) Joint velocity. (b) Elbow joint angle near the activation border.(c) Elbow joint angle plotted on a smaller scale (zoom-in view). The joint angleoscillates around the activation border. When the activation border is reached,the joint-limit task is inserted at the top priority. The oscillation starts due to thediscrete task transition. The experiment is terminated at time t = 9.4 s due tothe instability of the robot.

activation function hi depending on the joint position qi . Thefunction is shown in Fig. 14 and is defined as follows. The func-tion is set to 0 when the robot is inside the safe region and to 1when the robot reaches the corresponding joint limit. Inside theactivation buffer, the activation function increases from 0 at thebeginning of the buffer to 1 at the end of the buffer

hi =

⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎩

1.0, if qi ≥ qi

f(qi), if qi < qi < qi

0.0, if qi∼≤ qi ≤ qi

g(qi), if qi< qi < qi∼

1.0, if qi ≤ qi

(43)

3 4 5 6 7 8 9 10 11 12 13 141.3

1.4

1.5

1.6

time(seconds)

Join

t var

iabl

e(ra

d)

3 4 5 6 7 8 9 10 11 12 13 140

0.5

1

1.5

time(seconds)

Join

t var

iabl

e(ra

d)3 4 5 6 7 8 9 10 11 12 13 14

−1

0

1

2

time(seconds)Jo

int v

eloc

ity(r

ad/s

ec)

(a)

(b)

(c)

Fig. 17. Experiment C-1. Execution of the joint-limit task using the proposedcontinuous control law. (a) Joint velocity. (b) Elbow joint angle. The jointangle converges within the activation buffer. (c) Elbow joint angle plotted on asmaller scale (zoom-in view). The joint-limit task is executed successfully withno oscillation or discontinuity while the main task is performed as possible.

and

f(qi) = 0.5 + 0.5sin

β(qi − qi) −

π

2

)

g(qi) = 0.5 + 0.5sin

β(qi − qi∼

) +π

2

)(44)

where β denotes the width of the activation buffer

qi = qi − β

qi∼= q

i+ β. (45)

When inserted, the joint-limit task is considered a top-prioritytask. When no joint is in the activation buffer, the robot is

Page 12: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

LEE et al.: INTERMEDIATE DESIRED VALUE APPROACH FOR TASK TRANSITION OF ROBOTS IN KINEMATIC CONTROL 1271

Fig. 18. Experiment C-2. Snapshots of the activation of multiple joint limits.(a) Initial configuration of the manipulator. (b) Fourth joint-limit avoidance taskis activated. (c) Two more joint-limit avoidance tasks are activated on the secondand third joints.

controlled only by the main task xe

qd = J+e xe . (46)

Consider now that joint i enters into the buffer region. The taskxi,j l is inserted and the control input is computed by

qd = J+i xi

i,j l + (JeNi)+(xie − JeJ

+i xi

i,j l) (47)

where Je and Ji denote the Jacobians corresponding to xe andxi,j l , respectively. When several joints are in their respectivebuffers, (30) is used to introduce one task per joint in its buffer.Given that all of the joint-limit avoidance tasks are compatiblewith each other, their respective hierarchical order does notmatter. The tasks are then introduced into the hierarchy in atemporal order.

3) Results With a Single Limit: In the experiment, the end-effector of a 7-DOF manipulator xe is controlled to reach adesired goal position with the trajectory of a straight line (seeFig. 15). The desired position is set such that it is out of thejoint range. While the positioning task of the end-effector isbeing executed, the elbow joint (the fourth joint) reaches theborder of the joint-limit buffer region at time t = 4.8 s. Thisfirst part is to check that the control law properly behaves whenstopping the robot before it collides with the joint limit. At timet = 10 s, the desired position xd

e is modified and set to the initialposition of the robot. This second motion serves to test that thereis no undesirable effect when the robot leaves the activationbuffer. In particular, we want to check that the robot cannotstay “stuck” on the activation border. The activation buffer isset to approximately 10% of the joint range (for the fourth joint,β = 0.2 rad). The experiment is summed up in Figs. 15–17.

Figs. 16 and 17 compare the behavior without and with theproposed algorithm, respectively. When the switch is not per-formed smoothly, unstable behavior (vibration) arises on the el-bow joint when it reaches the buffer region, as shown in Fig. 16.These oscillations were already observed when considering thejoint limit as an activation problem [23]. This instability is dueto the iterative execution of the conflicting joint-limit task andpositioning task. The elbow joint position oscillates at the borderof the activation buffer as soon as the buffer border is reached(t = 5 s), as shown in Fig. 16.

0 1 2 3 4 5 6 7 8−0.4

−0.2

0

0.2

0.4

0.6

time (seconds)(a)

Pos

ition

(m

)

0 1 2 3 4 5 6 7 8−1.5

−1

−0.5

0

0.5

1

1.5

time (seconds)(b)

Pos

ition

(m)

Joint 1Joint 2Joint 3Joint 4Joint 5Joint 6Joint 7Limit 4Limit 3Limit 2

Actual XDesired XActual YDesired YActual ZDesired Z

Fig. 19. Experiment C-2. Positioning task with multiple joint-limit avoidancetasks. (a) Actual position of the end-effector and its desired trajectory. (b) Jointangles of the manipulator and joint-limit values. The joints in the joint-limitbuffer are the second, third, and fourth joints. The physical joint limits of thesecond joint, third joint, and fourth joint are −1.3 (rad), 0.6 (rad), and 1.4 (rad),respectively.

The results of the proposed approach are plotted in Fig. 17.When the elbow joint enters the buffer region, the joint-limitavoidance task is added smoothly without unstable behavior.The joint position of the elbow is then successfully controlledat the border of the buffer region, as the activation parameterchanges continuously with respect to the elbow joint position.The elbow joint escapes from the activation buffer after timet = 10 s when the main task returns to the initial position. Thejoint-limit avoidance task is thus removed with no abrupt changein the control law. The position trajectory is smooth.

4) Results With Several Limits: For another desired positionof the end-effector, the robot may activate several joint-limitavoidance tasks simultaneously. This motion is shown in Fig. 18.The trajectories are plotted in Fig. 19. Like in the previous exper-iment, the activation buffer lengths β are set to approximately10% of the corresponding joint range, i.e., 0.2 (rad) for the sec-ond and fourth joints and 0.1 (rad) for the third joint. The threejoints mentioned above enter into the activation buffer withoutinstability. This experiment demonstrates that the method is ableto handle more than two joint limits simultaneously.

D. Humanoid Robot

The execution of multiple tasks with a humanoid robot is arepresentative application of the proposed approach, which cansynthesize both the sequencing and avoidance atomic scenariospreviously presented. The humanoid robot realizes a sequencedriven by a temporal schedule of three tasks using both handsand the knee, while avoiding the joint limits and keeping its

Page 13: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

1272 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

Fig. 20. Experiment D. Experiments on a humanoid robot model. Execution of multiple tasks considering joint limit and balance. (a) Right-hand and knee-bendingtasks are executed. (b) Tasks for balancing and left-hand are inserted continuously. (c) Task controlling the left elbow joint is inserted to avoid the limit. (d) Finalpose of the humanoid robot.

center of mass inside its support polygon. Three tasks are definedto control the operational points corresponding to both robothands (xrh on the right and xlh on the left) and to controlthe bending of the right knee joint xbj . The center of mass iscontrolled by task xcom . Finally, one task xjl is defined per joint,as in (42), to control the joint when it comes close to the limit.The order of the priorities in the sequence is: 1) center of massxcom ; 2) joint limit xjl ; 3) bending knee joint xbj ; 4) right-handposition xrh ; and 5) left-hand position xlh . Each task is definedwith its activation function h. For the tasks xrh , xlh , and xbj ,the task sequence is known a priori. The activation functionsare then driven by the time to ensure smoothing during the tasksequence. For the joint tasks xjl , the activation functions aredriven by the corresponding joint position using (43). The samefunction is used to activate task xcom but using the (x, y) positioninside the support polygon (this solution is easily extendable toa nonsquare support polygon using the distance to the border todrive the activation function).

The proposed approach was implemented in a simulation us-ing a model of the humanoid robot Mahru, which was developedby the Korean Institute of Science and Technology. Mahru hasa total of 25 joints that consist of six joints located at each armand leg and one joint to pan the torso. The simulation of thehumanoid robot was implemented in RoboticsLab [29].

1) Results: The robot is asked to grasp an object with theright hand and then to reach another object with the left hand.To make the balance constraint more complex, the robot standson its right foot only. During the execution of the task, thesupport knee of the robot is continuously bent and stretched toperturb the posture and to solicit the limits at their maximum.The first target (for the right hand) is placed on the front of therobot. The grasp thus pushes the center of mass close to thesupport border, which requires the introduction of xcom task tomaintain the balance. The second target (for the left hand) isplaced on the front very close to the robot, which first drives thecenter of mass out of the front-border buffer and then inside therear-border buffer, requiring sequentially to remove and thenpush back task xcom . Finally, the motions of the arms bring therobot close to its joint limits, requiring the activation of the xjl

tasks of the corresponding joints. An overview of the sequence isgiven by Fig. 20. The experiment is summarized in Figs. 21–24.

The activation parameters are plotted in Fig. 21. First, only theright-hand positioning task and the knee-bending task are exe-cuted. While executing these tasks, the center of mass enters itsactivation buffer at time t = 1 s. Therefore, the x and y positionsof the center of mass are controlled by continuously insertingtask xcom . The positions of the center of mass are plotted inFig. 22. At time t = 3 s, the left-hand task xlh is inserted. Thetime transition lasts 2 s. The measured and reference trajectoriesare plotted in Fig. 23. The insertion of the new task tends to pushthe center of mass onto the other side of the support polygon.The center of mass first escapes the activation buffer at t = 5 s(see Fig. 22). Task xcom is then continuously removed. Thetransition is repeated between t = 6.2 s and t = 10.2 s whenthe center of mass is in the rear-border buffer. When the left-hand task is introduced, the left elbow joint quickly reaches itsactivation border. The joint enters and escapes the activationbuffer at t = 3.5 s and t = 6 s, respectively, as shown in Fig. 24.

Finally, the humanoid achieves the execution at the postureshown in Fig. 20(d). Both hands reach their desired positionswith no conflict in the task set xrh , xlh , and xbj .

2) One-Path Approach: In the following paragraphs, the ini-tial formulation is called the exact approach, as opposed to theone-path approach, which is an approximation. In this example,the maximum number of tasks is five. The computational costwith respect to the number of tasks is analyzed by measuringthe average computing time for the task set presented above.This is plotted in Fig. 25. When the two tasks xrh and xbj (di-mensions dim(xrh) = 3 and dim(xbj ) = 2) are considered, ittakes 0.3(ms) to compute the control law on average. Addinganother task xcom (dim(xcom) = 3), the computational time in-creases by more than three times. If adding the fourth task xlh

(dim(xlh) = 3), the computational cost increases again expo-nentially. Finally, the computational cost for five tasks increasesto 11.8(ms) despite the fact that the dimension of the last taskis dim(xjl) = 1.

The cost when using the one-path approach is plotted inFig. 25. Up to three tasks, the exact approach is acceptable.

Page 14: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

LEE et al.: INTERMEDIATE DESIRED VALUE APPROACH FOR TASK TRANSITION OF ROBOTS IN KINEMATIC CONTROL 1273

0 2 4 6 8 10 12

0

0.2

0.4

0.6

0.8

1

Time (seconds)

Act

iva

tion

va

ria

ble

Right handLeft handBalanceJoint limit of elbowBending /Stretching

Fig. 21. Experiment D-1. Activation parameters. Tasks xrh , xlh , and xbj aredriven by time, while xj and xcom are driven by the position of the robot inthe corresponding buffer. For the joint limits, only xj 3 corresponding to the leftelbow is plotted.

0 2 4 6 8 10 12

−0.1

−0.05

0

Time(secconds)

CoM

Pos

ition

(m)

XcomYcomZcom

(1) (2) (3) (4)

Fig. 22. Experiment D-1. Center of mass (CoM) position. The task controllingthe position of the CoM is dynamically activated in order to maintain the balanceof the robot. The CoM task is inserted at time t = 1 s and removed at timet = 5 s. Then, the task is introduced again at time t = 6.2 s and removed attime t = 10.2 s.

For five tasks in transition, the cost of the exact approach ishigh, while the one-path approach maintains an acceptable cost.

In exchange for this cost reduction, the control law of the robotmay be nonoptimal with respect to the least-square condition, assummarized in Figs. 26–28. Fig. 26 plots the norm of qd with theexact and the one-path approach. Most often, the velocities areidentical. When the second task enters into transition, the one-path approach may produce higher velocities. The trajectoriesof the left hand controlled by xlh are plotted in Fig. 27. The ref-erence trajectory is followed precisely out of the transition zone;there is no tradeoff on the accuracy of the control. The trajec-tories are different from those of the exact approach during thetransition without introducing undesirable feature. Similarly, inthe joint space (see Fig. 28), both approaches produce identicaltrajectories before the transition zone and different but relevant

0 2 4 6 8 10 12−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

Time(seconds)

Le

ft H

an

d P

osi

tion

(m)

Position(x)Position(y)Position(z)Desired(x)Desired(y)Desired(z)

(1) (2)

Fig. 23. Experiment D-1. Left hand position. Current position (solid line) anddesired position (dashed line) of the left hand. The left-hand task is inserted bya smooth transition between times t = 3 s and t = 5 s.

0 2 4 6 8 10 12

−0.2

0

0.2

0.4

0.6

0.8

1

Time(seconds)

Norm

aliz

ed J

oin

t A

ngle

Shoulder(Pitch)Shoulder(Yaw)Shoulder(Roll)ElbowWrist(Roll)Wrist(Pitch)

(1) (2)

Fig. 24. Experiment D-1. Left arm joints. As the elbow joint position enters inits joint-limit buffer at time t = 3.5 s, the joint-limit avoidance task is activated.The left elbow finally escapes from the buffer at time t = 6 s.

1 2 3 4 5 60

2

4

6

8

10

12

The number of tasks

Com

puta

tiona

l cos

t(m

s)

One path approachExact approach

Fig. 25. Experiment D-2. Computational cost. The computational cost of theintermediate value control law using the exact and one-path (approximated)algorithms is compared, while varying the number of tasks.

Page 15: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

1274 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

0 2 4 6 8 10 12 140

1

2

3

4

5

6

7

8

9

Time(seconds)

Nor

m o

f des

ired

velo

city

Exact approachOne path approach

Fig. 26. Experiment D-2. Comparison of the norm of the control law qd

produced by the exact and one-path approaches. The norm of the control lawmay be higher when two tasks are in transition simultaneously if using theone-path approach.

0 2 4 6 8 10 120.1

0.2

X p

ositi

on(m

)

0 2 4 6 8 10 120.25

0.3

0.35

0.4

Y p

ositi

on(m

)

0 2 4 6 8 10 12−0.3

−0.2

−0.1

Z p

ositi

on(m

)

Time (seconds)

ExactDesired

One path

(1) (2)

Fig. 27. Experiment D-2. Comparison of the trajectories realized by the lefthand using the exact approach and the one-path approach. As in Fig. 23, theleft-hand task is inserted by a smooth transition between times t = 3 s andt = 5 s.

trajectories during the transition. After the transition, due to ashift in the integration of the two different controls during thetransition, the joint positions are slightly different. The inte-gration from different initial positions produces different butsimilar trajectories.

VI. CONCLUSION

In this paper, an algorithm has been proposed to ensure thecontinuity of the control law during a task transition process ateither the insertion or the removal point. The proposed methodprevents any discontinuity and any unstable behavior aroundthe activation border when the transition is driven by the taskvalue. The method is completely generic and will accept anytask or transition function as long as it is continuous in the timevariable or in the robot position. The method consists of com-

0 2 4 6 8 10 12−0.2

0

0.2

0.4

0.6

0.8

Time(seconds)

Nor

mal

ized

Joi

nt A

ngle

Shoulder(Pitch:exact)Shoulder(Yaw:exact)Shoulder(Roll:exact)Elbow(exact)Wrist(Roll:exact)Wrist(Pitch:exact)

Shoulder(Pitch:one)Shoulder(Yaw:one)Shoulder(Roll:one)Elbow(one)Wrist(Roll:one)Wrist(Pitch:one)

1

1.2

1.4

Fig. 28. Experiment D-2. Comparison of the joint trajectories of the left armusing the exact approach and the one-path approach.

puting intermediate desired values in the task space to ensurecontinuity between the control law with and without the task.The proposed approach has been derived to insert or removeany number of tasks with equal or different priorities, as well asto rearrange the priorities of tasks. The solution is inexpensivein classical cases in which few tasks are in transition simulta-neously. For more complex cases, i.e., when several tasks arein transition simultaneously, a generic approximation known asthe one-path approach is proposed, providing computational ef-ficiency. Moreover, the computational cost of the approach withrespect to the number of tasks was experimentally analyzed. Theapproach is generic and can be applied to any type of transitionsimply given a smooth activation parameter. Two applicationsof task transitions were proposed. The first one is the classicaltemporal sequence. The second is a generic solution to handlegeneric unilateral constraints homogeneous to the robot position(e.g., joint limits or quasi-static balance).

For a simple case (no more than four tasks in transition simul-taneously), the proposed approach provides a complete solutionthat is easy to implement above an existing controller. For morecomplex cases, the one-path approach provides an efficient so-lution that only has the drawback of computing non-least-squaresolutions with behavior at the current instant that depends onthe previous sequence of tasks.

Both simulations and experiments show that task transitionscan be executed continuously with multiple priorities and vari-ous types of tasks. A simulation with a humanoid robot showedthe viability of the approach on actual-scale executions for bothexecuting a task-sequence plan and accounting for unilateralconstraints such as joint limits or balance.

The same approach can be extended to account for the dy-namics using torque input instead of the velocities. In particular,it would be interesting to deal with transitions involving contactbetween the robot and the environment.

Page 16: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

LEE et al.: INTERMEDIATE DESIRED VALUE APPROACH FOR TASK TRANSITION OF ROBOTS IN KINEMATIC CONTROL 1275

APPENDIX A

EQUIVALENCE WITH CONTINUOUS INVERSE METHOD

The equivalence of (16) with the continuous inverse solutionin [23] is derived in this Appendix. We first prove that the twocontrol laws are equivalent when h1 = 0. The result is thenextended to the case h1 �= 0. Equation (16) can be rearrangedas follows:

qd = J+[

xd1

h2 xd2 + (1 − h2)J2J

+1 xd

1

]

= J+[

I 0(1 − h2)J2J

+1 h2I

] [xd

1

xd2

]. (48)

The continuous control in [23] is written as

qd = (1 − h2)J+1 xd

1 + h2J+ xd . (49)

We denote J+ = [X1 X2 ], K1 = J+1 J1 , and P1 = I −

K1 . We want to demonstrate that J+[

I 0(1 − h2 )J2 J +

1 h2

]=

(1 − h2) [ J +1 0 ] + h2J

+ . The first term can be written as[ X1 + (1 − h2)X2J2J

+1 h2X2 ]. The second term can be

written as [ h2X1 + (1 − h2)(X1 + X2J2J+1 ) h2X2 ]. Using

the trick X1 = h2X1 + (1 − h2)X1 in the first componentof the first term, the equality to be proved can be broughtto X1 + X2J2J

+1 = J+

1 and, finally, written in the followingshape, proving the following:

J+[

I

J2J+1

]= J+

1 . (50)

We denote K =[

IJ2 J +

1

], R1 = J1J

+1 the range of J1 , and

Q1 = I − R1 . R1 is the set of the points that are reachableby the linear map J1 . To prove (50), we will prove that J+K isthe pseudoinverse of J1 on R1 , and is the null on Q1 ; that is tosay

J+KR1 = J+1 (51)

J+KQ1 = 0. (52)

Summing both equalities gives J+K =J+1 given that R1 + Q1 =

I .

A. Preliminary Results

Given any matrix A, the range space of A is orthogonal to thekernel of A+ , and reciprocally. Moreover, given any projectorP , the range of AP is inside the range of A: r(AP ) ⊂ r(A).Thus, the range of AP is orthogonal to the kernel of A

(AP )+(I − AA+) = 0.

This can be rewritten as follows:

(AP )+AA+ = (AP )+ .

Transposing this result, and denoting J = A′, we obtain

J+J(PJ)+ = (PJ)+ . � (53)

Moreover, the range of AP is inside the range of P . Thus((AP )+AP

)P = P.

In particular, we have

((AP )+AP )PA+ = PA+ .

Transposing this result and denoting J = A′ gives

J+PPJ(PJ)+ = J+P. (54)

Or using Q = I − PJ(PJ)+

J+PQ = 0. �

B. Proof of (51)

Using J+1 J1J

+1 = J+

1 , the left term of (51) can be rewrittenas follows:

J+KR1 = J+JJ+1 .

We now have to prove that J+JJ+1 = J+

1 . Using P :=[

I 00 0

]

that selects the J1 rows in (53), the result is immediate. �

C. Proof of (52)

The left term of (52) can be rewritten as follows:

J+KQ1 = J+[

Q10

].

Once more, using P :=[

I 00 0

]in (54), the result is immediate

J+[

I 00 0

](I − [ J1 0 ]

[J+

10

])= J+

[Q10

]= 0. �

D. Generalization for h1 �= 0

In the general case h1 �= 0, (48) becomes

qd = J+[

h1I (1 − h1)h2J1J+2

(1 − h2)h1J2J+1 h2I

] [xd

1

xd2

].

The equivalence with J⊕H can be shown similarly

J+[

h1I (1 − h1)h2J1J+2

(1 − h2)h1J2J+1 h2I

]

= h1J+

[I 0

J2J+1 0

]

+ h2J+

[0 J1J

+2

0 I

]+ h1h2J

+(

I −[

I J1J+2

J2J+1 I

]).

Similarly, as when h1 = 0, the product of J+ with the threeleft-side terms can be reduced to the partial inverses

J+[

h1I (1 − h1)h2J1J+2

(1 − h2)h1J2J+1 h2I

]

= h1 [ J+1 0 ] + h2 [ 0 J+

2 ]

+ h1h2(J+ − [ J+

1 0 ] − [ 0 J+2 ]

)= h1X{1} + h2X{2} + h1h2X{1,2} = J⊕H . �

Page 17: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

1276 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

APPENDIX BCONTINUITY IN TRANSITION OF PRIORITIZED TASKS

It is proved that (8) and (21) are equivalent when h1 = 0. Ifwe apply (22) to (21) with h1 = 0, the result is (8) as follows:

qd = J+1 J1J

+2 xd

2 + N1(J2N1)+ (xd

2 − J2J+1 J1J

+2 xd

2).(55)

The second xd2 can be rewritten since (J2N1)+ =

(J2N1)+J2J+2 (as can be easily verified by checking the four

properties of Moore–Penrose for the right-hand term). Then

qd =(J+

1 J1 + N1(J2N1)+(J2 − J2J+1 J1)

)J+

2 xd2

=(J+

1 J1 + N1(J2N1)+(J2N1))J+

2 xd2

=(J+

1 J1 + N1 − N1 + N1(J2N1)+(J2N1))J+

2 xd2

=((J+

1 J1 + N1) − N1(I − (J2N1)+(J2N1)))J+

2 xd2

=(I − N1N2|1

)J+

2 xd2

= J+2 xd

2 . (56)

APPENDIX CCONTINUITY IN SWITCHING PRIORITIES

If we apply (33) to (34) with hσ = 1, we can write

qiσ = J+

1 J1 qd[2,1] + (J2N1)+(J2 q

d[2,1] − J2J

+1 J1 q

d[2,1])

= J+1 J1 q

d[2,1] + (J2N1)+J2N1 q

d[2,1]

= qd[2,1] − N1 q

d[2,1] + N1(J2N1)+J2N1 q

d[2,1]

= qd[2,1] − N1N2|1 q

d[2,1]

= (I − N1N2|1)qd[2,1]

= qd[2,1]. (57)

In general, we have

qiσ = J+

1

(hσJ1 q

d[2,1] + (1 − hσ )J1 q

d[1,2]

)

+ (J2N1)+(hsJ2 q

d[2,1] + (1 − hσ )J2 q

d[1,2]

−J2J+1 (hsJ1 q

d[2,1] + (1 − hσ )J1 q

d[1,2])

)

= hσJ+1 J1 q

d[2,1] + (1 − hσ )J+

1 J1 qd[1,2]

+ (J2N1)+(hσJ2N1 q

d[2,1] + (1 − hσ )J2N1 q

d[1,2]

)

= hσ qd[2,1] + (1 − hσ )qd

[1,2]

− hσN1N2|1 qd[2,1] − (1 − hσ )N1N2|1 q

d[1,2]

= hσ (I − N1N2|1)qd[2,1] + (1 − hσ )(I − N1N2|1)qd

[1,2]

= qd[1,2] + hσ (qd

[2,1] − qd[1,2]). (58)

REFERENCES

[1] J. Lee, N. Mansard, and J. Park, “Intermediate desired value approach forcontinuous transition among multiple tasks of robots,” in Proc. IEEE Int.Conf. Robot. Autom., May 2011, pp. 1276–1282.

[2] C. Samson, M. Le Bogne, and B. Espiau, Robot Control: Task FunctionApproach. Oxford, U.K.: Clarendon, 1991.

[3] L. Sentis and O. Khatib, “Control of free-floating humanoid robots throughtask prioritization,” in Proc. IEEE Int. Conf. Robot. Autom., Apr. 2005,pp. 1718–1723.

[4] P. Evrard, N. Mansard, O. Stasse, A. Kheddar, T. Schauss, C. Weber,A. Peer, and M. Buss, “Intercontinental, multimodal, wide-range tele-cooperation using a humanoid robot,” presented at the IEEE/RSJ Int.Conf. Intell. Robots Syst., St Louis, MO, Oct. 2009.

[5] E. Yoshida, I. Belousov, C. Esteves, and J. P. Laumond, “Humanoid mo-tion planning for dynamic tasks,” presented at the IEEE/RSJ Int. Conf.Humanoid Robots, Tsukuba, Japan, Dec. 2005.

[6] B. Buml, F. Schmidt, T. Wimbck, O. Birbach, A. Dietrich, M. Fuchs, W.Friedl, U. Frese, C. Borst, M. Grebenstein, O. Eiberger, and G. Hirzinger,“Catching flying balls and preparing coffee: Humanoid rollin’justin per-forms dynamic and sensitive tasks,” presented at the IEEE Int. Conf.Robot. Autom., Shanghai, China, May 2011.

[7] Y. Nakamura and H. Hanafusa, “Inverse kinematics solution with sin-gularity robustness for robot manipulator control,” ASME J. Dyn. Syst.,Meas., Control, vol. 108, no. 3, pp. 163–171, 1986.

[8] O. Khatib, “A unified approach for motion and force control of robotmanipulators: The operational space formulation,” Int. J. Robot. Res.,vol. 3, no. 1, pp. 43–53, 1987.

[9] O. Khatib, L. Sentis, J. Park, and J. Warren, “Whole-body dynamicsbehavior and control of human-like robots,” Int. J. Humanoid Robot.,vol. 1, no. 1, pp. 29–43, 2004.

[10] Y. Nakamura, H. Hanafusa, and T. Yoshikawa, “Task-priority based re-dundancy control of robot manipulators,” Int. J. Robot. Res., vol. 6, no. 2,pp. 3–15, 1987.

[11] B. Siciliano and J.-J. E. Slotine, “A general framework for managingmultiple tasks in highly redundant robotic systems,” in Proc. IEEE Int.Conf. Robot. Autom., Pisa, Italy, 1991, vol. 2, pp. 1211–1216.

[12] P. Chiacchio, S. Chiaverini, L. Sciavicco, and B. Siciliano, “Closed-loopinverse kinematics schemes for constrained redundant manipulators withtask space augmentation and task priority strategy,” Int. J. Robot. Res.,vol. 10, no. 4, pp. 410–425, 1991.

[13] P. Baerlocher and R. Boulic, “Task-priority formulations for the kinematiccontrol of highly redundant articulated structures,” in Proc. Int. Conf.Intell. Auton. Syst., 1998, vol. 1, pp. 323–329.

[14] D. N. Nenchev and Z. M. Sotirov, “Dynamic task-priority allocation forkinematically redundant robotic mechanisms,” in Proc. IEEE/RSJ Int.Conf. Intell. Robots Syst., Sep. 1994, pp. 518–524.

[15] P. Baerlocher and R Boulic, “An inverse kinematic architecture enforcingan arbitrary number of strict priority levels,” Visual Comput., vol. 20,no. 6, pp. 402–417, 2004.

[16] F. L. Hammond and K. Shimada, “Morphological design optimization ofkinematically redundant manipulators using weighted isotropy measures,”in Proc. IEEE Int. Conf. Robot. Autom., May 2009, pp. 2931–2938.

[17] F. Keith, P. B. Wieber, and N. Mansard, “Analysis of the discontinuities inprioritized task-space control under discrete task scheduling operations,”in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Sep. 2011, pp. 3887–3892.

[18] G. Chesi, K. Hashimoto, and D. Prattichizzo, “Keeping features inthe field of view in eye-in-hand visual servoing: A switching ap-proach,” IEEE Trans. Robot. Autom., vol. 20, no. 5, pp. 908–914,Oct. 2004.

[19] N. Garcia-Aracil, E. Malis, R. Aracil-Santonja, and C. Perez-Vidal,“Continuous visual servoing despite the changes of visibility in imagefeatures,” IEEE Trans. Robot., vol. 21, no. 6, pp. 1214–1220, Dec.2005.

[20] J. Salini, V. Padois, and P. Bidaud, “Synthesis of complex humanoidwhole-body behavior: A focus on sequencing and task transition,” inProc. IEEE Int. Conf. Robot. Autom., May 2011, pp. 1283–1290.

[21] N. R. Gans and S. A. Hutchinson, “Stable visual servoing through hybridswitched-system control,” IEEE Trans. Robot., vol. 23, no. 3, pp. 530–540, Jun. 2007.

[22] N. Mansard and O. Khatib, “Continous control law from unilateral con-straints: Application to reactive obstacle avoidance in operational space,”in Proc. IEEE Int. Conf. Robot. Autom., Pasadena, CA, 2008, pp. 3359–3364.

[23] N. Mansard, A. Remazeilles, and F. Chaumette, “Continuity of varying-feature-set control laws,” IEEE Trans. Robot., vol. 54, no. 11, pp. 2493–2505, Nov. 2009.

[24] N. Mansard, O. Khatib, and A. Kheddar, “A unified approach to integrateunilateral constraints in the stack of tasks,” IEEE Trans. Robot., vol. 25,no. 3, pp. 670–685, Jun. 2009.

Page 18: 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, …dyros.snu.ac.kr/paper/TRO-task-transition-published... · 1260 IEEE TRANSACTIONS ON ROBOTICS, VOL. 28, NO. 6, DECEMBER 2012

LEE et al.: INTERMEDIATE DESIRED VALUE APPROACH FOR TASK TRANSITION OF ROBOTS IN KINEMATIC CONTROL 1277

[25] S. Chiaverini, “Singularity-robust task-priority redundancy resolution forreal-time kinematic control of robot manipulators,” IEEE Trans. RobotAutom., vol. 13, no. 3, pp. 398–410, Jun. 1997.

[26] K. Doty, C. Melchiorri, and C. Bonivento, “A theory of generalized in-verses applied to robotics,” Int. J. Robot. Res., vol. 12, no. 1, pp. 1–19,1993.

[27] A. Ben-Israel and T. Greville, Generalized Inverses: Theory and Applica-tion. (CMS Books in Mathematics). New York: Springer, 2003.

[28] B. You, D. Kim, C. Kim, Y. Oh, M. Jeong, and S. Oh, “Network-basedhumanoid ‘mahru’ as ubiquitous robotic companion,” presented at the17th World Congr., Int. Federation Autom. Control, Seoul, Korea, Jul.2008.

[29] ROBOTICSLAB. (2011). [Online]. Available: http://www.rlab.co.kr[30] T. Chang and R. Dubey, “A weighted least-norm solution based scheme

for avoiding joints limits for redundant manipulators,” IEEE Trans. RobotAutom., vol. 11, no. 2, pp. 286–292, Apr. 1995.

[31] O. Khatib, “Real-time obstacle avoidance for manipulators and mobilerobots,” Int. J. Robot. Res., vol. 5, no. 1, pp. 90–98, 1986.

[32] E. Marchand, F. Chaumette, and A. Rizzo, “Using the task function ap-proach to avoid robot joint limits and kinematic singularities in visualservoing,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst, 1996, vol. 3,pp. 1083–1090.

[33] F. Chaumette and E. Marchand, “A redundancy-based iterative approachfor avoiding joint limits: Application to visual servoing,” IEEE Trans.Robot Autom., vol. 17, no. 5, pp. 719–730, Oct. 2001.

[34] D. Raunhardt and R. Boulic, “Progressive clamping,” in Proc. IEEE Int.Conf. Robot. Autom., Rome, Italy, Apr. 2007, pp. 4414–4419.

[35] A. Escande, N. Mansard, and P.-B. Wieber, “Fast resolution of hierarchizedinverse kinematics with inequality constraints,” in Proc. IEEE Int. Conf.Robot. Autom., 2010, pp. 3733–3738.

[36] M. De Lasa, I. Mordatch, and A. Hertzmann, “Feature based locomotioncontrollers,” presented at the SIGGRAPH, Los Angeles, CA, Jul. 2010.

[37] S. Rubrecht, V. Padois, P. Bidaud, and M. De Broissia, “Constraints com-pliant control: constraints compatibility and the displaced configurationapproach,” presented at the IEEE/RSJ Int. Conf. Intell. Robots Syst.,Taipei, Taiwan, May 2010.

[38] S. Rubrecht, V. Padois, P. Bidaud, M. de Broissia, and M. Da Silva Simoes,“Motion safety and constraints compatibility for multibody robots,” Auton.Robots, vol. 32, no. 3, pp. 333–349, Jan. 2012.

Jaemin Lee received the B.S. degree in mechanicalengineering from Konkuk University, Seoul, Korea,and the M.S. degree in intelligent convergence sys-tems from Seoul National University, Suwon, Korea,in 2010 and 2012, respectively.

From February to August 2011, he was a VisitingStudent with the Department of Advanced Robotics,Italian Institute of Technology, Genova, Italy. He hasbeen with the Dynamic Robotic Systems Labora-tory, Department of Intelligent Convergence Systems,Seoul National University, since 2010. His current

research interests include multiple tasks execution strategy, robot–environmentinteraction, cooperative robots, and whole-body dynamic control.

Nicolas Mansard (M’12) received the M.Sc. degreefrom the Institut National Polytechnique de Grenoble,Grenoble, France, the M.Sc. degree from the EcoleNormale Superieure de Cachan, Ker-Lann, France,in 2003, and the Ph.D. degree in robotics from theUniversity of Rennes, Rennes, France, in 2006.

He was with the Lagadic Group, INRIA, Bretagne,France, for three years before receiving the Ph.D. de-gree. He spent one year with Stanford University,Stanford, CA, with O. Khatib, and one year in theJoint French–Japanese Robotics Laboratory, AIST,

Tsukuba, Japan, with A. Kheddar and K. Yokoi. He is currently a Senior Re-searcher with the Gepetto Group, Laboratoire d’Analyse et d’Architecture desSystemes, Centre National de la Recherche Scientifique, Toulouse, France. Hisresearch interests are concerned with sensor-based robot animation and, morespecifically, the integration of reactive control schemes into real humanoid robotapplications.

Dr. Mansard received three national awards for his thesis.

Jaeheung Park (M’11) received the B.S. and M.S.degrees in aerospace engineering from Seoul Na-tional University, Seoul, Korea, in 1995 and 1999,respectively, and the Ph.D. degree in aeronautics andastronautics from Stanford University, Stanford, CA,in 2006.

From 2006 to 2009, he was a Postdoctoral Re-searcher and then a Research Associate with the Stan-ford Artificial intelligence Laboratory. From 2007 to2008, he was with Hansen Medical, Inc. (part time),which is a U.S.-based medical robotics company, on

a part-time basis. Since 2009, he has been an Assistant Professor with theDepartment of Intelligent Convergence Systems, Seoul National University,Suwon. His current research interests include robot–environment interaction,contact-force control, robust haptic teleoperation, multicontact control, whole-body dynamic control, biomechanics, and medical robotics.


Recommended