You are on page 1of 10

Robot Control near Singularity and

Joint Limit Using a Continuous Task


Transition Algorithm
Hyejin Han
1
and Jaeheung Park
1, 2,
1
Graduate School of Convergence Science and Technology, Seoul National University, Republic of Korea
2
Advanced Institutes for Convergence Technology, Republic of Korea

park73@snu.ac.kr
Abstract When robots are controlled in the task space,
singularities and joint limits are among the most critical
and difcult 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. Specically, 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 dened 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
Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint
Limit Using a Continuous Task Transition Algorithm
1
www.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 Korea
2 Advanced Institutes for Convergence Technology, Republic of Korea
* Corresponding author E-mail: park73@snu.ac.kr
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
resolve the singularity problem [24]. It provided an
approximate solution when the robot was close to a
singular position. Later, the transpose of the Jacobian was
used instead of the inverse, which also approximates the
solution [5, 6]. In addition, a redundancy-control method
based on a task-priority strategy was proposed as a means
of kinematic control [79]. This approach allows robots to
move near or even pass through singular congurations.
Moreover, a method is proposed to control the robot to
stop and switch its controller when it is detected that
the robot is near a singular region in a kinematic control
scheme [10, 11]. On the other hand, there have been few
studies on this issue in the framework of operational space
control. Some of the solutions were specically designed
for the singularity types on PUMA560 robots [12, 13].
Meanwhile, to overcome the problem of joint limits, a
method was proposed based on a weighted least norm
solution for a redundant robot in the kinematic control [14,
15]. The weighted least norm solution was also compared
with the gradient projection approach [16], showing that
the weighted least norm method can avoid unnecessary
self-motion and oscillation when the correct magnitude of
self-motion is used. In line with redundancy resolution
algorithm, quadratic programming (QP) methods have
been proposed in the kinematic control [17] and the
QP-based dynamical system approach has been developed
[18].
For the operational space control framework, a typical
solution is to use the classical potential eld approach [19].
However, it is often difcult to select appropriate gains
because the selection depends on the conguration and the
controller of the existing tasks. Moreover, it was pointed
out that the potential eld methods have some problems
such as local minimum and oscillations [2022].
A solution for dealing with unilateral constraints,
including both singularity and joint limit, was proposed
for the kinematic control [23, 24], which modies the
null-space projection matrices for continuous control law
during the transition among multiple tasks. This approach
was further developed to be applied in the operational
space control framework [25]. Similarly, a method
using continuous null space projections was proposed for
torque-controlled robots [26]. Both of the methods are
based on the modication of the null space projection
matrix and limited in the use of multiple hierarchical
structures.
Recently, a task transition approach called the intermediate
desired approach was proposed to deal with task
transition among multiple tasks in kinematic control [27]
and was further developed to be used in the operational
space control framework [28]. This approach is different
from the previously mentioned approaches [25, 29] in that
the desired values are modied while the control structure
remains the same. Additionally, multiple constraints
and tasks can be performed with multiple levels of
priorities, which is important when dealing with joint limit
avoidance, singularities and tasks in different priorities.
In this paper, the problems of singularity and joint limit
avoidance are resolved by this intermediate desired value
approach in the operational space control framework.
The main contribution of this paper compared to our
previous works is that the present study provides
complete details pertaining to issues relating to singularity
and joint limit tasks during the implementation of the
intermediate desired value approach in the operational
space while also demonstrating its feasibility via its
performance on a physical robot.
The main idea of using the intermediate desired value
approach when dealing with singularities and joint
limits is rst to dene the tasks corresponding to the
singularities and joint limits, and then to insert or
remove these tasks while the main task of the robot
is executed. The intermediate desired value approach
provides a smooth transition among multiple tasks with
or without a hierarchy. Specically, constraint tasks, such
as joint-limit-avoidance tasks, are provided with high
priority over the primary task in order to conduct tasks
accurately and to maintain uninterrupted transitions with
a continuous task transition algorithm.
This approach is implemented both in simulation and on
a physical robot which is a 6-DOF manipulator called
Roman-MD. In the experiments of joint limit avoidance,
the proposed approach is compared with the potential
eld approach [19]. Then, the operation of the robot is
demonstrated approaching near singularity and coming
back to the initial position. Finally, the control of the robot
is performed in the conguration near both joint limit and
singularity.
The paper is organized as follows. First, the task transition
algorithm in the operational space control framework
is summarized in Section 2. Second, stability during
transitions is discussed in Section 3. Singularity and
joint limit avoidance using the task transition algorithm
are presented in Section 4 and 5, respectively. The
experimental results are plotted and discussed in Section
6. The paper is concluded in Section 7.
2. Continuous Task Transition Approach
We approach the problems of handling singularities and
joint limits by applying a continuous transition algorithm
[27]. In the following sub-sections, we rst recall a
hierarchical control structure in the operational space
control framework and then introduce a continuous task
transition approach.
2.1. Hierarchical Control Structure
When a robot is controlled in the operational space control
framework, the task space dynamics is described as
follows: [30]

t
x
t
+
t
+p
t
= F
t
, (1)
and

t
= (J
t
A
1
J
T
t
)
1

