Optimal Contact Force Prediction of Redundant Single and Dual

The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012
Optimal Contact Force Prediction of Redundant Single and
Dual-Arm Manipulators
Gabriel Nützi∗ , Xiaolong Feng† , Roland Siegwart‡ , Sönke Kock§
∗ ETH Zürich, Switzerland, Email: [email protected]
† ABB Corporate Research, 72178 Västerås , Sweden, Email: [email protected]
‡ Autonomous Systems Laboratory, ETH Zürich, Switzerland
§ ABB Corporate Research, 68526 Ladenburg, Germany
Articulated serial robot manipulators with 6 degrees
of freedom (DOF) rotational joints are the most typical robots used in industrial automation. This type of
robot is normally referred to as non-redundant robot
manipulator. For this type of robot, once the position
and orientation of the end-effector are fixed with some
appropriate robot configuration1 (multiple configurations
possible), the configuration of the robot may not be
changed. For a general 6 DOF non-redundant robot
manipulator, it can have up to 16 different solutions
for an inverse kinematics problem, which transforms
the position and orientation of the end-effector from
Cartesian coordinates to joint coordinates [1].
Articulated series robot manipulators with 7 or more
degrees of freedom joints, most often rotational ones, are
referred to as redundant robot manipulators. This type
of robot has normally one or more additional joint which
is more than necessary to locate the position and orientation of end-effector of a robot manipulator. Redundant
robots have gained increasing use because of their
superior manipulability. This superior manipulability is
resulted from the infinite joint configurations to the inverse kinematics problem introduced by the one or more
degree of joint-space redundancy. Those configurations
are represented as a finite set of manifolds in the joint
configuration space. They are often called null-space,
internal motion, or self-motion manifolds, because the
end-effector remains motionless as the manipulator is
reconfigured along these self-motion manifolds.
A 7 DOF manipulator, for example, has one degree
of joint redundancy. This results in D = 1 (D is the dimension of the null-space domain), or one-dimensional
self-motion curves in the joint-space. These self-motion
curves can be used to reposition the manipulator on
these manifolds to fulfill all sort of tasks (e.g. object
avoidance and maximization of performance measures)
while maintaining the same end-effector position.
Single-arm redundant robots with superior manipulability for material handling applications have been
demonstrated by Nachi Robotic System and Yaskawa
Robotics. Dual arm redundant robots for assembly application has been reported by Yaskawa Robotics and
by ABB Robotics2 . In assembly applications using dualarm redundant robots, two independent robot arms have
the ability to execute cooperative tasks. This is important
when it comes to mounting and assembly tasks where
the two arms work closely together and influence each
other. In an assembly task a certain amount of contact
force, either pressing or pulling, is required and must
be provided by the mechanical structure of the robotic
arms and by the power of actuating joints. Unfortunately,
limited information is known about the topology of
pulling and pressing contact forces at the end-effector
over the workspace of such robots. This is because
to quantify and explore the quantitative information on
contact forces that may be delivered by a single-arm or a
dual-arm redundant robot is technically demanding, due
to the existence of the large set of self-motion manifolds.
So far, the two concepts of the force and the manipulability ellipsoid are extensively used for analyzing the
capabilities of robot manipulators to exert forces or to
move in certain directions. Force ellipsoids have been
analyzed to study the optimal load distribution for nonredundant robots for example in [2] and for redundant
robots in [3]. These concepts have also very well be applied in recent studies to continuum redundant manipulators in [4]. The force ellipsoid gives a qualitative good
visualization of the directions in which a manipulator
1 Throughout this work, configuration is referred to as a fixed
orientation and position of the end-effector in the workspace.
2 Reference by personal communication to Xiaolong Feng. Email:
[email protected]
Abstract— Redundant robotic manipulators, single- or
dual-arms, have received increasing use in assembly applications in industry. Correct dimension and use of such
redundant robotic manipulators subject to assembly forces
experience significant challenges due to the internal motion introduced by the kinematic redundancy. In robotic
manipulator design, it is essential to consider the specification of assembly forces so that the drive-train of the
manipulator may be correctly dimensioned. Robotic cell
design engineers need to access quantitative information
about the range and location of these assembly forces over
the workspace of a manipulator. In this work, methodology
and tools for predicting available assembly forces over the
workspace have been developed for optimal use of such
redundant robots for assembly applications. The prediction
of such optimal configurations requires numeric solution of
inverse kinematics, self-motion generation, and statics. The
results are demonstrated using both a single- and dual-arm
redundant 7-axis robot manipulator. Issues and methods
to include contact assembly forces in robot design have
also been addressed in future work.
Keywords: redundant manipulator, contact force,
nullspace manifolds, statical force.
I.
I NTRODUCTION AND R ELATED W ORK
The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012
may exert the highest forces and is therefore mostly used
in optimization problems to find optimal configurations.
This paper focuses more on computing an exact rather
than a qualitative measure for end-effector forces at an
optimal configuration. Another qualitative static and dynamic force sensitivity measure has been introduced in
[5] to reach an optimal configuration with the presented
control algorithm. These measures have been used to
decrease the effect of external forces on the actuating
joint torques. Unfortunately, to our best knowledge,
very limited research in an exact static analysis of
the end-effector force capabilities for redundant robot
manipulators, either single-arm or dual-arm robots, has
been disclosed.
The objective and novelty of this work is to develop
an approach to analyze and visualize the exact maximum
force at an optimal configuration that a redundant robot,
either single-arm or dual-arm, may deliver at its endeffector. The self-motion manifolds are used to study
the behavior of assembly (pressing and pulling) forces
which are applied on the end-effector of a single and
dual-arm redundant manipulator. In the developed methods, the redundant manipulator is reconfigured along the
set of self-motion manifolds at a pre-defined configuration. Highest end-effector contact forces are searched
over these manifolds without violating the mechanical
limits of the joints. This search process is repeated for
a set of predefined configurations within some carefully
chosen portion of the workspace (for example, a horizontal plane of appropriate size). The topology (force
map) of the contact forces over the workspace of a
single and dual-arm redundant robot may therefore be
calculated and visualized.
This paper presents a new methodology for computing lower and upper bounds on the external force over
these self-motions. A 7R (only revolute joints) redundant
robot arm is used as a stand-alone single-arm robot and
as one used in a dual-arm robot. The contact force,
as it is very complex in general, has been simplified
to a simple directional force at the end-effector. The
presented methodology works also for higher redundant
robots, which only increases the computational burden.
The computed topology or force map of the contact forces gives a good visualization of the exact
applicable forces over the workspace. In addition, the
developed methods may also be used directly in the
drive-train design and optimization of future redundant
robots with consideration of specified contact forces as
additional requirements. In the current design approach,
the mechanical structure and drive-train are normally
dimensioned based on requirements like payload, reach
and acceleration performance. The static contact forces,
as they appear during assembly tasks, are normally not
considered in this dimensioning process.
This paper is structured as follows: Section II to V
describes step-by-step the approach of generating a force
map. Section II starts off with the inverse kinematics
problem. Section III describes the numerical algorithm
to generate the null-space or self-motion manifolds.
Section II and III are mainly based on previous literature
where as section IV to VI addresses our main contribution: Section IV proposes the approach of calculating the
inverse statics and finally section V explains the process
of computing the force map. In section VI,VII & VIII
results, conclusions and the future work are discussed
and outlined.
II.
I NVERSE K INEMATICS
Solving the inverse kinematics for a redundant serial manipulator is quite difficult and much effort has
been devoted to this problem. There are two main
approaches of transforming the end-effector position and
orientation into the corresponding joint angles, namely
the algebraic and the numerical method. The algebraic
method mainly consists of solving the higher degree
polynomials from the kinematic equation with different
numerical algorithms. The numerical method contains
among many others also the numerical optimization,
which is explained first.
A. Numerical Method for 7R Manipulator
The method presented is based on [6] which allows
to circumvent the specification of the end-effector orientation by 3 angles. To describe the orientation and
the position uniquely we specify 3 points on the endeffector p~1 , p~2 , p~3 ∈ R3 as in [6]. The non-linear forward
kinematics equations of this 3 points of an n-DOF serial
manipulator is given by
f~(~q) = [~
p1 , p~2 , p~3 ]> = p~ ∈ R9 ,
(1)
where ~q ∈ Rn are the joint angles of a non-linear
function f~(·). A numerical solution to this non-linear
equations can be obtained by any non-linear equation solver, e.g. Gauss-Newton, Newton-Raphson or the
Conjugate-Gradient method. By specifying upper and
lower bounds on the joint angles [~ql , ~qu ], (1) becomes a
non-linear program in the form
min kf~(~q) − p~ k subj. to ~ql 6 ~q 6 ~qu ,
which is in general not easy to solve. k · k denotes any
vector norm. In this work, lsqnonlin from Matlab
has been used.
To solve this non-linear optimization, the Jacobian
J ∈ R9×n of (1) is used (n = 7 for a 7R manipulator).
It is given by


