Robot Control near Singularity and Joint Limit Using...

10
Abstract When robots are controlled in the task space, singularities and joint limits are among the most critical and difficult issues that can arise. In this paper, we propose a new approach for the robots to operate in the regions near singularities and joint limits using the operational space control framework. Specifically, a continuous task transition algorithm called the intermediate desired value approach is applied to the hierarchically structured controller in the operational space control framework. In this approach, new tasks are defined for dealing with singularities and joint limits, and the tasks are activated or deactivated using the continuous task transition algorithm to guarantee the continuous execution of the tasks during the execution of the main task. The proposed approach is implemented on a 6-DOF manipulator called Roman-MD. The experimental results demonstrate its performance near the singular regions and joint limits. Keywords Joint Limit Avoidance, Singularity, Operational Space Control, Task Transition 1. Introduction The workspace of robots is limited by singularities and joint limits. When robots are controlled by task space Figure 1. When robots operate in a human environment they can encounter singularities and joint limits during the execution of their tasks. control algorithms, it is necessary to handle singularities and joint limits during the execution of tasks so as to perform the tasks successfully (Figure 1) [1]. There have been various approaches to operating robots near singularities and joint limits in task space control. To deal with singularities in the kinematic control, a damped least-square inverse Jacobian matrix was proposed to 1 International Journal of Advanced Robotic Systems ARTICLE www.intechopen.com Int. j. adv. robot. syst., 2013, Vol. 10, 346:2013 1 Graduate School of Convergence Science and Technology, Seoul National University, Republic of Korea 2 Advanced Institutes for Convergence Technology, Republic of Korea * Corresponding author E-mail: [email protected] Received 29 Dec 2012; Accepted 31 May 2013 DOI: 10.5772/56714 ∂ 2013 Han and Park; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Hyejin Han 1 and Jaeheung Park 1,2,* Robot Control near Singularity and Joint Limit Using a Continuous Task Transition Algorithm Regular Paper

Transcript of Robot Control near Singularity and Joint Limit Using...

Page 1: Robot Control near Singularity and Joint Limit Using …dyros.snu.ac.kr/wp-content/uploads/2013/10/InTech-Robot...Robot Control near Singularity and Joint Limit Using a Continuous

Robot Control near Singularity andJoint Limit Using a Continuous TaskTransition Algorithm

Hyejin Han1 and Jaeheung Park1, 2,

1Graduate School of Convergence Science and Technology, Seoul National University, Republic of Korea2Advanced Institutes for Convergence Technology, Republic of Korea� [email protected]

Abstract When robots are controlled in the task space,singularities and joint limits are among the most criticaland difficult issues that can arise. In this paper, we proposea new approach for the robots to operate in the regionsnear singularities and joint limits using the operationalspace control framework. Specifically, a continuous tasktransition algorithm called the intermediate desired valueapproach is applied to the hierarchically structuredcontroller in the operational space control framework. Inthis approach, new tasks are defined for dealing withsingularities and joint limits, and the tasks are activated ordeactivated using the continuous task transition algorithmto guarantee the continuous execution of the tasks duringthe execution of the main task. The proposed approach isimplemented on a 6-DOF manipulator called Roman-MD.The experimental results demonstrate its performancenear the singular regions and joint limits.

Keywords Joint Limit Avoidance, Singularity, OperationalSpace Control, Task Transition

1. Introduction

The workspace of robots is limited by singularities andjoint limits. When robots are controlled by task space

Figure 1. When robots operate in a human environment theycan encounter singularities and joint limits during the execution oftheir tasks.

control algorithms, it is necessary to handle singularitiesand joint limits during the execution of tasks so as toperform the tasks successfully (Figure 1) [1].

There have been various approaches to operating robotsnear singularities and joint limits in task space control. Todeal with singularities in the kinematic control, a dampedleast-square inverse Jacobian matrix was proposed to

Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint Limit Using a Continuous Task Transition Algorithm

1www.intechopen.com

International Journal of Advanced Robotic Systems

ARTICLE

www.intechopen.com Int. j. adv. robot. syst., 2013, Vol. 10, 346:2013

1 Graduate School of Convergence Science and Technology, Seoul National University, Republic of Korea2 Advanced Institutes for Convergence Technology, Republic of Korea* Corresponding author E-mail: [email protected]

Received 29 Dec 2012; Accepted 31 May 2013

DOI: 10.5772/56714

∂ 2013 Han and Park; licensee InTech. This is an open access article distributed under the terms of the CreativeCommons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use,distribution, and reproduction in any medium, provided the original work is properly cited.

Hyejin Han1 and Jaeheung Park1,2,*

Robot Control near Singularity and Joint Limit Using a Continuous Task Transition AlgorithmRegular Paper

Page 2: Robot Control near Singularity and Joint Limit Using …dyros.snu.ac.kr/wp-content/uploads/2013/10/InTech-Robot...Robot Control near Singularity and Joint Limit Using a Continuous

resolve the singularity problem [2–4]. It provided anapproximate solution when the robot was close to asingular position. Later, the transpose of the Jacobian wasused instead of the inverse, which also approximates thesolution [5, 6]. In addition, a redundancy-control methodbased on a task-priority strategy was proposed as a meansof kinematic control [7–9]. This approach allows robots tomove near or even pass through singular configurations.Moreover, a method is proposed to control the robot tostop and switch its controller when it is detected thatthe robot is near a singular region in a kinematic controlscheme [10, 11]. On the other hand, there have been fewstudies on this issue in the framework of operational spacecontrol. Some of the solutions were specifically designedfor the singularity types on PUMA560 robots [12, 13].

Meanwhile, to overcome the problem of joint limits, amethod was proposed based on a weighted least normsolution for a redundant robot in the kinematic control [14,15]. The weighted least norm solution was also comparedwith the gradient projection approach [16], showing thatthe weighted least norm method can avoid unnecessaryself-motion and oscillation when the correct magnitude ofself-motion is used. In line with redundancy resolutionalgorithm, quadratic programming (QP) methods havebeen proposed in the kinematic control [17] and theQP-based dynamical system approach has been developed[18].