t
=
t
(J
t
A
1
b

J
t
q)
p
t
=
t
J
t
A
1
g.
(2)
Here, q, A, b and g are the vectors of the joint angles, the
joint space mass/inertia matrix, the Coriolis/centrifugal
Int. j. adv. robot. syst., 2013, Vol. 10, 346:2013 2
www.intechopen.com
torque, and the gravity torque, respectively. The terms
J
t
,
t
,
t
, p
t
and F
t
are the Jacobians corresponding to
the task x
t
, the task space inertia matrix, the vector of
Coriolis/centrifugal forces, the vector of gravity forces,
and the control force for this task. The control torque for
control of the task can then be composed using the task
dynamics [30].

t
= J
T
t
F
t
= J
T
t
{
t
f

t
+
t
+p
t
}
= J
T
t

t
{f

t
+
t
+
t
} = J
T
t

t

f
t
,
(3)
and

t
=
1
t

t
,
t
=
1
t
p
t
. (4)
In these equations, f

t
is the control input for the unit mass
system for the task x
t
.
At this point, when the robot has a constraint task, such as
a joint limit avoidance task, we consider the constraint task
as x
c
and the primary task as x
t
in a hierarchical structure.
In other words, the command torque for the primary task
is controlled in the null space of the constraint task as
follows [30],
=
constraint
+
task
= J
T
c
F
c
+ N
T
c

t
= J
T
c
F
c
+ N
T
c
(J
T
t
F
t
)
(5)
N
T
c
= I J
T
c

J
T
c

J
T
c
= A
1
J
T
c

c
(6)
where J
c
and J
t
are the Jacobians corresponding to the
constraint and primary tasks, respectively. The matrix

J
c
is the dynamically consistent inverse of the Jacobian J
c
.
The terms F
c
and F
t
are the control forces corresponding
to x
c
and x
t
, respectively. The term N
T
c
is the null space
projection matrix of the constraint task. The dynamics in
the constraint and task space can then be derived [30]:

c
x
c
+
c
+p
c
= F
c
(7)

t|c
x
t
+
t|c
+p
t|c
= F
t
(8)
where

t|c
= (J
t
N
c
A
1
N
T
c
J
T
t
)
1

t|c
=
t|c
(J
t
A
1
b

J
t
q)
p
t|c
=
t|c
J
t
A
1
g.
(9)
Using the equations of motion in the constraint and task
spaces, the control forces F
c
and F
t
can be formulated as
follows:
F
c
=
c
f

c
+
c
+p
c
=
c

f
c
(10)
F
t
=
t|c
f

t
+
t|c
+p
t|c
=
t|c

f
t
. (11)
If the two equations are combined, the control torque for
the hierarchical task set is
= J
T
c

c

f
c
+ N
T
c
J
T
t

t|c

f
t
. (12)
When a constraint with a high priority is added or
removed, the torque command switches between (3) and
(12). The task transition approach is introduced in the next
section to resolve the issue of a discontinuity in such cases.
2.2. Task Transition Approach for both Prioritized Tasks and
Non-prioritized Tasks
The continuous task transition algorithm known as
the intermediate desired value approach is applied for
a smooth transition when new tasks are inserted or
removed. A joint limit avoidance task, for example, can be
created with a high priority level while a primary existing
task is executed. Therefore, we can revise equation (12) by
applying the intermediate desired value approach.
In addition, for dealing with singularity, some parts of
an existing task can be selected for removal, in which
case the task removal or insertion transition is at the same
hierarchical level as the existing task. Moreover, we need
an algorithm to deal with operations that avoid both joint
limits and singularities simultaneously.
For one typical example, we consider the execution of one
constraint task with two tasks with equal priorities: x
c
,
x
t1
and x
t2
. By applying the intermediate desired value
approach, the term

f
c
is modied to

f
i
c
as follows:
= J
T
c

c

f
i
c
+ N
T
c
J
T
t

t|c

f
i
t
(13)
where
J
t
=

J
t1
J
t2

,

f
i
t
=


f
i
t1

f
i
t2

(14)
and
N
T
c
= I J
T
c

J
T
c

1
t|c
= J
t
N
c
A
1
N
T
c
J
T
t
.
(15)
The intermediate values are dened by

f
i
c
= h
c

f
c
+ (1 h
c
)J
c
A
1

[/c]

f
i
t1
= h
t1

f
t1
+ (1 h
t1
)J
t1
A
1

[/t1]

f
i
t2
= h
t2

f
t2
+ (1 h
t2
)J
t2
A
1

[/t2]
.
(16)
These equations provide a continuous transition among
prioritized tasks when the task x
c
is inserted at a higher
priority. The activation parameters h
c
, h
t1
and h
t2
change
from 0 to 1 continuously for a smooth transition when the
task is inserted, whereas they change to 0 when the task
is removed. The term

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

[/c]
= J
T
t

t

f
i
t
(17)
where

f
i
t1
= h
t1

f
t1
+ (1 h
t1
)J
t1
A
1
J
T
t2
h
t2

t2

f
t2

f
i
t2
= h
t2

f
t2
+ (1 h
t2
)J
t2
A
1
J
T
t1
h
t1

t1

f
t1
.
(18)
In the equations above, in order to compute

[/c]
, we need
to consider task x
t1
and x
t2
, which have the same priority
level. 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]
= J
T
c

c

f
i
c
+ N
T
c
J
T
t2

t2|c

f
i
t2
(19)
where

f
i
c
= h
c

