2. Fig. 2. Workflow of teaching-playback manipulator system
given prior, so that the singularity-free path can be planned.
However, in the teaching-playback robot manipulator system,
the robot does not know where the next position will be until
the user presses the button on the teaching pendant.
The purpose of this study is to design a teaching-playback
robot manipulator system with automatic singularity
avoidance that allows the user to control the robot manipulator
to move smoothly from point-to-point by using teaching
pendant (shown in Fig. 1(b)). The challenging point of this
study is considering how to avoid kinematic singularities
during the controlling of the robot manipulator using a
teaching pendant in real time. Two novel singularity
avoidance algorithms for a teaching-playback robot
manipulator system will be proposed and compared through
an experiment in this paper.
The paper is organized as follows: The next section
describes the formulation of the problem. Proposed algorithms
are explained in Section III. Section IV discusses the
specification of the robot manipulator and experimental setup.
Some experiment results are presented in Section V, and
conclusions follow in Section VI.
II. PROBLEM FORMULATION
A. Assumption, Input, and Output Parameters
We assume that an initial position and orientation (P&O)
and a final P&O are given in a task. P&O are indicated in task
configuration , which included position X, Y, Z, and
orientation R_ X , R_ Y , R_ Z . The user needs to use a
teaching pendant to control the end-effector from initial P&O
to final P&O, and the teaching pendant will read the input
based on any change in the end-effector’s task configuration
∆ ∆X, ∆Y, ∆Z, ∆R_ X , ∆R_ Y , ∆R_ Z set by user,
while the robot manipulator is moving based on the changing
of joint configuration ∆ until the end-effector arrives at the
desired end-effector task configuration set by the user. From
here, we can see that the input of end-effector’s task
configuration ∆ is changing, and the output of the joint
configuration ∆ is changing. We can even define the velocity
of joints ∆ /∆t, and the velocity of the end-effector
∆ /∆t, where ∆t is the changing of time.
B. Jacobian and Kinematic Singularity
The velocity relationship between the joints and the
end-effector is determined by the manipulator Jacobian matrix
[15]:
where ∈ is the end-effector velocity vector, and ϵ
is the vector representing the joint velocities. is the
manipulator Jacobian matrix with dimension m n. For
non-redundant manipulators, m = n, while for redundant
manipulators, m < n. The inverse kinematics of a manipulator
at the velocity level from the above relation [10] is:
Non-redundant manipulator:
Redundant manipulator: #
,
where is the inverse, and #
is the pseudo-inverse of the
manipulator Jacobian. Kinematic singularity occurs when the
rank of Jacobian, rank , is not the full rank and determinant
of Jacobian, det 0. Hence, we can utilize measure of
manipulability [16] to check the existence of kinematic
singularity. The movement of the robot manipulator can be
kept away from singular configuration by ensuring the value
of the measure of manipulability, ω, is always greater than
zero, as
ω det 0
The measure of manipulability (4) is non-negative and
becomes zero only at singular points. Hence, it can be
considered as a kind of distance from singular points.
The overall workflow of the teaching-playback
manipulator system is shown in Fig. 2. First, the P&O of the
end-effector need to be initialized and set as HOME P&O.
Next, the user will give the input ∆ by pressing the button on
the teaching pendant. In a normal teaching-playback robot
manipulator system, which does not have singularity
avoidance, the output ∆ will be obtained via (2) for a
non-redundant manipulator and (3) for a redundant
manipulator. In singularity avoidance, the value of is
modified so that det 0. More detail will be discussed in
the next section. The loop will keep going until the user stops
to give input; in other words, the robot manipulator will not
move without input ∆ from the user. The ultimate goal in
this paper is to minimize the completion time T for moving the
end-effector from initial P&O to final P&O by using the
teaching pendant.
III. PROPOSED ALGORITHM
Many methods of singularity avoidance have been
discussed in previous studies, especially in regard to the
motion-planning problem. Basically, all the methods
mentioned are discussed mainly in two directions:
non-redundancy and redundancy singularity avoidance. In this
paper, non-redundancy singularity avoidance means the
manipulator will avoid the kinematic singularity by
considering 6 task configurations that include position
X, Y, Z, and orientation R_ X , R_ Y , R_ Z together
with 6 degrees of freedom (DOF) manipulator, which means
Y
Robot Move
START
Initialization
Singularity
Avoidance
Task
Finished?
END
Input: ∆
Output: ∆
N
Input
454
3. Fig. 3. Flowchart of non-redundancy singularity avoidance Fig. 4. Flowchart of redundancy singularity avoidance
m = n = 6, while redundancy singularity avoidance means the
manipulator will avoid the kinematic singularity by
considering 3 task configurations that include only position
X, Y, Z, together with 6 DOF manipulator, which means m
< n, since m = 3 and n = 6.
A. Non-redundancy: Damped Least Squares (DLS) Inverse
Kinematic
An effective strategy that allows motion control of a
non-redundant manipulator in the neighborhood of kinematic
singularities is the damped least squares (DLS) technique
proposed in [8]. The method corresponds to solve the
equation:
λ
where λ is a damping factor, and I is a (6 x 6) identity matrix.
It can be easily shown that the solution to (5) can be formally
written as:
λ
Note that when λ 0, equation (1) becomes identical to
(5) and the damped least squares solution reduces to a regular
matrix inversion which is ill-conditioned close to singularity.
An effective choice is to adjust λ as a function of some
measure of closeness to the singularity at the current
configuration of the manipulator; the measure of
manipulability [15] or smallest singular value [16] can be
adopted for this purpose.
A singular region can be defined on the basis of the
estimate of the smallest singular value of . Outside the region,
the origin solution (2) is used, while inside the region, a
configuration-varying damping factor is introduced to obtain
the desired approximate solution. The factor must be chosen
so that continuity of joint velocity is ensured in the
transition at the border of the singular region. The damping
factor is selected according to the following law [8]:
λ
0 when σ ε
1 λ otherwise,
Here, the size of singular region ε and value of λ are set by
the user to suitably shape the solution in the neighborhood of a
singularity. Fig. 3 shows the flowchart of non-redundancy
singularity avoidance with a DLS inverse kinematic.
B. Redundancy: Potential Function
By using a potential function as the second manipulation
variable, we can utilize redundancy to avoid mechanical
constraint of the redundant manipulator. The potential
approach [15] is described by
# #
k
where k is a positive constant. The measure of manipulability
(4) is used as a potential function for avoiding singularity [15,
17] as below:
p det
Choosing equation (9) as a potential function is expected
to keep a manipulator away from singularity. Note that
minimizing the potential function implies not only avoiding
the singularity but also maintaining the kinematic ability of the
manipulator as much as possible [16]. Fig. 4 shows the
flowchart of redundancy singularity avoidance with potential
function.
IV. EXPERIMENT SETUP
The experiment is implemented using DENSO VP-6242G,
which is a six-revolute-joint (6R) manipulator manufactured
by DENSO WAVE. The Denavit-Hartenberg parameters and
velocity limits and joint limits of the manipulator are reported
in Table I and Table II, respectively.
Three typical singularities are commonly seen for a 6R
manipulator in factories including shoulder, elbow, and wrist
singularities [18]. However, due to the limitation of joint 3 of
VP-6242G, only shoulder singularity and wrist singularity can
be tested in this experiment.
A.Shoulder Singularity Test
During the shoulder singularity test, the user needs to
control the end-effector from initial P&O to final P&O by
Subroutine
Singularity Avoidance
Return
σ ε ?
λ 1
σ
ε
λ
λ
∂
∂
N
Y
Return
Subroutine
Singularity Avoidance
∂
∂
σ ε ?
# #
k
N
Y
455
4. (a) Before starting the test (b) After completing the test
Fig. 6 Wrist singularity test
(a) Before starting the test
(b) After completing the test
Fig. 5. Shoulder singularity test
TABLE I. DENSO VP-6242G ROBOT MANIPULATOR:
DENAVIT-HARTENBERG PARAMETERS
Link θ rad d [m] a [m] α [rad]
1 0.280 0 π/2
2 0 0.210 0
3 0 0.075 π/2
4 0.210 0 π/2
5 0 0 π/2
6 0.070 0 0
TABLE II. DENSO VP-6242G ROBOT MANIPULATOR:
JOINT LIMITS AND VELOCITY LMITS
Joint Motion Range [rad] Max Velocity [rad/s]
1 2.79 ~ 2.79 4.36
2 2.09 ~ 2.09 3.26
3 0.33 ~ 2.79 4.36
4 2.79 ~ 2.79 5.24
5 2.09 ~ 2.09 5.24
6 6.28 ~ 6.28 5.24
TABLE III. SETTING VALUE TEST IN WRIST
SINGULARITY AVOIDANCE
Computational time, Tc (s)
λ2
max
1.000 × × × × ×
0.500 × × × × ×
0.100 × × × × ×
0.050 × 227.222 × × ×
0.010 × 12.864 × × ×
0.005 × × × × ×
0.001 × × × × ×
0.001 0.005 0.010 0.050 0.100
ε
(a) Setting value test for non-redundancy singularity avoidance
Computational time, Tc (s)
k
10.000 × 10.392 11.251 18.517 ×
5.000 × 10.420 11.228 18.464 ×
1.000 × 10.404 11.188 18.516 ×
0.500 × 10.341 11.264 18.547 ×
0.100 × 10.410 11.159 18.504 ×
0.050 × 10.484 11.247 18.490 ×
0.010 × 10.363 11.205 18.456 ×
0.001 0.005 0.010 0.050 0.100
ε
(b) Setting value test for redundancy singularity avoidance
Notes:
×
Cannot complete the task due to the final destination
being inside the singular region, ε set by user.
× Cannot escape from singularity region.
using a teaching pendant (as shown in Fig. 5(a)). The
judgment for completing the test is shown in Fig. 5(b).
B. Wrist Singularity Test
During wrist singularity test, the user needs to control the
end-effector from initial P&O to final P&O by using a
teaching pendant (as shown in Fig. 6(a)). The judgment for
completing the test is shown in Fig. 6(b).
C. Algorithm-Setting Parameter
Several combinations of the settings had been tried in
wrist singularity tests beforehand in order to arrive at the
setting values from the best combination based on the shortest
computational time Tc for robot manipulator moves from
initial P&O to final P&O (as shown in Table III). Overall, the
smaller the value of singular region is, the closer the
end-effector is to the singular point. In contrast, the larger the
value of singular region is, the more area the end-effector
cannot reach, or the completion time T is increased due to the
manipulator avoiding the singularity from far away.
In the algorithm of non-redundancy singularity avoidance
(NRSA), the smaller the value of is, the higher the
joints velocity, hence the lower computational time for the
end-effector to move from initial P&O to final P&O (as
shown in Table III(a)). In the algorithm of redundancy
singularity avoidance (RSA), the value of k does not greatly
affect joint velocity (as shown in Table III(b)). The setting for
the algorithm of NRSA is 0.005 and 0.010;
while the setting for RSA is 0.005 and 0.500, which
are the best combination according to the observation from
Table III. This setting is mainly focused on point-to-point
tasks such as pick-and-place or assembly tasks in industry.
Final Position
and Orientation
Initial Position
and Orientation
Final Position
and OrientationInitial Position
and Orientation
456
5. (a) No singularity avoidance
(b) Non-redundancy singularity avoidance
(c) Redundancy singularity avoidance
Fig. 7. Trajectory of end-effector moves from initial point to final point
in shoulder singularity test using teaching pendant
Z
X
Z
X
0.026m
Z
X
0.014m
TABLE IV. RESULT OF SHOULDER SINGULARITY TEST
User Completion Time T (s)
NSA NRSA RSA
A 113.5 73.8 ×
B × 51.3 46.4
C × 41.0 45.1
D × 66.9 45.1
E × 46.0 48.0
F × 38.1 49.5
G × 42.9 59.1
Note: ×means user cannot complete the test due to the singularity
TABLE V. RESULT OF WRIST SINGULARITY TEST
User Completion Time T (s)
NSA NRSA RSA
A × × 75.3
B × 54.7 25.0
C × 37.8 33.3
D × 33.3 34.4
E × 69.1 23.6
F × 58.4 28.2
G × 59.4 42.0
Note: ×means user cannot complete the test due to the singularity
D. Participants
Seven people participated in this experiment, and the age
range is between 21 and 32. All of them are healthy, both
physically and mentally.
E. Data Collection and Analysis
First, simple instruction about how to control the
manipulator is given to fresh users; then they are to try to
manipulate the robot within 10 minutes. In this 10 minutes,
the user just needs to be familiar with the function of + and –
on each button of X, Y, Z, RX, RY, and RZ. After that, three
trials will be done on each singularity test, and each trial
represents each tested condition, which includes:
① No singularity avoidance (NSA),
② Non-redundancy singularity avoidance (NRSA), and
③ Redundancy singularity avoidance (RSA).
Each user will have a different sequence of tested condition,
e.g., user A will try the sequence of ○1 → ○2 → ○3 , user B
will try the sequence of ○2 → ○1 → ○3 , etc.
The evaluation method for this experiment is recording
the completion time T when the user is moving the
end-effector from initial P&O to final P&O by using a
teaching pendant. Differences in completion times for
different conditions are compared using Student’s two-tailed
t-test. A p-value < 0.05 is considered significant.
V. EXPERIMENT RESULT
The movement results can be referred to video attached.
Table IV shows the result of the shoulder singularity test, and
we can see that all users were unable to avoid the shoulder
singularity under the condition of NSA except for user A; and
even so, user A took a long time to complete the test. There is
no significant difference between NRSA and RSA (p-value >
0.84) in the t-test (excluding user A). The average time
(excluding user A) to accomplish the test under the condition
of NRSA is 47.7s, and 48.9s for RSA. The difference of
average time for both methods is 1.2s, which also means there
is not much difference between these methods.
Fig. 7 shows the trajectory of end-effector moves from
initial P&O to final P&O in the shoulder singularity test using
a teaching pendant. When the end-effector is close to the
shoulder singular region, very high joint velocities and large
deviations occur under the NSA condition (as shown in Fig.
7(a)). Meanwhile, NRSA and RSA will lead the end-effector
to move in the +Z direction to avoid the singular region (as
shown in Fig. 7(b) and Fig. 7(c)). We can also observe that
when only the +X button is pressed continuously from initial
P&O until position X = 0.068m from base, which is near the
final position, the position Z of the end-effector in RSA (Fig.
7(c)) is 0.012m higher than in NRSA (Fig. 7(b)). This means
that for those users who move the end-effector in the +Z
direction before the +X direction, they need more time to
adjust the end-effector in order to reach the final position.
Table V shows the result of the wrist singularity test.
Clearly, all users were unable to avoid the wrist singularity
under the condition of NSA. The p-value between NRSA and
457
6. (a) No singularity avoidance (b) Non-redundancy singularity avoidance (c) Redundancy singularity avoidance
Fig. 8. Trajectory of end-effector moves from initial point to final point in wrist singularity test using teaching pendant
Z
X
Z
X
Z
X
0.071m 0.016m
RSA is less than 0.04 in t-test (excluding user A), leading to a
probability of greater than 96% that there is a significant
difference between NRSA and RSA. The average time
(excluding user A) for accomplishing the test under the
condition of NRSA is 52.1s, and 31.1s for RSA. The method
RSA is significantly faster than NRSA.
Fig. 8 shows the trajectory of end-effector moves from the
initial P&O to final P&O in the wrist singularity test using a
teaching pendant. When the end-effector is close to wrist
singular region, very high joint velocities and large deviations
occur under the condition of NSA (we can see that the word
“DENSO” is backward in Fig. 8(a) compared with the
previous movement). Meanwhile, NRSA and RSA will lead
the end-effector to move in the +X direction to avoid the
singular region (as shown in Fig. 8(b) and Fig. 8(c)). We can
also observe that when only the –Z button is pressed
continuously from initial P&O until position Z = 0.040m
from the base, which is near the final position, the position X
of the end-effector in RSA (Fig. 8(c)) is 0.055m closer than in
NRSA (Fig. 8(b)) from the final position. This is because
RSA is only concerned with position, while NRSA is
concerned with both position and orientation. If position is
preferred, the error of RSA is smaller than that of NRSA.
However, if orientation is preferred, the error of RSA is
bigger than that of NRSA. In the case of taking position as
priority, the trajectory of RSA is shorter than that of NRSA,
and so the completion time is shorter as well.
VI. CONCLUSION
A teaching-playback robot manipulator system with
automatic singularity avoidance had been designed to allow
the user to control the robot manipulator using a teaching
pendant without worrying about the kinematic singularities of
the robot manipulator. In the shoulder singularity test, there is
no significant difference between NRSA and RSA, while RSA
is averagely 67.5% faster than NRSA in the wrist singularity
test. In future work, more experiments will be done under
different circumstances to compare the two methods of
singularity avoidance. Some questionnaires might be collected
in order to understand what users think about when the P&O
of the end-effector is different from their controlling due to the
singularity avoidance.
REFERENCES
[1] M. Brady, J. Hollerbach, M. T. L. Johnson, T. L. Perez, and M. T.
Mason, Robot motion: planning and control. MIT Press, 1982.
[2] S. Shimogama, “Safety device of industrial robot,” U.S. Patent
6,051,894, Apr. 18, 2000.
[3] C. A. Klein and C. H. Huang, “Review of pseudoinverse control for use
with kinematically redundant manipulators,” IEEE Trans. System, Man
and Cybernetics, vol. 13, pp. 245-250, 1983.
[4] O. Khatib, “A unified approach for motion and force control of robot
manipulators: The operational space formulation,” IEEE J. Robotics
and Automation, vol. 3, pp. 43-53, Feb. 1987.
[5] R. V. Mayorga and A. K. C. Wong, “A singularities avoidance method
for the trajectory planning of redundant and non-redundant robot
manipulators,” in Proc. 1987 IEEE Int. Conf. Robotics and Automation,
pp. 1707-1712.
[6] R. V. Mayorga and A. K. C. Wong, “A singularities prevention
approach for redundant robot manipulators,” in Proc. 1990 IEEE Int.
Conf. Robotics and Automation, pp. 812-817.
[7] K. Tchon and R. Muszynski, “Singular inverse kinematic problem for
robotic manipulators: A normal form approach,” IEEE Trans. Robotics
and Automation, vol. 14, pp. 93-104, Feb. 1998.
[8] S. Chiaverini, B. Siciliano and O. Egeland, “Review of the damped
least-squares inverse kinematics with experiment on an industrial robot
manipulator,” IEEE Trans. Control System Technology, vol. 2, pp.
123-134, June 1994.
[9] C. W. Wampler, “Manipulator inverse kinematic solutions based on
vector formulations and damped least-squares methods,” IEEE Trans.
System, Man and Cybernetics, vol. 16, pp. 93-101, Feb. 1986.
[10] A. S. Deo and I. D. Walker, “Overview of damped least-squares
methods for inverse kinematics of robot manipulators,” J. Intelligent
and Robotic Systems, vol.14, pp. 43-68, Sept. 1995.
[11] S. Chiaverini, “Singularity-robust task-priority redundancy resolution
for real-time kinematic control of robot manipulators,” IEEE Trans.
Robotics and Automation, vol. 13, pp. 398-410, June 1997.
[12] A. A. Maciejewski and C. A. Klein, “Numerical filtering for the
operation of robotic manipulators through kinematically singular
configurations,” J. Robotic Systems, vol. 5, pp. 527-552, Dec. 1988.
[13] J. Kim, G. Marani, W. K. Chung and J. Yuh, “Task reconstruction
method for real-time singularity avoidance for robotic manipulators,”
Advanced Robotics, vol. 20, pp. 453-481, 2006.
[14] C. Qiu, Q. Cao, and S. Miao, “An on-line task modification method for
singularity avoidance of robot manipulators,” Robotica, vol. 27, pp.
539-546, 2009.
[15] Y. Nakamura, Advance Robotics: Redundancy and optimization.
Addision-Wesley, 1991.
[16] G. H. Golub and C. F. Van Loan, Matrix computations, vol. 3. Johns
Hopkins University Press, 1996.
[17] T. Yoshikawa, “Analysis and control of robot manipulators with
redundancy,” in Robotics Research: The First International
Symposium. Cambridge, MA: MIT Press, 1984, pp. 735-748.
[18] J. M. Hollerbach, “Optimum kinematic design for a seven degree of
freedom manipulator,” in Robotic Research: The Second International
Symposium. Cambridge, MA: MIT Press, 1985, pp. 215-222.
458