For the operational space control framework, a typicalsolution is to use the classical potential field approach [19].However, it is often difficult to select appropriate gainsbecause the selection depends on the configuration and thecontroller of the existing tasks. Moreover, it was pointedout that the potential field methods have some problemssuch as local minimum and oscillations [20–22].

A solution for dealing with unilateral constraints,including both singularity and joint limit, was proposedfor the kinematic control [23, 24], which modifies thenull-space projection matrices for continuous control lawduring the transition among multiple tasks. This approachwas further developed to be applied in the operationalspace control framework [25]. Similarly, a methodusing continuous null space projections was proposed fortorque-controlled robots [26]. Both of the methods arebased on the modification of the null space projectionmatrix and limited in the use of multiple hierarchicalstructures.

Recently, a task transition approach called the intermediatedesired approach was proposed to deal with tasktransition among multiple tasks in kinematic control [27]and was further developed to be used in the operationalspace control framework [28]. This approach is differentfrom the previously mentioned approaches [25, 29] in thatthe desired values are modified while the control structureremains the same. Additionally, multiple constraintsand tasks can be performed with multiple levels ofpriorities, which is important when dealing with joint limitavoidance, singularities and tasks in different priorities.In this paper, the problems of singularity and joint limitavoidance are resolved by this intermediate desired valueapproach in the operational space control framework.

The main contribution of this paper compared to ourprevious works is that the present study providescomplete details pertaining to issues relating to singularityand joint limit tasks during the implementation of theintermediate desired value approach in the operationalspace while also demonstrating its feasibility via itsperformance on a physical robot.

The main idea of using the intermediate desired valueapproach when dealing with singularities and jointlimits is first to define the tasks corresponding to thesingularities and joint limits, and then to insert orremove these tasks while the main task of the robotis executed. The intermediate desired value approachprovides a smooth transition among multiple tasks withor without a hierarchy. Specifically, constraint tasks, suchas joint-limit-avoidance tasks, are provided with highpriority over the primary task in order to conduct tasksaccurately and to maintain uninterrupted transitions witha continuous task transition algorithm.

This approach is implemented both in simulation and ona physical robot which is a 6-DOF manipulator calledRoman-MD. In the experiments of joint limit avoidance,the proposed approach is compared with the potentialfield approach [19]. Then, the operation of the robot isdemonstrated approaching near singularity and comingback to the initial position. Finally, the control of the robotis performed in the configuration near both joint limit andsingularity.

The paper is organized as follows. First, the task transitionalgorithm in the operational space control frameworkis summarized in Section 2. Second, stability duringtransitions is discussed in Section 3. Singularity andjoint limit avoidance using the task transition algorithmare presented in Section 4 and 5, respectively. Theexperimental results are plotted and discussed in Section6. The paper is concluded in Section 7.

2. Continuous Task Transition Approach

We approach the problems of handling singularities andjoint limits by applying a continuous transition algorithm[27]. In the following sub-sections, we first recall ahierarchical control structure in the operational spacecontrol framework and then introduce a continuous tasktransition approach.

2.1. Hierarchical Control Structure

When a robot is controlled in the operational space controlframework, the task space dynamics is described asfollows: [30]

Λtxt +µt + pt = Ft, (1)

and

Λt = (JtA−1JTt )

−1

µt = Λt(JtA−1b− Jtq)

pt = ΛtJtA−1g.

(2)

Here, q, A, b and g are the vectors of the joint angles, thejoint space mass/inertia matrix, the Coriolis/centrifugal

Int. j. adv. robot. syst., 2013, Vol. 10, 346:20132 www.intechopen.com

Page 3: Robot Control near Singularity and Joint Limit Using …dyros.snu.ac.kr/wp-content/uploads/2013/10/InTech-Robot...Robot Control near Singularity and Joint Limit Using a Continuous

torque, and the gravity torque, respectively. The termsJt, Λt, µt, pt and Ft are the Jacobians corresponding tothe task xt, the task space inertia matrix, the vector ofCoriolis/centrifugal forces, the vector of gravity forces,and the control force for this task. The control torque forcontrol of the task can then be composed using the taskdynamics [30].

Γt = JTt Ft = JT

t {Λtf∗t +µt + pt}

= JTt Λt{f ∗

t + ηt + ζt} = JTt Λtft,

(3)

andηt = Λ−1

t µt, ζt = Λ−1t pt. (4)

In these equations, f ∗t is the control input for the unit mass

system for the task xt.

At this point, when the robot has a constraint task, such asa joint limit avoidance task, we consider the constraint taskas xc and the primary task as xt in a hierarchical structure.In other words, the command torque for the primary taskis controlled in the null space of the constraint task asfollows [30],

Γ = Γconstraint + Γtask

= JTc Fc + NT

c Γt

= JTc Fc + NT

c (JTt Ft)

(5)

NTc = I − JT

c JTc

JTc = A−1JT

c Λc(6)

where Jc and Jt are the Jacobians corresponding to theconstraint and primary tasks, respectively. The matrix Jcis the dynamically consistent inverse of the Jacobian Jc.The terms Fc and Ft are the control forces correspondingto xc and xt, respectively. The term NT

c is the null spaceprojection matrix of the constraint task. The dynamics inthe constraint and task space can then be derived [30]:

Λcxc +µc + pc = Fc (7)

Λt|cxt +µt|c + pt|c = Ft (8)

where

Λt|c = (JtNcA−1NTc JT

t )−1

µt|c = Λt|c(JtA−1b− Jtq)

pt|c = Λt|cJtA−1g.

(9)

Using the equations of motion in the constraint and taskspaces, the control forces Fc and Ft can be formulated asfollows:

Fc = Λcf∗c +µc + pc = Λcfc (10)

Ft = Λt|cf∗t +µt|c + pt|c = Λt|cft. (11)

If the two equations are combined, the control torque forthe hierarchical task set is

Γ = JTc Λcfc + NT

c JTt Λt|cft. (12)