f
c
+ (1 h
c
)J
c
A
1
J
T
t2
h
t2

t2

f
t2

f
i
t2
= h
t2

f
t2
+ (1 h
t2
)J
t2
A
1
J
T
c
h
c

c

f
c
.
(20)
Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint
Limit Using a Continuous Task Transition Algorithm
3
www.intechopen.com
3. Stability During Transition
The proposed approach uses the operational space control
framework with a hierarchical structure having priorities.
The control structure is not modied in this approach, so
the controlled system is stable if not in transition. The
modelling uncertainties may affect the performance of the
system, but these are mostly overcome by the feedback
on the unit-mass system in the operational space control
framework.
Now, the stability during transition is discussed in this
section. The intermediate desired value approach is
applied to the control inputs

f
c
and

f
t
in (12), which
correspond to constraint and task. During transition, the
intermediate desired values of the control inputs,

f
i
c
and

f
i
t
, are computed using (16). Each intermediate desired
value of the control input in (16) is composed of two parts:
the control input of the constraint or task itself and the
effect from the control of other constraints or tasks. They
are scaled down by h
c
or h
t
, and (1 h
c
) or (1 h
t
),
respectively. As the activation parameter decreases, the
control of the constraint or task itself diminishes. That
is, the DOF of the system used for the control of the
corresponding constraint or task is gradually used by the
other constraints or tasks.
Considering this constitution of the sub-systems, their
stability depend on each controller with the control input
of the constraint or task itself. In this paper, a PD control
is designed for each sub-system, which behaves as a
unit mass system by using the operational space control
framework if not in transition [31]. The proportional and
derivative gains can be chosen to have critically damped
responses for each unit mass system. Then, when the task
is in transition, the effect of using the activation parameters
is to decrease the proportional and derivative gains with
the same ratio. Therefore, the response of each system in
transition becomes over-damped with a lower bandwidth.
Since the system becomes over-damped, the system is still
stable with the comprised bandwidth of the task.
4. Joint Limit Avoidance
As stated in the Introduction section, there has been much
research on implementing stable operation near joint limits
or on avoiding joint limits. The task transition approach
can also be very effective in the application of a joint
limit avoidance scheme in the operational space control
framework.
We need to manage the robot so that it moves within
the range of joint movement while the main task x
t
is
performed. This can be accomplished by inserting a joint
limit avoidance task as a new task with a higher priority
level than the other tasks when one of the joints comes
close to its lower or upper joint limits. We set the joint
limit buffer regions considering each joint limit, and a new
task of avoiding the joint limit is created within this buffer
region considering the range of joint motion [27]. In this
buffer region, we treat the formation and destruction of
joint limit avoidance task as cases of task insertion and
removal, respectively. Consequently, we need a smooth
task transition during the performance of these tasks.
0
0.2
0.4
0.6
0.8
1
-0.8 0 0.6 0.8
A
c
t
i
v
a
t
i
o
n

p
a
r
a
m
e
t
e
r
[
h
]
Joint angle(rad)
-0.6
Activation
bufer
Activation
bufer
Lower limit Upper limit
Figure 2. The activation parameter for a joint limit avoidance
task.
Considering the task of avoiding the joint limit, the torque
command is computed as
= J
T
jl

jl

f
i
jl
+N
T
jl

t
(21)
where

f
i
jl
= h
jl

f
jl
+ (1 h
jl
)J
jl
A
1
J
T
t

t

f
t

t
= J
T
t

t|jl

f
t
.
(22)
In these equations, J
jl
, F
jl
and N
T
jl
are the Jacobian, the
control force for joint limit avoidance, and its null-space
projection matrix, respectively, while
t
is the torque for
the main task. For example, if the fourth joint is in the
buffer region of its joint limit, J
jl
is dened as follows for a
6-DOF manipulator:
J
jl
= [0 0 0 1 0 0] (23)
Moreover, to maintain smooth operation while the
joint limit avoidance task is active or inactive, the
activation parameter of the joint limit avoidance task
varies continuously between 0 and 1 as a function of
the corresponding joint angle. The activation parameter
increases as the corresponding joint angle approaches the
joint limit. In this experiment, the activation function
in an earlier study [27] is used, as plotted in Figure
2. Specically, the activation function h
i
is designed as
follows:
h
i
=

1.0, if q
i
q
i
f (q
i
), if q
i
< q
i
< q
i
0.0, if q

i
q
i
q
i
g(q
i
), if q
i
< q
i
< q

i
1.0, if q
i
q
i
(24)
and
f (q
i
) = 0.5 + 0.5sin

(q
i
q
i
)

2

g(q
i
) = 0.5 + 0.5sin

(q
i
q
i

) +

2

.
(25)
The ith joint angle, q
i
, is constrained by the lower limit
q
i
and the upper limit q
i
, and denotes the size of the
activation buffer
q
i
= q
i

q
i