~z1 × p~1,1 . . . ~zn × p~n,1
~
∂f
=  ~z1 × p~1,2 . . . ~zn × p~n,2  , (2)
J=
∂~q
~z1 × p~1,3 . . . ~zn × p~n,3
where ~zi is the unit vector about the i-th joint axis and
p~i,j is the vector from the i-th joint to the j-th ∈ [1, 2, 3]
end-effector point. All vectors are resolved in the world
frame. The maximum number of iterations is set to
100. The optimization stops if ||f~(~qk+1 ) − f~(~qk )|| <
10−6 . The inverse kinematics is considered converged if
||f~(~qk )|| < r0 , where r0 is a tuning parameter. Of course
the resulting solution (optimizer) is a local optimum and
one of infinite many solutions because of the redundancy
D = 1 for a 7-axis manipulator.
The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012
B. Algebraic Method for 6R Manipulator
For the self-motion generation, the algebraic method
is extremely useful as it gives good starting points for
a full solution to all self-motion manifolds. For a 7axis manipulator, one can still consider one of the joints
as fixed and follow the approach from D. Manocha &
J.F. Canny [7] by reducing (1) to solving an univariate
polynomial. This approach is not trivial and encompasses some sophisticated substitutions to circumvent
numerical problems. The reader is referred to [7]. The
next section describes in detail how these self-motion
manifolds for a redundant manipulator are generated.
III.
G ENERATION OF S ELF -M OTIONS
The degree of redundancy D defines the dimension
of the null-space. To produce internal motions the endeffector velocity needs to be zero. The geometrical
Jacobian Jg ∈ R6×n relates the n-dimensional joint
space velocities to the end-effector translational p~˙ and
rotational velocity ω
~:
p~˙
= Jg (~q) ~q˙.
(3)
~v =
ω
~
Solving (3) by setting ~v = 0 is the problem of finding the
null space (or kernel) of the matrix Jg . The orthogonal
n×n
, where
complement of Jg is N = I − J+
g Jg ∈ R
+
Jg is the Moore-Penrose pseudo-inverse. This matrix
orthogonally projects an arbitrary joint velocity vector
~q˙a ∈ Rn into the null space of Jg . This projection is
denoted by ~q˙N :
~q˙N = N(~q) ~q˙a
(4)
More information can be found in [8]. One approach
of finding the self-motion or null-space motion is to
simply integrate (4). The weak point of this procedure
is that it depends on the arbitrary input vector ~q˙a which
can lead to unvarying self-motions. The alternative and
better approach is to consider that the null-space domain
of Jg is spanned by the eigenvectors of the matrix J>
g Jg
which correspond to the D zero eigenvalues. The selfmotion is delimited by a D-dimensional hyper-volume
in the joint space for a general serial manipulator. This
D-dimensional hyper-volume is split into several parts
which are called manifolds. For the 7-axis robotic arm
(D = 1) the self-motions are curves in R7 . Hence, there
is only one eigenvector ~e. The computation is initialized
in a desired point ~q 0 on the self-motion curves. At
each step a small joint increment ~q k + ∆~q k is added
as follows:
~q k+1 = ~q k + ∆~q k ,
k
k
k = 0, 1, 2, . . .
k
= ~q + γ ~e (~q ).
if the joint angles are in the neighborhood of the start
angles yields very good results. The self-motion iteration
is aborted if a cycle is detected. A cycle is detected if the
maximum peak of the norm normmax is already passed
(line 6) and if the relative error from the current joint
angles ~q k to the initial joint angles ~q 0 is smaller then
CycleRelT ol. The tuning parameter k0 is used to make
sure that the algorithm is checking for a cycle only if
the self-motion curve has moved significantly from the
initial joint angles ~q 0 .
Algorithm 1 Stop algorithm for the self-motion iteration
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
Shift angles of ~q k to the interval [−π, π]
if k > k0 (e.g k0 = 100 . . . 200) then
{Stop Check for a Cycle}
if normmax < k~q k − ~q 0 k2 then
normmax = k~q k − ~q 0 k2
else
q k −~
q 0 k2
if k~
normmax < CycleRelT ol then
Cycle found → abort iteration.
end if
end if
end if
The manifold curve, which is computed by (5), is
defined by the starting point ~q 0 which comes from
an inverse kinematics solution. The topology of the
manifolds which are introduced by f~−1 (~
p) = ~q in (1)
have been firstly characterized in [9]. J.W. Burdick [10]
has stated the following theorem:
Theorem 1 For any end-effector position p~ in the
workspace W, an n-revolute-jointed redundant manipulator can have no more self-motion manifolds than the
maximum number of inverse kinematic solutions of a
non-redundant manipulator of the same class.
It follows that a general 7-axis redundant robot can
have at most 16 distinct self-motions, because a general
revolute 6-axis arm contains at most 16 different inverse
kinematics solutions. Finding these self-motions is a
non-trivial task. In Fig. 1 the joint trajectories of one
self-motion is illustrated. For the calculation of the force
map it is essential to generate as many self-motion
manifolds as possible. This is the main reason why also
the algebraic method in section II-B is used to compute
up to 16 solutions for a 6R manipulator. More is said in
section V.
(5)
ez
(6)
This increment can be expressed by the eigenvector ~e k
evaluated at ~q k multiplied by a small scalar constant γ
which determines the accuracy of this iteration. The selfmotion curve is a periodic function of joint-angles (see
Fig. 1). Hence, a robust cancelation criterion is needed.
The following algorithm 1 which aborts iteration (5)
ex
F
ey
Fig. 1. The joint trajectories (green) of a self-motion manifold of a
~ denotes the force applied at the end-effector in the
7R manipulator. F
x-axis.
The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012
IV.
S TATICAL F ORCE C ALCULATION
The fundamental basis of the force map is basically
the computation of the statical forces in the joints in an
arbitrary configuration. The recursive method, where the
end-effector force is given, of the static force analysis for
a serial manipulators is a well known problem. Detailed
explanations can be found in [11]. The inverse to this
problem is of peculiar interest for our case as we want
to find the applicable contact force range in a given
direction at the end-effector of the manipulator in a given
configuration.
~ is
Supposed a force F~ = λ~eF and a moment M
applied at the end-effector (λ is the scale factor and ~eF
is a unit vector specifying the direction of the force)
then the force and momentum balance in the i-th joint
(see the free body diagram in Fig. 2) gives a linear
~ i and
relationship between λi and the joint torque M
~
joint force Fi :
~i = −
M
N
X
~ − λi (~ri,E × ~eF ) (7)
~ri,Cj × mj ~g − M
j=i
F~i = −
N
X
mj ~g − λi ~eF
�ez
E
λ�eF
i+1
λi+1,min < λi+1 < λi+1,max
�ez
Ci
λmin < λ < λmax
mi�g
i
F�i
λi,min < λi < λi,max
τi
�i
M
τi,min < τi < τi,max
Fig. 2. Free body diagram of the i-th joint to the end-effector (E).
At each joint 4 constraints on λ can be expressed (2 force and 2
torque bounds, black boxes). Intersecting all 4N ranges for an N DOF manipulator gives the overall bound on λ (blue box).
(8)
j=i
The distance from the i-th joint frame to the center of
gravity Cj of joint j and to the end-effector E is denoted
by ~ri,Cj and ~ri,E . The gravity force of joint i is denoted
by mi~g . In the following, ~ex , ~ey , ~ez are orthogonal unit
basis vectors and k · k2 denotes the 2-norm.
The i-th joint torque τz,i in the z-direction (actuator
torque) and its minimum / maximum range is given as:
~ i>~ez
τz,i = M
(9)
τz,i,min < τz,i < τz,i,max
(10)
Exactly the same applies for the joint force in the zdirection:
fz,i = F~i>~ez
(11)
fz,i,min < fz,i < fz,i,max
(12)
For a revolute joint, (9), and for a prismatic joint, (11),
is of greater importance. The i-th joint bearing torque
τxy,i in the xy-direction and its maximum range is given
as:
~ xy,i k2 = kM
~ i>~ex + M
~ i>~ey k2
τxy,i = kM
τxy,i < τxy,max
(13)
(14)
Exactly the same applys for the joint force in the xydirection:
fxy,i = kF~xy,i k2 = kF~i>~ex + F~i>~ey k2
(15)
fxy,i < fxy,max
(16)
Substituting eq. (7,8,9,11,13,15) in (10, 12, 14, 16)
yields two linear inequalities for the z-direction and two
quadratic inequalities for the xy-direction. These two
force and two torque constraints give 4 different ranges
for the end-effector force λ for each joint in the form:
λi,min < λi < λi,max
�
M
N
i = 1, 2 . . . ...N
(17)
Computing the intersection of these 4·7 = 28 ranges for
a 7-axis manipulator yields the overall feasible range for
the applicable force λ~eF . Normally symmetric boundaries on the joint wrenches3 are assumed. If the resulting
intersection [λmin , λmax ] does not include λ = 0, the
manipulator is not able to hold itself by the actuators due
to gravity. When no intersection is found the boundaries
on the joint wrenches are badly specified.
V.
G ENERATION OF F ORCE M AP
A. Force Map for a Single-Arm Manipulator
With the numerical tools developed in the previous
sections, it is now possible to analyze the contact force
ranges over the workspace of the robot in a specified
direction. To begin with, a grid in the workspace of the
manipulator is defined. In our calculations we choose
60 × 60 points, which is a trade-off between accuracy
and computation time. The end-effector orientation is set
according to the pressing/pulling direction. The general
procedure of the force map iteration works as follows:
1) Compute a numerical inverse kinematic solution
~qopt as shown in sec. II from an initial configuration ~qinit .
2) Compute the null space or self-motion curve from
the initial joint angle ~qopt .
3) Compute the maximum force ranges for all configuration on this self-motion curve (direction of
applied force given).
4) Select the configuration ~qmax (e.g. with the highest pressing force, max. λ)
This procedure would be quite easy and reliable if
there had not been several difficulties described in the
following.
3A
joint wrench includes the joint torque and the joint force.
The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012
It must be pointed out that for each assembly point in
the grid there exist several self-motion manifolds (up to
16, see sec. III). This is the reason why it is necessary
to obtain as many manifolds as possible, to assure that
the optimal configuration of the robot for the maximum
contact force range is found. The optimal configuration
can be located on any of these manifolds in general.
Different manifolds can be found by different converged
solutions from the inverse kinematics.
To obtain a robust algorithm that finds up to 16 manifolds we have combined the algebraic and numerical
inverse kinematics described in section II. For each grid
point in the workspace we compute up to 16 inverse
kinematics solution with the algebraic method and with
one joint axis fixed for a 7-axis manipulator. These
solutions are then used as an initial starting point for the
self-motion generation which gives up to 16 manifolds.
Additionally, n random runs are executed. A random run
first uses a random initial configuration and numerical
iterates with the numerical inverse kinematics method
to obtain a random inverse kinematics solution which
is then used as a starting point for the generation of
self-motions.
To increase the probability of finding new manifolds
with the random search procedure, configuration twists
have been included in the final algorithm as well. Assumed the manipulator consists of a spherical wrist, then
a second inverse kinematic solution ~q 2 (configuration
twist) can be found by shifting the angles of the first
solution ~q 1 as follows,
2
1
2
1
qn−2
= qn−2
+π, qn−1
= −qn−1
, qn2 = qn1 +π, (18)
where n denotes the joint number and n = 7 for a
7-axis manipulator arm. For some manipulators, these
configuration twists will also help to find new inverse
kinematic solutions when applied on any appropriate
serial joint triple even with arm offsets. The twisted
configuration will be close enough to a new inverse
kinematic solution. Algorithm 2 gives an overview of
the described procedure in detail. Fig. 3 shows the endeffector force range λ over all configurations of the selfmotion manifold shown in Fig. 1. The contact force is
applied always in the x-direction (see Fig. 1). The red
Force Range over all Joint Angles
2000
1443 N
Joint: 4| Constr.: 1
1500
Force Range [N]
1000
500
0
−500
−1000
−1500
−2000
Fig. 3.
1.
−1129 N
Joint: 3| Constr.: 1
0
500
1000
qi
1500
2000
The contact force ranges over the self-motion curves in Fig.
bar in Fig. 3 represents the range for the configuration
of the robot in Fig. 1. The upper bound of λ of 1443 N
violates the mechanical limits first in joint 4. The lower
bound of -1129 N is limited first by joint 3. If gravity
would not be included in the static calculation the upper
and lower bound would have the same limiting joint.
Algorithm 2 Procedure for force map generation
1: → Load all robot properties, e.g DH parameters or
twist coordinates, masses, mass centers etcs.
2: → Setup the grid points for the force map calculation (e.g. 60 × 60 points in XY plane).
3: → Set the direction ~
eF of the contact force at each
grid point.
4: for all grid points p
~target do
5:
→ Compute the set Sa of all algebraic inverse
kinematic solutions on the grid point p~target (sec.
II-B).
6:
if randomRun = true then
7:
if ~qopt from close by grid point has converged
then
8:
→ Apply a twist on ~qopt to get a new ~qinit .
9:
else
10:
→ Randomly choose ~qinit .
11:
end if
12:
→ Compute an inverse kinematics solution,
starting with ~qinit , on the grid point p~target
and obtain ~qopt .
13:
if ~qopt has not converged then
14:
→ do another random run, goto line 7.
15:
end if
16:
else
17:
→ Choose another algebraic inverse solution
~qopt from the set Sa .
18:
end if
19:
→ Compute the self-motion curve [~q 1 , . . . , ~q k ]
with initial joint angles ~qopt .
20:
→ Filter the self-motion configurations
[~q 1 , . . . , ~q k ] according to the limits of the
joint angles.
21:
if filtered self-motion configuration is empty
then
22:
→ goto line 6.
23:
end if
24:
→ Compute the contact force ranges over all
filtered self-motion configurations.
25:
→ Select the optimal configuration according to
a criterion, e.g. the maximum pressing or pulling
combined with the distance from the mechanical
joint limits.
26:
→ Save all computed data for this iteration.
27:
if not enough random runs and all algebraic
solutions have been tested then
28:
→ randomRun = true/false and goto line 7.
29:
end if
30:
→ Select the best data set from all iterations and
save it in the force map for this grid point p~target .
31: end for
The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012
For a serial manipulator with D > 1 the computation
of the optimal configuration over its self-motion manifolds becomes much more complex as the manifold is a
hyper-volume and not a simple curve anymore. In this
case, it is not possible to simply select the best position
from this self-motion.
One approach would be to include an optimization
routine which searches a local optimum on this hypervolume, what could be extremely computationally expensive and hard to solve.
B. Force Map for a Dual-Arm Manipulator
The map generation for a dual-arm manipulator is
basically the same as the computation for two singlearm manipulators. awFirstly, both maps for both arms
are calculated. In the case where the configurations of
the second arm are symmetric to the gravity direction
the map can simply be mirrored. Secondly, the two force
maps are intersected. This means each contact force
range at a grid point in one map is intersected with
the range in the other map (boolean intersection). This
results then in a combined force map for a dual-arm
robot.
VI.
R ESULTS
Several computations for different 7-axis industrial
robot manipulators have been conducted. Despite that
most of the tasks could be outsourced into Matlab Mexfiles, the computation of a map with dimensions 60 × 60
took up to 3 hours on a single 2.4 GHz computer.
Two different force maps are shown in Fig. 4 & 5.
They are calculated at the position z = −0.3 meter in
the workspace where the origin is at the top of the base
(blue elliptical cylinder). Fig. 4a on the left shows a
3D visualization of the force map for a single-arm 7R
manipulator. Fig. 4b on the right shows the force map
at its spatial position in the workspace. The manipulator
is configured at an arbitrary grid point in the force map.
The yellow cylinder visualizes the end-effector.
One can immediately see that the feasible pressing
force is much higher in a region where the manipulator
is located closer to the base and decreases smoothly the
farther away it is located. This becomes also intuitively
clear if it is compared to the physical feeling of a human
who presses an object with both hands close and far from
its body.
Fig. 5a and 5b show a combined force map for a
dual arm manipulator. This force map is only symmetric
due to the fact that both arms are affected the same
way by the gravity force. The force map for the dualarm manipulator can be readily computed. Fig. 5a is
the boolean intersection of the force map shown in Fig.
4a with a mirrored one along the x-axis. If both arms
are not affected the same way by the gravity force,
both force maps need to be calculated separately and
intersected afterwards.
VII.
F UTURE W ORK
Further work needs to be devoted to exploit theorem
1 in a more rigorous way. To understand and find a
solution to eliminate the artifacts sometimes observed
in force maps is necessary. Artifacts may be resulted
due to not finding the best manifold where the maximal
pressing configuration is located.
Due to the high parallelism of algorithm 2, outsourcing certain numerical parts to the graphics card (GPU)
may be also another topic which may be addressed in
future work.
Further work should also be devoted on verifying the
results predicted by the developed methodology with
experimental measurements using a physical redundant
robot manipulator. So far, our numerical results for
the force map conform with the specifications of the
tested manipulator. When the developed methodology
is verified, it may be readily implemented in robotic
software (e.g RobotStudio). With this feature available,
a robot cell design engineer can have direct access to
the information on optimal locations where an assembly
task should be placed and available assembly force at
these locations.
Equally important, the methodology developed in this
work should be extended for optimal drive-train design
when considering contact forces as requirement.
VIII.
C ONCLUSION
In this paper, a methodology to obtain optimal configurations for a redundant robot manipulator to achieve
maximal assembly forces (pressing and pulling forces)
has been successfully developed.
The developed methodology is described step-by-step
including how to handle inverse kinematics, how to
generate self-motion manifolds, how to compute static
forces, and how to generate force boundary curves for
a single-arm robot and how to generate force maps for
single and dual-arm robots.
It is evident that the developed methodology will have
two principal impacts. For robot engineering, critical
information on optimal placement of an assembly task
and available assembly forces at that task location may
be graphically presented to a robot cell design engineer.
For design of redundant robot, with the developed
methodology, requirement of assembly forces may be
readily included in the drive-train and structure design
of a redundant robot manipulator.
It is convinced that the developed methodology will
have increasing importance in future development and
use of redundant robot manipulators for robot applications where contact forces are of critical nature in
industrial robotic automation.
ACKNOWLEDGMENT
Morten Strandberg at ABB Corporate Research in
Sweden is gratefully acknowledged for a number of
discussions concerning this work.
The 43rd Intl. Symp. on Robotics (ISR2012), Taipei, Taiwan, Aug. 29-31, 2012
Max Pressing Force [N]
4000
3500
Press Force [N]
3000
2500
2000
1500
1000
500
10
20
30
yi
40
50
60
60
40 x
i
20
(a)
(b)
Fig. 4. Calculated force map for a single 7R manipulator on a 60 × 60 grid at z = −0.3 m in the workspace. The left figure shows a 3D
visualization of the force map for optimal pressing configurations and on the right its location in the workspace is shown together with an
arbitrary configuration of the robot in the force map.
Max Pressing Force [N]
3500
Press Force [N]
3000
2500
2000
1500
1000
500
10
20
30
yi
40
50
60
60
40 x
i
20
(a)
(b)
Fig. 5. Calculated force map for a dual-arm 7R manipulator on a 60 × 60 grid at z = −0.3 m in the workspace. On the left a 3D visualization
of a force map for optimal pressing configurations is shown with its representation in the workspace on the left.
R EFERENCES
[1] E. J. F. Primrose, “On the input-output equation of the general
7r-mechanism,” Mechanism and Machine Theory, vol. 21, pp.
509–510, 1986.
[2] M. Choi, B. Lee, and M. Ko, “An application of force ellipsoid
to the optimal load distribution for two cooperating robots,”
in Robotics and Automation, 1992. Proceedings., 1992 IEEE
International Conference on, may 1992, pp. 461 –466 vol.1.
[3] P. Chiacchio, Y. Bouffard-Vercelli, and F. Pierrot, “Force
polytope and force ellipsoid for redundant manipulators,”
Journal of Robotic Systems, vol. 14, no. 8, pp. 613–
620, 1997. [Online]. Available: http://dx.doi.org/10.1002/(SICI)
1097-4563(199708)14:8h613::AID-ROB3i3.0.CO;2-P
[4] I. Gravagne and I. Walker, “Manipulability and force ellipsoids
for continuum robot manipulators,” in Intelligent Robots and
Systems, 2001. Proceedings. 2001 IEEE/RSJ International Conference on, vol. 1, 2001, pp. 304 –311 vol.1.
[5] L. Žlajpah, “Influence of external forces on the behaviour of
redundant manipulators,” Robotica, vol. 17, pp. 283–292, May
1999. [Online]. Available: http://portal.acm.org/citation.cfm?id=
980626.980631
[6] Y. Zhao, T. Huang, and Z. Yang, “A new numerical algorithm for
the inverse position analysis of all serial manipulators,” Robotica,
vol. 24, no. 3, pp. 373–376, 2006.
[7] D. Manocha and J. Canny, “Real time inverse kinematics for
general 6r manipulators,” in Robotics and Automation, 1992.
Proceedings., 1992 IEEE International Conference on, May
1992, pp. 383 –389 vol.1.
[8] J. Lenarcic, “Some considerations on the self-motion curves of
a planar 3r manipulator,” Journal of Computing and Information
Technology, vol. 2, pp. 125–131, 2002.
[9] J. Burdick, “On the inverse kinematics of redundant manipulators: characterization of the self-motion manifolds,” in Robotics
and Automation, 1989. Proceedings., 1989 IEEE International
Conference on, May 1989, pp. 264–270 vol.1.
[10] J. W. Burdick, “Kinematic analysis and design of redundant robot
manipulators,” Ph.D. dissertation, Department of Mechanical
Engineering, Standford University, March 1988.
[11] L.-W. Tsai, Robot Analysis, The Mechanics of Serial an Parallel
Manipulators. John Wiley & Sons, 1999.