When a constraint with a high priority is added orremoved, the torque command switches between (3) and(12). The task transition approach is introduced in the nextsection to resolve the issue of a discontinuity in such cases.

2.2. Task Transition Approach for both Prioritized Tasks andNon-prioritized Tasks

The continuous task transition algorithm known asthe intermediate desired value approach is applied fora smooth transition when new tasks are inserted orremoved. A joint limit avoidance task, for example, can becreated with a high priority level while a primary existingtask is executed. Therefore, we can revise equation (12) byapplying the intermediate desired value approach.

In addition, for dealing with singularity, some parts ofan existing task can be selected for removal, in whichcase the task removal or insertion transition is at the samehierarchical level as the existing task. Moreover, we needan algorithm to deal with operations that avoid both jointlimits and singularities simultaneously.

For one typical example, we consider the execution of oneconstraint task with two tasks with equal priorities: xc,xt1 and xt2. By applying the intermediate desired valueapproach, the term fc is modified to f i

c as follows:

Γ = JTc Λcf

ic + NT

c JTt Λt|cf

it (13)

where

Jt =

(Jt1Jt2

), f i

t =

(f i

t1f i

t2

)(14)

and

NTc = I − JT

c JTc

Λ−1t|c = JtNcA−1NT

c JTt .

(15)

The intermediate values are defined by

f ic = hcfc + (1 − hc)JcA−1Γ∗

[/c]

f it1 = ht1ft1 + (1 − ht1)Jt1A−1Γ∗

[/t1]

f it2 = ht2ft2 + (1 − ht2)Jt2A−1Γ∗

[/t2].

(16)

These equations provide a continuous transition amongprioritized tasks when the task xc is inserted at a higherpriority. The activation parameters hc, ht1 and ht2 changefrom 0 to 1 continuously for a smooth transition when thetask is inserted, whereas they change to 0 when the taskis removed. The term Γ∗

[/n] denotes the torque input usingthe intermediate desired value excluding the n task:

Γ∗[/c] = JT

t Λtfit (17)

where

f it1 = ht1ft1 + (1 − ht1)Jt1A−1JT

t2ht2Λt2ft2

f it2 = ht2ft2 + (1 − ht2)Jt2A−1JT

t1ht1Λt1ft1.(18)

In the equations above, in order to compute Γ∗[/c], we need

to consider task xt1 and xt2, which have the same prioritylevel. On the other hand, in the cases of Γ∗

[/t1] and Γ∗[/t2], we

take into account task transitions with priority. Therefore,Γ∗[/t1] can be computed as

Γ∗[/t1] = JT

c Λcfic + NT

c JTt2Λt2|cf

it2 (19)

where

f ic = hcfc + (1 − hc)JcA−1JT

t2ht2Λt2ft2

f it2 = ht2ft2 + (1 − ht2)Jt2A−1JT

c hcΛcfc.(20)

Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint Limit Using a Continuous Task Transition Algorithm

3www.intechopen.com

Page 4: Robot Control near Singularity and Joint Limit Using …dyros.snu.ac.kr/wp-content/uploads/2013/10/InTech-Robot...Robot Control near Singularity and Joint Limit Using a Continuous

3. Stability During Transition

The proposed approach uses the operational space controlframework with a hierarchical structure having priorities.The control structure is not modified in this approach, sothe controlled system is stable if not in transition. Themodelling uncertainties may affect the performance of thesystem, but these are mostly overcome by the feedbackon the unit-mass system in the operational space controlframework.

Now, the stability during transition is discussed in thissection. The intermediate desired value approach isapplied to the control inputs fc and ft in (12), whichcorrespond to constraint and task. During transition, theintermediate desired values of the control inputs, f i

c andf i

t , are computed using (16). Each intermediate desiredvalue of the control input in (16) is composed of two parts:the control input of the constraint or task itself and theeffect from the control of other constraints or tasks. Theyare scaled down by hc or ht, and (1 − hc) or (1 − ht),respectively. As the activation parameter decreases, thecontrol of the constraint or task itself diminishes. Thatis, the DOF of the system used for the control of thecorresponding constraint or task is gradually used by theother constraints or tasks.

Considering this constitution of the sub-systems, theirstability depend on each controller with the control inputof the constraint or task itself. In this paper, a PD controlis designed for each sub-system, which behaves as aunit mass system by using the operational space controlframework if not in transition [31]. The proportional andderivative gains can be chosen to have critically dampedresponses for each unit mass system. Then, when the taskis in transition, the effect of using the activation parametersis to decrease the proportional and derivative gains withthe same ratio. Therefore, the response of each system intransition becomes over-damped with a lower bandwidth.Since the system becomes over-damped, the system is stillstable with the comprised bandwidth of the task.

4. Joint Limit Avoidance

As stated in the Introduction section, there has been muchresearch on implementing stable operation near joint limitsor on avoiding joint limits. The task transition approachcan also be very effective in the application of a jointlimit avoidance scheme in the operational space controlframework.

We need to manage the robot so that it moves withinthe range of joint movement while the main task xt isperformed. This can be accomplished by inserting a jointlimit avoidance task as a new task with a higher prioritylevel than the other tasks when one of the joints comesclose to its lower or upper joint limits. We set the jointlimit buffer regions considering each joint limit, and a newtask of avoiding the joint limit is created within this bufferregion considering the range of joint motion [27]. In thisbuffer region, we treat the formation and destruction ofjoint limit avoidance task as cases of task insertion andremoval, respectively. Consequently, we need a smoothtask transition during the performance of these tasks.

0

0.2

0.4

0.6

0.8

1

-0.8 0 0.6 0.8

Act

ivat

ion

para

met

er[h

]

Joint angle(rad)-0.6

Activationbu�er

Activationbu�er

Lower limit Upper limit

Figure 2. The activation parameter for a joint limit avoidancetask.

Considering the task of avoiding the joint limit, the torquecommand is computed as

Γ = JTjlΛjl f

ijl + NT

jlΓt (21)

where

f ijl = hjl fjl + (1 − hjl)JjlA

−1JTt Λtft

Γt = JTt Λt|jl ft.

(22)