= q
i
+ .
(26)
Int. j. adv. robot. syst., 2013, Vol. 10, 346:2013 4
www.intechopen.com
On the other hand, the activation parameter for the primal
task is maintained at 1 throughout the execution of the task
because it is always fully activated.
The size of the buffer region can be determined depending
on the specic task. If the size is large, the transition
will be more smoothly conducted. However, the normal
workspace would be smaller and the transition time would
be longer. The size is set to approximately 10% of the joint
range, 0.15rad, in this experiment.
Note that the dimension of the Jacobian for the joint
limit depends on how many joints are in the buffer
region. The activation parameters for each joint limit task,
which correspond to each row in J
jl
, have different values
because the joints are at different points in their buffer
regions. For example, if the rst and fourth joints are
in transition for a 6-DOF robot, we have two joint limit
avoidance tasks x
jl1
and x
jl2
at the same priority level. The
Jacobian can be formulated as follows:
J
jl
=

J
jl1
J
jl2

(27)
where
J
jl1
= [1 0 0 0 0 0]
J
jl2
= [0 0 0 1 0 0] .
(28)
The transitions among these joint limit avoidance tasks
can be regarded as non-prioritized tasks in equation (13).
Above all, the joint limit avoidance task x
jl
needs to have
a higher priority than the primal task x
t
.
5. Singularity Avoidance
In this section, we discuss the implementation of
singularity avoidance using the intermediate desired value
approach in the operational space control framework. The
idea is to deactivate the task along the singular direction
near the singularity. The singular value decomposition
(SVD) is used on the inverse of the task space inertia
matrix to identify the singular directions and to dene
the task associated with it. The activation parameter for
continuous transition is designed to change based on the
singular value which is lower than a certain threshold.
First, singularity is constantly monitored by the singular
value decomposition (SVD) of the inverse of the inertia
matrix of the primary task x
t
.

1
t
= J
t
A
1
J
T
t
= U
t

t
U
T
t
(29)
Here,
t
is a diagonal matrix with singular values, and U
t
is a rotation matrix [30, 32].
When one of the singular values is less than a threshold,
the corresponding direction is considered as a singular
direction. Therefore, U
t
is decomposed into two parts:
U
ns
for non-singular directions and U
s
for the singular
direction.
U
t
= [U
ns
U
s
] (30)
The primary task x
t
is then decomposed into two tasks as
follows:
x
t,ns
= U
T
ns
x
t
and x
t,s
= U
T
s
x
t
(31)
The corresponding Jacobians are dened as
J
t,ns
= U
T
ns
J
t
and J
t,s
= U
T
s
J
t
. (32)
Accordingly, task x
t,ns
and task x
t,s
are at the same priority
level and the control torque is computed as
= J
T
t

t

f
i
t
(33)
where
J
t
=

J
t,ns
J
t,s

,

f
i
t
=


f
i
t,ns

f
i
t,s

(34)
and

f
i
t,ns
= h
t,ns

f
t,ns
+ (1 h
t,ns
)J
t,ns
A
1
J
T
t,s
h
t,s

t,s

f
t,s

f
i
t,s
= h
t,s

f
t,s
+ (1 h
t,s
)J
t,s
A
1
J
T
t,ns
h
t,ns

t,ns

f
t,ns
.
(35)
In the following experiment of controlling the end-effector
as a main task, the orientation task is given a higher
priority level than the position. This is because the
singular values and the corresponding directions have
more intuitive physical meaning when the position and
orientation tasks are separately considered [33]. Thus, it
is proper to divide the tasks initially into two main parts:
the position and the orientation.
Herein, a hierarchical structure, which is similar to
a constraint-task structure, is applied and the task of
controlling the end-effector is divided into two parts (13).
The subscripts o and p indicate the orientation task and
the position task, respectively. When the singular direction
comes up from the position task, the control torque can be
formulated as
= J
T
o

o

f
i
o
+N
T
o
J
T
p

p|o

f
i
p
(36)
where
J
p
=

J
p,ns
J
p,s

,

f
i
p
=


f
i
p,ns

f
i
p,s

(37)
and

f
i
o
= h
o

f
o
+ (1 h
o
)J
o
A
1

[/o]

f
i
p,ns
= h
p,ns

f
p,ns
+ (1 h
p,ns
)J
p,ns
A
1

[/p,ns]

f
i
p,s
= h
p,s

f
p,s
+ (1 h
p,s
)J
p,s
A
1

[/p,s]
.
(38)
The activation parameter for task x
t,ns
is kept at 1 because
we want to execute the task fully along the non-singular
direction. Thus, task x
t,s
along the singular direction is
activated or deactivated by the activation parameter which
is designed as a function of the corresponding singular
value. The activation parameter for the singular value
starts with 1 at the threshold value and then decreases
as the singular value decreases such that the control of
the task in that direction will be progressively deactivated.
One example of such an activation parameter is plotted in
Figure 3, where the threshold is set to 0.02 and decreases
until the value reaches 0.01. These values and the shape of
the function can be designed by considering the physical
intuition 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
5
www.intechopen.com
0
0.2
0.4
0.6
0.8
1
0.01 0.012 0.014 0.016 0.018 0.02
A
c
t
i
v
a
t
i
o
n

p
a
r
a
m
e
t
e
r
[
h
]
Singular value[]
Threshold region
Figure 3. The activation parameter of the singular direction task
is designed as a function of the singular value by singular value
decomposition (SVD)
At this point, when we consider both a joint limit and a
singularity simultaneously, the joint limit avoidance task
has a higher priority. Moreover, as already stated, task x
t
is initially decomposed into the orientation task x
o
and the
position task x
p
when singularity avoidance is considered.
Hence, the order of task priorities is the joint limit, the task
for orientation control x
o
, and then the position control
task x
p
:
=
i
jl
+
i
o
+
i
p
(39)
where

i
jl
= J
T
jl

jl

f
i
jl

i
o
= (J
o
N
jl
)
T

o|jl

f
i
o

i
p
= (J
p
N
o|jl
N
jl
)
T

p|o|jl

f
i
p
(40)
and
J
p
=

J
p,ns
J
p,s

,

f
i
p
=


f
i
p,ns

f
i
p,s

. (41)
The intermediate values are dened as follows:

f
i
jl
= h
jl

f
jl
+ (1 h
jl
)J
jl
A
1

[/jl]

f
i
o
= h
o

f
o
+ (1 h
o
)J
o
A
1

[/o]

f
i
p,ns
= h
p,ns

f
p,ns
+ (1 h
p,ns
)J
p,ns
A
1

[/p,ns]

f
i
p,s
= h
p,s

f
p,s
+ (1 h
p,s
)J
p,s
A
1

[/p,s]
.
(42)
6. Experimental Results
The proposed approach was implemented on a 6-DOF
manipulator called Roman-MD (Figure 4). The robot is
controlled using software called RoboticsLab [34]. The
servo rate was set to 500 Hz when reading the encoders
and sending the torque commands to the motors. In the
following experiments, the control input for the tasks is
composed by PD control.
f

= k
p
(x
d
x) k
v
x, (43)
where x
d
, x and x are the desired value, the current
state and the derivative of the current state of the
task. The terms k
p
and k
v
are the proportional and
derivative feedback gains, respectively. Because each task
becomes a unit mass system using the nonlinear feedback
Figure 4. Joint conguration of Roman-MD and the Cartesian
coordinates of a robot system.
linearization by the operational space control framework,
the gains can be selected based on the task specications.
In this paper, the closed-loop frequency and damping ratio
were chosen as 20.0 rad/sec and 1.0, respectively, to be a
critically damped system. The gains k
p
and k
v
are then
400.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 is
controlled to move to the lower-right direction and come
back to the initial position while the orientation of the
end-effector is controlled to be the initial orientation, as
illustrated in Figure 5. The rst joint limit avoidance task
is inserted while the positioning task is performed.
In order to avoid the joint limit, the activation parameter of
the rst joint increases at around three seconds, as the rst
joint enters its joint limit buffer region, as shown in Figure
6.
In this experiment, the upper and lower limits for all joints
are set to 0.78rad and 0.78rad, respectively. These chosen
values are smaller than necessary to show the performance
of the proposed algorithm effectively. Furthermore, the
size of the buffer region is 0.15rad, and the activation
parameter in Figure 2 is used.
The experiment demonstrates that the joint limit task is
activated and deactivated without any abrupt change in
the control of the end-effector (Figure 7). The position
of the robot cannot be controlled as desired when the
constraint task of joint limit avoidance is activated.
In the next experiment, we compared the potential eld
approach and the proposed task transition approach for
joint limit avoidance through the simulation using the
6-DOF manipulator. The control input f
i
using the
potential eld approach [19] is,
f
i
=

i(0)

2
i
, if
i

i(0)
0.0, if
i
>
i(0)

i(0)

2
i
, if
i

i(0)
0.0, if
i
>
i(0)
(44)
where

i
= q
i
q
i

i
= q
i
q
i
.
(45)
Int. j. adv. robot. syst., 2013, Vol. 10, 346:2013 6
www.intechopen.com
Figure 5. Snapshots from the joint limit avoidance experiment.
0 2 4 6 8 10 12 14
J
o
i
n
t

a
n
g
l
e
(
r
a
d
)
A
c
t
i
v
a
t
i
o
n

p
a
r
a
m
e
t
e
r
[
h
]
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
J
o
i
n
t