In these equations, Jjl , Fjl and NTjl are the Jacobian, the

control force for joint limit avoidance, and its null-spaceprojection matrix, respectively, while Γt is the torque forthe main task. For example, if the fourth joint is in thebuffer region of its joint limit, Jjl is defined as follows for a6-DOF manipulator:

Jjl = [0 0 0 1 0 0] (23)

Moreover, to maintain smooth operation while thejoint limit avoidance task is active or inactive, theactivation parameter of the joint limit avoidance taskvaries continuously between 0 and 1 as a function ofthe corresponding joint angle. The activation parameterincreases as the corresponding joint angle approaches thejoint limit. In this experiment, the activation functionin an earlier study [27] is used, as plotted in Figure2. Specifically, the activation function hi is designed asfollows:

hi =

1.0, if qi ≥ qif (qi), if qi < qi < qi0.0, if q

˜i ≤ qi ≤ qig(qi), if q

i< qi < q

˜i1.0, if qi ≤ q

i

(24)

and

f (qi) = 0.5 + 0.5sin(

π

β(qi − qi)−

π

2

)

g(qi) = 0.5 + 0.5sin(

π

β(qi − qi

˜) +

π

2

).

(25)

The ith joint angle, qi, is constrained by the lower limitq

iand the upper limit qi, and β denotes the size of the

activation buffer

qi = qi − β

qi

˜= q

i+ β. (26)

Int. j. adv. robot. syst., 2013, Vol. 10, 346:20134 www.intechopen.com

Page 5: Robot Control near Singularity and Joint Limit Using …dyros.snu.ac.kr/wp-content/uploads/2013/10/InTech-Robot...Robot Control near Singularity and Joint Limit Using a Continuous

On the other hand, the activation parameter for the primaltask is maintained at 1 throughout the execution of the taskbecause it is always fully activated.

The size of the buffer region can be determined dependingon the specific task. If the size is large, the transitionwill be more smoothly conducted. However, the normalworkspace would be smaller and the transition time wouldbe longer. The size is set to approximately 10% of the jointrange, 0.15rad, in this experiment.

Note that the dimension of the Jacobian for the jointlimit depends on how many joints are in the bufferregion. The activation parameters for each joint limit task,which correspond to each row in Jjl , have different valuesbecause the joints are at different points in their bufferregions. For example, if the first and fourth joints arein transition for a 6-DOF robot, we have two joint limitavoidance tasks xjl1 and xjl2 at the same priority level. TheJacobian can be formulated as follows:

Jjl =

(Jjl1Jjl2

)(27)

where

Jjl1 = [1 0 0 0 0 0]

Jjl2 = [0 0 0 1 0 0] .(28)

The transitions among these joint limit avoidance taskscan be regarded as non-prioritized tasks in equation (13).Above all, the joint limit avoidance task xjl needs to havea higher priority than the primal task xt.

5. Singularity Avoidance

In this section, we discuss the implementation ofsingularity avoidance using the intermediate desired valueapproach in the operational space control framework. Theidea is to deactivate the task along the singular directionnear the singularity. The singular value decomposition(SVD) is used on the inverse of the task space inertiamatrix to identify the singular directions and to definethe task associated with it. The activation parameter forcontinuous transition is designed to change based on thesingular value which is lower than a certain threshold.

First, singularity is constantly monitored by the singularvalue decomposition (SVD) of the inverse of the inertiamatrix of the primary task xt.

Λ−1t = JtA−1JT

t = UtΣtUTt (29)

Here, Σt is a diagonal matrix with singular values, and Utis a rotation matrix [30, 32].

When one of the singular values is less than a threshold,the corresponding direction is considered as a singulardirection. Therefore, Ut is decomposed into two parts:Uns for non-singular directions and Us for the singulardirection.

Ut = [Uns Us] (30)

The primary task xt is then decomposed into two tasks asfollows:

xt,ns = UTnsxt and xt,s = UT

s xt (31)

The corresponding Jacobians are defined as

Jt,ns = UTnsJt and Jt,s = UT

s Jt. (32)

Accordingly, task xt,ns and task xt,s are at the same prioritylevel and the control torque is computed as

Γ = JTt Λtf

it (33)

where

Jt =

(Jt,nsJt,s

), f i

t =

(f i

t,nsf i

t,s

)(34)

and

f it,ns = ht,nsft,ns + (1 − ht,ns)Jt,nsA−1JT

t,sht,sΛt,sft,s

f it,s = ht,sft,s + (1 − ht,s)Jt,sA−1JT

t,nsht,nsΛt,nsft,ns.(35)

In the following experiment of controlling the end-effectoras a main task, the orientation task is given a higherpriority level than the position. This is because thesingular values and the corresponding directions havemore intuitive physical meaning when the position andorientation tasks are separately considered [33]. Thus, itis proper to divide the tasks initially into two main parts:the position and the orientation.

Herein, a hierarchical structure, which is similar toa constraint-task structure, is applied and the task ofcontrolling the end-effector is divided into two parts (13).The subscripts o and p indicate the orientation task andthe position task, respectively. When the singular directioncomes up from the position task, the control torque can beformulated as

Γ = JTo Λof

io + NT

o JTp Λp|of

ip (36)

where

Jp =

(Jp,nsJp,s

), f i

p =

(f i

p,nsf i

p,s

)(37)

and

f io = hofo + (1 − ho)JoA−1Γ∗

[/o]

f ip,ns = hp,nsfp,ns + (1 − hp,ns)Jp,nsA−1Γ∗

[/p,ns]

f ip,s = hp,sfp,s + (1 − hp,s)Jp,sA−1Γ∗

[/p,s].

(38)

The activation parameter for task xt,ns is kept at 1 becausewe want to execute the task fully along the non-singulardirection. Thus, task xt,s along the singular direction isactivated or deactivated by the activation parameter whichis designed as a function of the corresponding singularvalue. The activation parameter for the singular valuestarts with 1 at the threshold value and then decreasesas the singular value decreases such that the control ofthe task in that direction will be progressively deactivated.One example of such an activation parameter is plotted inFigure 3, where the threshold is set to 0.02 and decreasesuntil the value reaches 0.01. These values and the shape ofthe function can be designed by considering the physicalintuition of the inertial property of the manipulator.

Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint Limit Using a Continuous Task Transition Algorithm

5www.intechopen.com

Page 6: Robot Control near Singularity and Joint Limit Using …dyros.snu.ac.kr/wp-content/uploads/2013/10/InTech-Robot...Robot Control near Singularity and Joint Limit Using a Continuous

0

0.2

0.4

0.6

0.8

1

0.01 0.012 0.014 0.016 0.018 0.02

Act

ivat

ion

para

met

er[h

]

Singular value[σ]

Threshold region

Figure 3. The activation parameter of the singular direction taskis designed as a function of the singular value by singular valuedecomposition (SVD)

At this point, when we consider both a joint limit and asingularity simultaneously, the joint limit avoidance taskhas a higher priority. Moreover, as already stated, task xtis initially decomposed into the orientation task xo and theposition task xp when singularity avoidance is considered.Hence, the order of task priorities is the joint limit, the taskfor orientation control xo, and then the position controltask xp:

Γ = Γijl + Γi

o + Γip (39)

where

Γijl = JT

jlΛjl fijl

Γio = (JoNjl)

TΛo|jl fio

Γip = (JpNo|jlNjl)

TΛp|o|jl fip

(40)

and

Jp =

(Jp,nsJp,s

), f i

p =

(f i

p,nsf i

p,s

). (41)

The intermediate values are defined as follows:

f ijl = hjl fjl + (1 − hjl)JjlA

−1Γ∗[/jl]

f io = hofo + (1 − ho)JoA−1Γ∗

[/o]

f ip,ns = hp,nsfp,ns + (1 − hp,ns)Jp,nsA−1Γ∗

[/p,ns]

f ip,s = hp,sfp,s + (1 − hp,s)Jp,sA−1Γ∗

[/p,s].

(42)

6. Experimental Results

The proposed approach was implemented on a 6-DOFmanipulator called Roman-MD (Figure 4). The robot iscontrolled using software called RoboticsLab [34]. Theservo rate was set to 500 Hz when reading the encodersand sending the torque commands to the motors. In thefollowing experiments, the control input for the tasks iscomposed by PD control.

f ∗ = kp(xd − x)− kvx, (43)

where xd, x and x are the desired value, the currentstate and the derivative of the current state of thetask. The terms kp and kv are the proportional andderivative feedback gains, respectively. Because each taskbecomes a unit mass system using the nonlinear feedback

Figure 4. Joint configuration of Roman-MD and the Cartesiancoordinates of a robot system.

linearization by the operational space control framework,the gains can be selected based on the task specifications.In this paper, the closed-loop frequency and damping ratiowere chosen as 20.0 rad/sec and 1.0, respectively, to be acritically damped system. The gains kp and kv are then400.0 and 40.0 because it is a unit mass system.

6.1. Joint Limit Avoidance Task

In this experiment, the position of the end-effector iscontrolled to move to the lower-right direction and comeback to the initial position while the orientation of theend-effector is controlled to be the initial orientation, asillustrated in Figure 5. The first joint limit avoidance taskis inserted while the positioning task is performed.

In order to avoid the joint limit, the activation parameter ofthe first joint increases at around three seconds, as the firstjoint enters its joint limit buffer region, as shown in Figure6.

In this experiment, the upper and lower limits for all jointsare set to 0.78rad and −0.78rad, respectively. These chosenvalues are smaller than necessary to show the performanceof the proposed algorithm effectively. Furthermore, thesize of the buffer region is 0.15rad, and the activationparameter in Figure 2 is used.

The experiment demonstrates that the joint limit task isactivated and deactivated without any abrupt change inthe control of the end-effector (Figure 7). The positionof the robot cannot be controlled as desired when theconstraint task of joint limit avoidance is activated.

In the next experiment, we compared the potential fieldapproach and the proposed task transition approach forjoint limit avoidance through the simulation using the6-DOF manipulator. The control input fi using thepotential field approach [19] is,

fi =

η

(1ρ

i− 1

ρi(0)

)1ρ2

i, if ρ

i≤ ρ

i(0)

0.0, if ρi> ρ

i(0)

−η(

1ρi− 1

ρi(0)

)1ρ2

i, if ρi ≤ ρi(0)

0.0, if ρi > ρi(0)

(44)

where

ρi= qi − q

i

ρi = qi − qi.(45)

Int. j. adv. robot. syst., 2013, Vol. 10, 346:20136 www.intechopen.com

Page 7: Robot Control near Singularity and Joint Limit Using …dyros.snu.ac.kr/wp-content/uploads/2013/10/InTech-Robot...Robot Control near Singularity and Joint Limit Using a Continuous

Figure 5. Snapshots from the joint limit avoidance experiment.

0 2 4 6 8 10 12 14

Join

t ang

le(r

ad)

Act

ivat

ion

para

met

er[h

]

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

Join

t vel

ocity

(rad

/s)

0 2 4 6 8 10 12 14

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

Time(s) 0 2 4 6 8 10 12 14

Activationbu�er

q = 0.63 rad

Figure 6. Joint velocity, joint angle and activation parameter ofthe first joint during the joint limit avoidance experiment.

0

0.02

0.04

0.06

0.08

0.1

0 2 4 6 8 10 12 14

X(m

)

desired xactual x

0.27

0.28

0.29

0.3

0.31

0.32

0.33

Y(m

)

desired yactual y

0 2 4 6 8 10 12 14

0.28

0.3

Z(m

)

Time(s)

desired zactual z

0 2 4 6 8 10 12 14

Figure 7. Plots of end-effector position during the joint limitavoidance experiment.

Figure 8. Simulation: execution of the joint limit task usingthe potential field approach and the proposed continuous controlapproach.

0.04 0.06

0.08

0.1

0.12

0.14

0.16

0 2 4 6 8 10 12 14

Y(m

)desired y

actual y

-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.1

Join

t ang

le(r

ad)

0.5

0.52

0.54