v
e
l
o
c
i
t
y
(
r
a
d
/
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
Activation
bufer
q = 0.63 rad
Figure 6. Joint velocity, joint angle and activation parameter of
the rst 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 x
actual x
0.27
0.28
0.29
0.3
0.31
0.32
0.33
Y
(
m
)
desired y
actual y
0 2 4 6 8 10 12 14
0.28
0.3
Z
(
m
)
Time(s)
desired z
actual z
0 2 4 6 8 10 12 14
Figure 7. Plots of end-effector position during the joint limit
avoidance experiment.
Figure 8. Simulation: execution of the joint limit task using
the potential eld approach and the proposed continuous control
approach.
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
J
o
i
n
t

a
n
g
l
e
(
r
a
d
)
0.5
0.52
0.54
0.56
0.58
0.6
0.62
Z
(
m
)
Time(s)
desired z
actual 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 the
joint limit avoidance simulation using the potential eld approach.
Here,
i(0)
and
i(0)
are the distance limit of the potential
eld inuence. The ith joint angle is q
i
, and q
i
and q
i
represent the lower limit and the upper limit.
In this simulation, the desired position is set out of the joint
range. While the task is performed, the fourth joint reaches
its limit buffer region (Figure 8). In the case of the potential
eld approach, the constant gain was chosen as 0.5, and
the distances
i(0)
and
i(0)
are 0.08 and -0.08, respectively.
As shown in Figure 9 and Figure 10, the potential eld
approach, in comparison with the proposed approach, can
easily cause oscillation and instability unless the gains are
carefully tuned. Although the oscillatory response of the
potential eld approach shown in this experiment can be
improved by changing the parameters of and
i(0)
at
the specic conguration, it is not easy to nd suitable
values for all the congurations of the robot [21, 22].
The oscillatory and unstable response is shown in this
experiment to point out the typical problem of using the
potential eld approach in the application of joint limit
avoidance.
Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint
Limit Using a Continuous Task Transition Algorithm
7
www.intechopen.com
Accordingly, this step can only be carried out if the
matching procedure was already performed for the rst
error image. Therefore, only areas that were not removed
during the rst matching procedure are extended by
corresponding areas of the subsequent error images.
Otherwise, the noise (falsely detected areas) would cause
an enlargement of incorrectly detected areas. The red short
dashed rectangles in Figure 8 mark 2 examples of such
corresponding areas. Resulting areas that are too large
are removed from the error images I
n
and I
n+1
. This is
indicated by the areas in the right lower corner of error
image I
n
in Figure 8. As can be seen, the resulting error
image I
n
from Figure 8 is used as input (error image I
n
) in
Figure 7. Without the extension of the areas, the midmost
candidate in Figure 7 would have been rejected.
As some real moving objects are sometimes not detected
in an error image as a result of an inaccurate optical ow
calculation or (radial) distortion, the temporal matching
would fail. This could already be the case if only one
area in one error image is missing. Thus, candidates that
were detected once in 3 temporal succeeding error images
and 4 greyscale images (original images), respectively, are
stored for a sequence of 3 error images subsequent to the
image where the matching was successful, cf. Figure 9(a).
Their coordinates are updated for the succeeding error
images by using the optical ow data. As a consequence,
they can be seen as candidates for moving objects in
the succeeding images, but they are not used within the
matching procedure as input. If within this sequence
of images a corresponding area is found again, it is
stored for a larger sequence of images (more than 3) and
its coordinates are updated for every succeeding error
image. The number of sequences depends on the following
condition:
=

c+ c
c c
| c = c
2 c | c = c,
(13)
where c is the number of found corresponding areas and
c is the number of missing corresponding areas for one
candidate starting with the image where the candidate
was found again. If < 0 > 10, the candidate is
rejected. Moreover, the candidate is no longer stored if it
was detected again in 3 temporal succeeding images. In
this case, it is detected during the matching procedure.
An example concerning to this procedure is shown in
Figure 9(b). As one can imagine, error image I
n
in
Figure 9(a) is equivalent (except area-extension) to I
n+1
in Figure 7, whereas error image I
n
in Figure 9(b) is
equivalent to I
n+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 of
the rectangles in Figures 7 and 9) and size of the rectangles
marking the candidates are of relevance. Thus, for every
error image the afore mentioned information is stored
for candidates that were detected during the matching
procedure, for candidates that were detected up to 3 error
images before and for candidates that were found again
(see above). On the basis of this data, candidates that are
very close to each other are combined and candidates that
are too large are rejected.
Using Actual
Optical Flow F
n
Using Subsequent
Optical Flow F
n+1
Actual Error mage
n
Subsequent Error mage
n+1
y
x
Error mage
n+2
(a)
Using Actual
Optical Flow F
n
Using Subsequent
Optical Flow F
n+1
Actual Error mage
n
Subsequent Error mage
n+1
y
x
Error mage
n+2
(b)
Figure 9. Preventing rejection of candidates for moving objects that were detected only in a few sequences. (a) Storage of candidates
for which a further matching fails. These candidates are marked by a blue dotdashed rectangle. The green dashed rectangle marks a
candidate 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 I
n
indicate
the 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
J
o
i
n
t

a
n
g
l
e
(
r
a
d
)
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.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 z
actual z
0 2 4 6 8 10 12 14
Figure 10. Fourth joint angle and end-effector position during
the joint limit avoidance simulation using the intermediate desired
value approach.
6.2. Handling Singularity
The experiment of controlling the robot near singularity is
presented in this section. As noted in Section 5, the robot
can deal with singularities by deactivating the task along
the singular direction.
In this experiment, the end-effector is commanded to move
from the upper-right to the lower-left position and come
back to the initial position (Figure 11). The position of
the end-effector cannot reach the desired position exactly
because the deactivated direction is not fully controlled.
The activation parameter of the task is designed as
a function of the singular value by singular value
decomposition (SVD), and the buffer of the singular values
is identical to that plotted in Figure 3.
Figure 12 and Figure 13 show the data plots from this
experiment. The activation parameter for the singular
direction starts to decrease at = 0.02 (around 4 seconds)
and the positioning task becomes smoothly deactivated
along the singular direction. Because the singular direction
is on the y-z plane, the position in the z-direction does not
follow the desired position trajectory when the position
task 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
A
c
t
i
v
a
t
i
o
n

p
a
r
a
m
e
t
e
r
[
h
]
0.004
0.008
0.012
0.016
0.02
0.024
0 2 4 6 8 10 12 14
Time(s)
0 2 4 6 8 10 12 14
S
i
n
g
u
l
a
r