0.56

0.58

0.6

0.62

Z(m

)

Time(s)

desired zactual z

0 2 4 6 8 10 12 14

0 2 4 6 8 10 12 14

Figure 9. Fourth joint angle and end-effector position during thejoint limit avoidance simulation using the potential field approach.

Here, ρi(0)

and ρi(0) are the distance limit of the potential

field influence. The ith joint angle is qi, and qi

and qirepresent the lower limit and the upper limit.

In this simulation, the desired position is set out of the jointrange. While the task is performed, the fourth joint reachesits limit buffer region (Figure 8). In the case of the potentialfield approach, the constant gain η was chosen as 0.5, andthe distances ρ

i(0)and ρi(0) are 0.08 and -0.08, respectively.

As shown in Figure 9 and Figure 10, the potential fieldapproach, in comparison with the proposed approach, caneasily cause oscillation and instability unless the gains arecarefully tuned. Although the oscillatory response of thepotential field approach shown in this experiment can beimproved by changing the parameters of η and ρ

i(0)at

the specific configuration, it is not easy to find suitablevalues for all the configurations of the robot [21, 22].The oscillatory and unstable response is shown in thisexperiment to point out the typical problem of using thepotential field approach in the application of joint limitavoidance.

Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint Limit Using a Continuous Task Transition Algorithm

7www.intechopen.com

Page 8: Robot Control near Singularity and Joint Limit Using …dyros.snu.ac.kr/wp-content/uploads/2013/10/InTech-Robot...Robot Control near Singularity and Joint Limit Using a Continuous

Accordingly, this step can only be carried out if thematching procedure was already performed for the firsterror image. Therefore, only areas that were not removedduring the first matching procedure are extended bycorresponding areas of the subsequent error images.Otherwise, the noise (falsely detected areas) would causean enlargement of incorrectly detected areas. The red shortdashed rectangles in Figure 8 mark 2 examples of suchcorresponding areas. Resulting areas that are too largeare removed from the error images In and In+1. This isindicated by the areas in the right lower corner of errorimage In in Figure 8. As can be seen, the resulting errorimage In from Figure 8 is used as input (error image In) inFigure 7. Without the extension of the areas, the midmostcandidate in Figure 7 would have been rejected.

As some real moving objects are sometimes not detectedin an error image as a result of an inaccurate optical flowcalculation or (radial) distortion, the temporal matchingwould fail. This could already be the case if only onearea in one error image is missing. Thus, candidates thatwere detected once in 3 temporal succeeding error imagesand 4 greyscale images (original images), respectively, arestored for a sequence of 3 error images subsequent to theimage where the matching was successful, cf. Figure 9(a).Their coordinates are updated for the succeeding errorimages by using the optical flow data. As a consequence,they can be seen as candidates for moving objects inthe succeeding images, but they are not used within thematching procedure as input. If within this sequenceof images a corresponding area is found again, it is

stored for a larger sequence of images (more than 3) andits coordinates are updated for every succeeding errorimage. The number of sequences depends on the followingcondition:

ξ =