v
a
l
u
e
[

]
Threshold region
= 0.02
< 0.02
= 0.02
Figure 12. Activation parameter and singular value during the
experiment of handling singularity.
0.16
0.20
0.24
0.28
0.32
0 2 4 6 8 10 12 14
Y
(
m
)
desired y
actual 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 z
actual z
Figure 13. Plots of position y and position z during the experiment
of handling singularity.
6.3. Joint Limit and Singularity Avoidance
In this section, related to Section 5, the case is
demonstrated in which both the joint limit and singularity
are handled when controlling the end-effector of the robot
as a primary task. As shown in Figure 14, the position of
the end-effector is commanded to move toward the desired
position and come back to the initial position.
As shown in Figure 15, when the singular value enters
the buffer region at approximately three seconds, the
activation parameter for the singular direction decreases
according to the activation function of the singular value
as designed. Approximately 1 second later, the task of
avoiding 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:2013 8
www.intechopen.com
0.009
0.012
0.015
0.018
0.021
0.024
0 2 4 6 8 10 12 14
S
i
n
g
u
l
a
r

v
a
l
u
e
[

]
0
0.2
0.4
0.6
0.8
1
A
c
t
i
v
a
t
i
o
n

p
a
r
a
m
e
t
e
r
[
h
]
Time(s)
0 2 4 6 8 10 12 14
Threshold
region
= 0.02 = 0.02
< 0.02
> 0.02 > 0.02
Figure 15. Singular value and activation parameter of
the singular direction when the robot is controlled near both
singularity 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
J
o
i
n
t

a
n
g
l
e
(
r
a
d
)
0
0.2
0.4
0.6
0.8
1
A
c
t
i
v
a
t
i
o
n

p
a
r
a
m
e
t
e
r
[
h
]
Time(s)
0 2 4 6 8 10 12 14
Activation
bufer
q = 0.63 rad
Figure 16. Joint angle and activation parameter of the second
joint when the robot is controlled near both singularity and joint
limit.
0.33
0.36
0.39
0.42
0.45
0.48
0 2 4 6 8 10 12 14
Y
(
m
)
desired y
actual 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 z
actual z
Figure 17. Position of the end-effector when the robot is
controlled near both singularity and joint limit.
task, as shown in Figure 16. The position of the
end-effector during the experiment is plotted in Figure 17.
It should be noted that the position of the end-effector
did not follow the desired trajectory completely near
singularity and joint limit. The proposed algorithm
executed the primary task of controlling the end-effector
without abrupt change in motion near the singularity
while avoiding the joint limit.
7. Conclusion
In this paper, we propose a control strategy for dealing
with singularities and joint limits using the intermediate
desired value approach in the operational space control
framework. The intermediate desired value approach
in the operational space control framework enables an
effective and stable transition when tasks are inserted
and removed. Controlling the robot near singularity is
implemented by deactivating the task along the singular
direction. In addition, the transition algorithm is
effectively applied to both the insertion and the removal
of the joint limit task with a hierarchical control structure.
The experimental results demonstrate that the robot is
successfully controlled when it approaches its joint limits
and a singular region using the proposed approach. The
proposed approach in this paper demonstrated the robot
operation with only motion tasks. Our future work is
directed toward generalizing this control approach to deal
with tasks involving both motion and contact so that it can
be used in robot-environment interaction.
8. Acknowledgement
This work was sponsored by the Basic Science Research
Program (no.2010-0005799) and by the Global Frontier
R&D Program on <Human-centered Interaction for
Coexistence> funded by the National Research
Foundation of Korea grant funded by the Korean
Government(MSIP) (no.2011-0032014).
9. References
[1] B. J. Nelson and P. K. Khosla. Strategies for increasing
the tracking region of an eye-in-hand system by
singularity and joint limit avoidance. The Int. Journal
of Robotics Research, 14:255269, 1995.
[2] A. A. Maciejewski and C. A. Klein. Numerical
ltering for the operation of robotic manipulators
through kinematically singular congurations.
Journal of Robotic Systems, 5:527552, 1988.
[3] C. W. Wampler. Manipulator inverse kinematic
solutions based on vector formulations and damped
least-squares methods. IEEE Trans. on Systems, Man
and Cybernetics, 16:93101, 1986.
[4] Y. Nakamura and H. Hanafusa. Inverse kinematic
solutions with singularity robustness for robot
manipulator control. ASME Trans. Journal of Dynamic
Systems, Measurement, and Control, 108:163171, 1986.
[5] C. C. Cheah. Task-space pd control of robot
manipulators: Unied analysis and duality property.
International Journal of Robotics Research, 27:11521170,
2008.
[6] L. Sciavicco and B. Siciliano. A solution algorithm
to the inverse kinematic problem for redundant
manipulators. IEEE Journal of Robotics and Automation,
4:403410, 1988.
Hyejin Han and Jaeheung Park: Robot Control near Singularity and Joint
Limit Using a Continuous Task Transition Algorithm
9
www.intechopen.com
[7] S. Chiaverini. Singularity-robust task-priority
redundancy resolution for real-time kinematic control
of robot manipulators. IEEE Trans. on Robotics,
13:398410, June 1997.
[8] P. Baerlocher and R. Boulic. Task-priority
formulations for the kinematic control of highly
redundant articulated structures. In IEEE Int. Conf.
on Intelligent Robots and Systems (IROS98), pages
323329, Victoria, B.C., Canada, October 1998.
[9] P. Chiacchio, S. Chiaverini, L. Sciavicco, and
B. Siciliano. Closed-loop inverse kinematics schemes
for constrained redundant manipulators with task
space augmentation and task priority strategy. The
Int. Journal of Robotics Research, 10:410425, 1991.
[10] M. Hayakawa, K. Hara, D. Sato, A. Konno,
and M. Uchiyama. Singularity avoidance by
inputting angular velocity to a redundant axis during
cooperative control of a teleoperated dual-arm robot.
In IEEE Int. Conf. on Robotics and Automation, pages
20132018, Pasadena, CA, USA, May 2008.
[11] C. C. Cheah and X. Li. Singularity-robust task-space
tracking control of robot. In IEEE Int. Conf. on
Robotics and Automation (ICRA11), pages 58195824,
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, pages
8488, 1995.
[13] D. Oetomo, M. Ang, and S Lim. Singularity handling
on puma in operational space formulation. In
Experimental Robotics VII, pages 491500, 2001.
[14] T. Chang and R. Dubey. A weighted least-norm
solution based scheme for avoiding joints limits for
redundant manipulators. IEEE Trans. Robot. Automat.,
11:286292, 1995.
[15] B. Dariush, M. Gienger, B. Jian, C. h. Goerick, and
K. Fujimura. Whole body humanoid control from
human motion descriptors. In IEEE Int. Conf. on
Robotics and Automation, pages 26772684, Pasadena,
CA, USA, May 2008.
[16] H. Zghal, R. V. Dubey, and J. A. Euler. Efcient
gradient projection optimization for manipulators
with multiple degrees of redundancy. In IEEE Int.
Conf. on Robotics and Automation, pages 10061011,
1990.
[17] Y. Zhang, J. Wang, and Y. Xia. A dual neural
network for redundancy resolution of kinematically
redundant manipulators subject to joint limits and
joint velocity limits. IEEE Trans. on Neural Networks,
14:658667, 2003.
[18] Y. Zhang, S. S. Ge, and T. H. Lee. A unied
quadratic-programming-based dynamical system
approach to joint torque optimization of physically
constrained redundant manipulators. IEEE Trans. on
Systems, Man, and Cybernetics, 34:21262132, 2004.
[19] O. Khatib. Real-time obstacle avoidance for
manipulators and mobile robot. The Int. Journal of
Robotics Research, 5:9098, 1986.
[20] Y. Wang and G. S. Chirikjian. A new potential
eld method for robot path planning. In IEEE
Trans. on Robotics and Automation, pages 977982, San
Francisco, CA, USA, 2000.
[21] I. Iossidis and G. Schoner. Dynamical systems
approach for the autonomous avoidance of obstacles
and joint-limits for an redundant robot arm. In
IEEE/RSJ Int. Conf. on Intelligent Robots and Systems,
pages 580585, 2006.
[22] J. Ren, K. A. McIsaac, and R. V. Patel. Modied
newtons method applied to potential eld-based
navigation for mobile robots. IEEE Trans. on Robotics,
22:384391, 2006.
[23] F. Chaumette and E. Marchand. A redundancy-based
iterative approach for avoiding joint limits:
Application to visual servoing. IEEE Trans. Robot.
Automat., 17:719730, 2001.
[24] D. Raunhardt and R. Boulic. Progressive clamping.
In IEEE Int. Conf. on Robotics and Automation, pages
44144419, Roma, Italy, April 2007.
[25] N. Mansard and O. Khatib. A unied approach to
integrate unilateral constraints in the stack of tasks.
IEEE Trans. on Robotics, 25:670685, 2009.
[26] A. Dietrich, T. Wimbock, A. Albu-Schaffer, and
G. Hirzinger. Integration of reactive, torque-based
self-collision avoidance into a task hierarchy. IEEE
Trans. on Neural Networks, 28:12781293, 2012.
[27] J. Lee, N. Mansard, and J. Park. Intermediate
desired value approach for task transition of robots
in kinematic control. IEEE Trans. on Robotics,
28:12601277, 2012.
[28] H. Han, J. Lee, and J. Park. A continuous task
transition algorithm for operational space control
framework. In Int. Conf. on Ubiquitous Robots and
Ambient Intelligence, pages 148152, November 2012.
[29] A. Dietrich, A. Albu-Schaffer, and G. Hirzinger. On
continuous null space projections for torque-based,
hierarchical, multi-objective manipulation. In IEEE
Int. Conf. on Robotics and Automation, pages 29782985,
RiverCentre, Saint Paul, Minnesota, USA, May 2012.
[30] O. Khatib, L. Sentis, J. Park, and J. Warren.
Whole-body dynamic behavior and control of
human-like robots. International Journal of Humanoid
Robotics, 1:2943, 2004.
[31] O. Khatib. A unied approach for motion and force
control of robot manipulators : The operational space
formulation. The Int. Journal of Robotics Research,
3(1):4353, 1987.
[32] G. Strang. Linear Algebra and Its Applications, Fourth
Edition. Thomson Brooks/Cole, 10 Davis Drive,
Belmont, CA 94002-3098, USA, 2006.
[33] D. Oetomo and M. Ang. Singularity robust
algorithm in serial manipulators. In Robotics and
Computer-Integrated Manufacturing, volume 25, pages
122134, November 2009.
[34] SimLab. Roboticslab, http://www.rlab.co.kr/.
Int. j. adv. robot. syst., 2013, Vol. 10, 346:2013 10
www.intechopen.com

You might also like