{c+cc−c | c �= c2c | c = c,

(13)

where c is the number of found corresponding areas andc is the number of missing corresponding areas for onecandidate starting with the image where the candidatewas found again. If ξ < 0 ∨ ξ > 10, the candidate isrejected. Moreover, the candidate is no longer stored if itwas detected again in 3 temporal succeeding images. Inthis case, it is detected during the matching procedure.An example concerning to this procedure is shown inFigure 9(b). As one can imagine, error image In inFigure 9(a) is equivalent (except area-extension) to In+1in Figure 7, whereas error image In in Figure 9(b) isequivalent to In+2 in Figure 9(a).

For a further processing of the data, only the position(shown as small black crosses in the left lower corners ofthe rectangles in Figures 7 and 9) and size of the rectanglesmarking the candidates are of relevance. Thus, for everyerror image the afore mentioned information is storedfor candidates that were detected during the matchingprocedure, for candidates that were detected up to 3 errorimages before and for candidates that were found again(see above). On the basis of this data, candidates that arevery close to each other are combined and candidates thatare too large are rejected.

(a)

(b)

Figure 9. Preventing rejection of candidates for moving objects that were detected only in a few sequences. (a) Storage of candidatesfor which a further matching fails. These candidates are marked by a blue dotdashed rectangle. The green dashed rectangle marks acandidate for which a corresponding area was found again and the red short-dashed rectangle marks a candidate with successful matching.(b) Storage of candidates for which a corresponding area was found again. The 2 areas drawn with transparency in error image In indicatethe position of the candidates, but they are not part of the error image.

-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.1

Join

t ang

le(r

ad)

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0 2 4 6 8 10 12 14

Y(m

)

desired yactual y

0.5

0.52

0.54

0.56

0.58

0.6

0.62

0 2 4 6 8 10 12 14

Z(m

)

Time(s)

desired zactual z

0 2 4 6 8 10 12 14

Figure 10. Fourth joint angle and end-effector position duringthe joint limit avoidance simulation using the intermediate desiredvalue approach.

6.2. Handling Singularity

The experiment of controlling the robot near singularity ispresented in this section. As noted in Section 5, the robotcan deal with singularities by deactivating the task alongthe singular direction.

In this experiment, the end-effector is commanded to movefrom the upper-right to the lower-left position and comeback to the initial position (Figure 11). The position ofthe end-effector cannot reach the desired position exactlybecause the deactivated direction is not fully controlled.

The activation parameter of the task is designed asa function of the singular value by singular valuedecomposition (SVD), and the buffer of the singular valuesis identical to that plotted in Figure 3.

Figure 12 and Figure 13 show the data plots from thisexperiment. The activation parameter for the singulardirection starts to decrease at σ = 0.02 (around 4 seconds)and the positioning task becomes smoothly deactivatedalong the singular direction. Because the singular directionis on the y-z plane, the position in the z-direction does notfollow the desired position trajectory when the positiontask in the singular direction is in transition region.

Figure 11. Experiment of the singularity avoidance.

0

0.2

0.4

0.6

0.8

1

Act

ivat

ion

para

met

er[h

]

0.004

0.008

0.012

0.016

0.02

0.024

0 2 4 6 8 10 12 14Time(s)

0 2 4 6 8 10 12 14

Sing

ular

val

ue[σ

]

Threshold region

σ = 0.02

σ < 0.02

σ = 0.02

Figure 12. Activation parameter and singular value during theexperiment of handling singularity.

0.16

0.20

0.24

0.28

0.32

0 2 4 6 8 10 12 14

Y(m

)

desired yactual y

0.18

0.20

0.22

0.24

0.26

0.28

0 2 4 6 8 10 12 14

Z(m

)

Time(s)

desired zactual z

Figure 13. Plots of position y and position z during the experimentof handling singularity.

6.3. Joint Limit and Singularity Avoidance

In this section, related to Section 5, the case isdemonstrated in which both the joint limit and singularityare handled when controlling the end-effector of the robotas a primary task. As shown in Figure 14, the position ofthe end-effector is commanded to move toward the desiredposition and come back to the initial position.

As shown in Figure 15, when the singular value entersthe buffer region at approximately three seconds, theactivation parameter for the singular direction decreasesaccording to the activation function of the singular valueas designed. Approximately 1 second later, the task ofavoiding the fourth joint limit is added to the commanding

Figure 14. Joint limit and singularity avoidance experiment.

Int. j. adv. robot. syst., 2013, Vol. 10, 346:20138 www.intechopen.com

Page 9: Robot Control near Singularity and Joint Limit Using …dyros.snu.ac.kr/wp-content/uploads/2013/10/InTech-Robot...Robot Control near Singularity and Joint Limit Using a Continuous

0.009

0.012

0.015

0.018

0.021

0.024

0 2 4 6 8 10 12 14

Sing

ular

val

ue[σ

]

0

0.2

0.4

0.6

0.8

1

Act

ivat

ion

para

met

er[h

]

Time(s) 0 2 4 6 8 10 12 14

Thresholdregion

σ = 0.02 σ = 0.02

σ < 0.02

σ > 0.02 σ > 0.02

Figure 15. Singular value and activation parameter ofthe singular direction when the robot is controlled near bothsingularity and joint limit.

-0.6-0.4-0.2

0 0.2 0.4 0.6 0.8

0 2 4 6 8 10 12 14

Join

t ang

le(r

ad)

0

0.2

0.4

0.6

0.8

1

Act

ivat

ion

para

met

er[h

]

Time(s)

0 2 4 6 8 10 12 14

Activationbu�er

q = 0.63 rad

Figure 16. Joint angle and activation parameter of the secondjoint when the robot is controlled near both singularity and jointlimit.

0.33

0.36

0.39

0.42

0.45

0.48

0 2 4 6 8 10 12 14

Y(m

)

desired yactual y

0.3 0.33 0.36 0.39 0.42 0.45 0.48

0 2 4 6 8 10 12 14

Z(m

)

Time(s)

desired zactual z

Figure 17. Position of the end-effector when the robot iscontrolled near both singularity and joint limit.

task, as shown in Figure 16. The position of theend-effector during the experiment is plotted in Figure 17.It should be noted that the position of the end-effectordid not follow the desired trajectory completely near

singularity and joint limit. The proposed algorithmexecuted the primary task of controlling the end-effectorwithout abrupt change in motion near the singularitywhile avoiding the joint limit.

7. Conclusion

In this paper, we propose a control strategy for dealingwith singularities and joint limits using the intermediatedesired value approach in the operational space controlframework. The intermediate desired value approachin the operational space control framework enables aneffective and stable transition when tasks are insertedand removed. Controlling the robot near singularity isimplemented by deactivating the task along the singulardirection. In addition, the transition algorithm iseffectively applied to both the insertion and the removalof the joint limit task with a hierarchical control structure.The experimental results demonstrate that the robot issuccessfully controlled when it approaches its joint limitsand a singular region using the proposed approach. Theproposed approach in this paper demonstrated the robotoperation with only motion tasks. Our future work isdirected toward generalizing this control approach to dealwith tasks involving both motion and contact so that it canbe used in robot-environment interaction.

8. Acknowledgement

This work was sponsored by the Basic Science ResearchProgram (no.2010-0005799) and by the Global FrontierR&D Program on <Human-centered Interaction forCoexistence> funded by the National ResearchFoundation of Korea grant funded by the KoreanGovernment(MSIP) (no.2011-0032014).

9. References

[1] B. J. Nelson and P. K. Khosla. Strategies for increasingthe tracking region of an eye-in-hand system bysingularity and joint limit avoidance. The Int. Journalof Robotics Research, 14:255–269, 1995.

[2] A. A. Maciejewski and C. A. Klein. Numericalfiltering for the operation of robotic manipulatorsthrough kinematically singular configurations.Journal of Robotic Systems, 5:527–552, 1988.

[3] C. W. Wampler. Manipulator inverse kinematicsolutions based on vector formulations and dampedleast-squares methods. IEEE Trans. on Systems, Manand Cybernetics, 16:93–101, 1986.

[4] Y. Nakamura and H. Hanafusa. Inverse kinematicsolutions with singularity robustness for robotmanipulator control. ASME Trans. Journal of DynamicSystems, Measurement, and Control, 108:163–171, 1986.

[5] C. C. Cheah. Task-space pd control of robotmanipulators: Unified analysis and duality property.International Journal of Robotics Research, 27:1152–1170,2008.

[6] L. Sciavicco and B. Siciliano. A solution algorithmto the inverse kinematic problem for redundantmanipulators. IEEE Journal of Robotics and Automation,4:403–410, 1988.

Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint Limit Using a Continuous Task Transition Algorithm

9www.intechopen.com

Page 10: Robot Control near Singularity and Joint Limit Using …dyros.snu.ac.kr/wp-content/uploads/2013/10/InTech-Robot...Robot Control near Singularity and Joint Limit Using a Continuous

[7] S. Chiaverini. Singularity-robust task-priorityredundancy resolution for real-time kinematic controlof robot manipulators. IEEE Trans. on Robotics,13:398–410, June 1997.

[8] P. Baerlocher and R. Boulic. Task-priorityformulations for the kinematic control of highlyredundant articulated structures. In IEEE Int. Conf.on Intelligent Robots and Systems (IROS’98), pages323–329, Victoria, B.C., Canada, October 1998.

[9] P. Chiacchio, S. Chiaverini, L. Sciavicco, andB. Siciliano. Closed-loop inverse kinematics schemesfor constrained redundant manipulators with taskspace augmentation and task priority strategy. TheInt. Journal of Robotics Research, 10:410–425, 1991.

[10] M. Hayakawa, K. Hara, D. Sato, A. Konno,and M. Uchiyama. Singularity avoidance byinputting angular velocity to a redundant axis duringcooperative control of a teleoperated dual-arm robot.In IEEE Int. Conf. on Robotics and Automation, pages2013–2018, Pasadena, CA, USA, May 2008.

[11] C. C. Cheah and X. Li. Singularity-robust task-spacetracking control of robot. In IEEE Int. Conf. onRobotics and Automation (ICRA’11), pages 5819–5824,Shanghai, China, May 2011.

[12] Kyong-Sok Chang and Oussama Khatib.Manipulator control at kinematic singularities:A dynamically consistent strategy. In IEEE Int. Conf.on Intelligent Robots and Systems, volume 3, pages84–88, 1995.

[13] D. Oetomo, M. Ang, and S Lim. Singularity handlingon puma in operational space formulation. InExperimental Robotics VII, pages 491–500, 2001.

[14] T. Chang and R. Dubey. A weighted least-normsolution based scheme for avoiding joints limits forredundant manipulators. IEEE Trans. Robot. Automat.,11:286–292, 1995.

[15] B. Dariush, M. Gienger, B. Jian, C. h. Goerick, andK. Fujimura. Whole body humanoid control fromhuman motion descriptors. In IEEE Int. Conf. onRobotics and Automation, pages 2677–2684, Pasadena,CA, USA, May 2008.

[16] H. Zghal, R. V. Dubey, and J. A. Euler. Efficientgradient projection optimization for manipulatorswith multiple degrees of redundancy. In IEEE Int.Conf. on Robotics and Automation, pages 1006–1011,1990.

[17] Y. Zhang, J. Wang, and Y. Xia. A dual neuralnetwork for redundancy resolution of kinematicallyredundant manipulators subject to joint limits andjoint velocity limits. IEEE Trans. on Neural Networks,14:658–667, 2003.

[18] Y. Zhang, S. S. Ge, and T. H. Lee. A unifiedquadratic-programming-based dynamical systemapproach to joint torque optimization of physicallyconstrained redundant manipulators. IEEE Trans. onSystems, Man, and Cybernetics, 34:2126–2132, 2004.

[19] O. Khatib. Real-time obstacle avoidance formanipulators and mobile robot. The Int. Journal ofRobotics Research, 5:90–98, 1986.

[20] Y. Wang and G. S. Chirikjian. A new potentialfield method for robot path planning. In IEEE

Trans. on Robotics and Automation, pages 977–982, SanFrancisco, CA, USA, 2000.

[21] I. Iossifidis and G. Schoner. Dynamical systemsapproach for the autonomous avoidance of obstaclesand joint-limits for an redundant robot arm. InIEEE/RSJ Int. Conf. on Intelligent Robots and Systems,pages 580–585, 2006.

[22] J. Ren, K. A. McIsaac, and R. V. Patel. Modifiednewton’s method applied to potential field-basednavigation for mobile robots. IEEE Trans. on Robotics,22:384–391, 2006.

[23] F. Chaumette and E. Marchand. A redundancy-basediterative approach for avoiding joint limits:Application to visual servoing. IEEE Trans. Robot.Automat., 17:719–730, 2001.

[24] D. Raunhardt and R. Boulic. Progressive clamping.In IEEE Int. Conf. on Robotics and Automation, pages4414–4419, Roma, Italy, April 2007.

[25] N. Mansard and O. Khatib. A unified approach tointegrate unilateral constraints in the stack of tasks.IEEE Trans. on Robotics, 25:670–685, 2009.

[26] A. Dietrich, T. Wimbock, A. Albu-Schaffer, andG. Hirzinger. Integration of reactive, torque-basedself-collision avoidance into a task hierarchy. IEEETrans. on Neural Networks, 28:1278–1293, 2012.

[27] J. Lee, N. Mansard, and J. Park. Intermediatedesired value approach for task transition of robotsin kinematic control. IEEE Trans. on Robotics,28:1260–1277, 2012.

[28] H. Han, J. Lee, and J. Park. A continuous tasktransition algorithm for operational space controlframework. In Int. Conf. on Ubiquitous Robots andAmbient Intelligence, pages 148–152, November 2012.

[29] A. Dietrich, A. Albu-Schaffer, and G. Hirzinger. Oncontinuous null space projections for torque-based,hierarchical, multi-objective manipulation. In IEEEInt. Conf. on Robotics and Automation, pages 2978–2985,RiverCentre, Saint Paul, Minnesota, USA, May 2012.

[30] O. Khatib, L. Sentis, J. Park, and J. Warren.Whole-body dynamic behavior and control ofhuman-like robots. International Journal of HumanoidRobotics, 1:29–43, 2004.

[31] O. Khatib. A unified approach for motion and forcecontrol of robot manipulators : The operational spaceformulation. The Int. Journal of Robotics Research,3(1):43–53, 1987.

[32] G. Strang. Linear Algebra and Its Applications, FourthEdition. Thomson Brooks/Cole, 10 Davis Drive,Belmont, CA 94002-3098, USA, 2006.

[33] D. Oetomo and M. Ang. Singularity robustalgorithm in serial manipulators. In Robotics andComputer-Integrated Manufacturing, volume 25, pages122–134, November 2009.

[34] SimLab. Roboticslab, http://www.rlab.co.kr/.

Int. j. adv. robot. syst., 2013, Vol. 10, 346:201310 www.intechopen.com