2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
Transcript of 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
1/13
624 IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 18, NO. 2, APRIL 2013
A Novel Method of Motion Planning for anAnthropomorphic Arm Based on
Movement PrimitivesXilun Ding and Cheng Fang
AbstractMotion planning for an anthropomorphic arm is dis-cussed in this paper. A three-level motion planning frameworkjoint spacemovement primitive spacetask space is estab-lished by introducing movement primitives as the bridge connect-ing the task space and joint space. The proposed method cannotonly control the motion process of an anthropomorphic arm, butalso simplify the motion planning of complicated operation tasks.On the basis of this, a specific human arm triangle model is pro-posed as an instantiation of the abstract movement primitive todescribe the motion state of the anthropomorphic arm. Through
introducing the concept of working plane, the forward and in-verse kinematics among joint space, human arm triangle space,and task space are derived by coordinate transformation and geo-metric analysis. And then, the joint trajectories of two fundamentalmovement primitives based on the human arm triangle, includingmotion of moving on the working plane and self-motion of switch-ing working plane, are obtained by solving differential equations.Finally, the validation and feasibility of the proposed method areverified by one simulation comparison with a traditional methodand two real experiments.
Index TermsAnthropomorphic arm, human arm triangle,motion planning, movement primitive.
I. INTRODUCTION
IN traditionalmotion planning for industrialmanipulators and
redundant manipulators, the task is usually simple and fixed,
and the planning is implemented by optimizing some predeter-
mined performance indices such as dexterity, joint limitation,
torque limitation, obstacle avoidance, etc [1][6]. While the
technique for industrial manipulators gradually matured, pro-
duction efficiency greatly increased, and the need for robotics
in factories decreased. So, at present, the focus in robotics has
been transferring to service robots from industrial manipula-
tors [7], and humanoid robots play a very important role in
service robotics. Due to the variety of needs facing humanoid
robots, anthropomorphicarms must be capable of handling morecomplicated task-level operations. Meanwhile, anthropomor-
Manuscript received November 1, 2011; revised February 29, 2012; acceptedApril 5, 2012. Date of publication May 23,2012; date of current versionJanuary10, 2013. Recommended by Technical Editor A. Menciassi. This work was sup-ported by the National Key Technology R&D Program under 2011BAF04B01and by the NSFC National Science Fund for Distinguished Young Scholarsunder 51125020.
The authors are with the Robotics Institute of School of Mechanical Engi-neering and Automation, Beihang University (BUAA), Beijing 100191, China(e-mail: [email protected]; [email protected]).
Color versions of one or more of the figures in this paper are available onlineat http://ieeexplore.ieee.org.
Digital Object Identifier 10.1109/TMECH.2012.2197405
phic arms are hoped to move in the way people are familiar
with in order to help robots and humans to coexist [8]. As for
the requirements mentioned earlier, traditional planning meth-
ods cannot be used. They can only plan a trajectory to achieve
the simple task of imitating the human arm in the aspect of func-
tion and improve performance in the motion process. However,
they cannot control the motion process in the aspect of manner.
The issue of motion planning for an anthropomorphic arm is
studied by many scholars [9][11]. There are two schools: theempirical statistical model school and the inverse kinematic so-
lutions school [12]. The former collects anthropometrical data
from thousands of experiments on human subjects first, and then
the data are statistically analyzed to form a predictive model of
posture by using some model tools such as regression models.
The drawback of the method of this school is lack of general-
ity. With this approach, an impractical number of experiments
involving human subjects must be conducted for each specific
task. The latter often uses biomechanics and kinematics as a
planning tool to solve the joint trajectories by optimizing the
performance index and satisfying the constraints. The disad-
vantage of the method of this school is a lack of experimental
support, and many indices are constructed by guessing.In recent years, more and more results from neurophysiol-
ogy research show that movement primitives exist in the motion
process of the human arm [13][16]. Humans are considered
to form a series of operational experiences when they consecu-
tively achieve abundant tasks, and these experiences evolve into
a fixed set of motion manners, i.e., movement primitives. In this
way, people can easily assemble different movement primitives
to achieve difficult tasks like building blocks and not to consider
how the each joint move. Undoubtedly, this approach provides
a new idea for the problem of motion planning that faces vari-
ous operational needs. In this paper, a novel complicated task-
oriented motion planning method is proposed by introducingthe notion of movement primitives for anthropomorphic arms.
The rest of this paper is organized as follows. Section II estab-
lishes a kinematic model of an anthropomorphic arm. Section
III proposes a motion planning framework for the anthropo-
morphic arm. Section IV introduces a concept of movement
primitive and presents human arm triangle space as an interme-
diate space between joint space and task space. Sections V and
VI derive the kinematics of the anthropomorphic arm and the
specific algorithms of the movement primitives, respectively.
Sections VII and VIII validate the feasibility of the proposed
method by simulation and experiment. Finally, conclusions are
drawn in Section IX.
1083-4435/$31.00 2012 IEEE
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
2/13
DING AND FANG: NOVEL METHOD OF MOTION PLANNING FOR AN ANTHROPOMORPHIC ARM BASED ON MOVEMENT PRIMITIVES 625
Fig. 1. Kinematics model of anthropomorphic arm.
TABLE ID-H PARAMETERS OFKINEMATICS MODEL FORANTHROPOMORPHICARM
II. KINEMATICMODEL OFANTHROPOMORPHIC ARM
The upper limb of the human body is comprised of three
joints: the shoulder, elbow, and wrist. A kinematic model of an
anthropomorphic arm can be established by using the traditional
D-H method [17] as shown in Fig. 1, and the corresponding
D-H parameters are presented in Table I. The values in the
parentheses denote the values ofi in current configuration inFig. 1. The link frames are established in a postposition manner.
For convenience, the direction of the zb axis of the base frame{b}is up; the xbaxis is horizontal right; the ybaxis is horizontal
forward, and the origin of frame{b}is set to be the center ofthe shoulder. For the last frame {7}, its z7 axis is coincidentwith the unit normal vector of the plane of palm, x7 points in
the direction of fingers, and y7 points in the inverse direction
of thumb. The origin of this frame is set to be the center of
the palm. In addition, lb denotes the length of the upper arm
measured from the center of the shoulder to the center of the
elbow. ls is the length of the forearm measured from the center
of elbow to the center of wrist. And ih represents the length of
the hand measured from the center of wrist to the center of palm.
The kinematic model of the anthropomorphic arm in Fig. 1 is the
typical model [18]. All of the following discussions are based
on it.
Fig. 2. Three-level motion planning framework of anthropomorphic arm.
III. MOTIONPLANNINGFRAMEWORK OF THEANTHROPOMORPHIC ARM
All controllable motions of the anthropomorphic arm are
comprised of these seven motion elements. So how do these
motion elements combine to realize complicated motions? In
recent years, different research results have led to the idea that
movements in both vertebrates and invertebrates are composed
of movementprimitives [13], [19], [20]. Theentire motion reper-
toire can be spanned by applying a well-defined setof operations
and transformations to these primitives and by combining them
in many different ways according to well-defined syntacticrules.
That is to say, humans compose meaningful movement prim-
itives from motion elements and tasks from movement primi-tives, just like composing words from phonemes and sentences
from words. In the same way, human arms remember many
experiences and motion modes after continuously practicing
various difficult tasks. Motion elements begin to form meaning-
ful movement primitives or movement modules in a particular
way, such as raising hand, waving hand, pushing, pulling, and so
on. In this way, if one would like to run a movement primitive,
he just needs to start a corresponding motion mode; he does
not need to consider how every joint moves. And the human
arm can easily achieve complex tasks by combining different
movement primitives. According to this strategy, the cognitive
burden can be alleviated when the human faces a complex task.
So, a movement primitive space is inserted between joint spaceand task space as a bridge connecting them. And a three-level
motion planning framework joint space-movement primitive
space-task space is constructed as shown in Fig. 2.
The inserted movement primitive space of the human arm tri-
angle can control the motion process of anthropomorphic arms,
i.e., can describe current motion status. In contrast, traditional
motion planning methods employ some optimization methods
based on several performance indices [9], [11], [12]. Methods
can just control some motion performances but not some mo-
tion manners that can meet these performance demands. The
motion processes or patterns, which have evolved over thou-
sands of years should contain some principles, which affect the
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
3/13
626 IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 18, NO. 2, APRIL 2013
Fig. 3. Human arm triangle.
performance we care about most. For example, we can lift some
heavy objects easily, comfortably, and quickly in a certain mo-
tion pattern. By imitating the motion processes of the human
arm, the anthropomorphic arm can accomplish tasks better.
IV. MOVEMENTPRIMITIVESBASED ONHUMANARM
TRIANGLE
Movement primitives must describe the motion process of
the arm intuitively; that is to say, they must be process vari-
ables. And there is a specific configuration for the arm at each
moment of the motion process, which is a notion of state vari-
able. So, in order to construct the feasible movement primitives,a suitable description of the configuration state of the arm is
needed. In this paper, we introduce a concept of human arm
triangle [21], which consists of upper arm and forearm, as a
bridge connecting the task and joint spaces, and as an inter-
face in the humancomputer interaction. As stated earlier, the
human arm triangle can be regarded as an intuitive geometric
shape to control the motion process of the human arm, and
can allow nonprofessionals to easily describe any desired arm
configuration.
The human arm triangle mentioned earlier is explained in
Fig. 3. It can be parameterized byr,l, and.In Fig. 3,rdenotes the unit direction vector of the upper arm,
andl denotes the unit normal vector of the plane of human armtriangle. The direction of l is defined by the right-hand rule,
where the right-hand screw direction is the direction of elbow
extension. denotes the angle between upper arm and forearm.Given the lengths of the upper arm and forearm, the position and
orientation of the human arm triangle can be determined totally
by the three parameters. These parameters contain seven vari-
ables in total sincerand l are 3-vectors. However, one variable
in each vector is fixed due to the normalization requirement and
three of these are required to describe the location of the wrist
center. So, there are only two free variables to describe an orien-
tation of the working plane. As for the inverse anthropomorphic
arm kinematics, the parameters of the human arm triangle can
Fig. 4. Forward/inverse mappings for the anthropomorphic arm between dif-ferent spaces.
be derived from the operation tasks first, and then each joint
value can be derived from the three parameters subsequently.
The forward kinematics is the inverse process. So, the motion
of the anthropomorphic arm can be controlled by the interme-
diate phase. Mappings between different spaces are showed in
Fig. 4.
It is well known that the first four joints of the anthropo-morphic arm affect the position of wrist, while the last three
joints affect the orientation of hand. Here, we only consider the
position. There are infinite solutions in joint space for a single
goal in task space, i.e., the anthropomorphic arm is redundant
for position control. For the same goal, the human arm triangle
can rotate about the axis 360, which passes through the centers
of shoulder and wrist. So, how do we determine which solution
is our target? The key point is to determine the plane of human
arm triangle. A concept of working plane is proposed here.
Some results from relevant experiments show that the human
arm triangle tends not to rotate about the shoulderwrist axis,
i.e., the motion of arm tends to maintain the same plane [10] thatplane is the working plane. We propose an important hypothe-
sis that anthropomorphic arms will remain on a fixed plane as
often as they can when they accomplish tasks. Specifically, the
fixed plane is determined by the center of shoulder joint, current
position of wrist, and target position of wrist. Working plane
is a constraint for inverse mapping from task space to human
arm triangle space. Hence, the unique human arm triangle for
a single target in task space can be determined by adding this
constraint.
The inverse mappings indicated in Fig. 4 are realized by in-
troducing the working plane, so the state variables in the three
spaces can be transformed successfully in the static sense, i.e.,
joint configuration, human arm triangle, and wrist position. Onthe basis of this, the process variables in different spaces can be
derived in the dynamic sense, i.e., joint trajectories, movement
primitives of human arm triangle, and path of the wrist. With
respect to the task space, any task can be described by a series of
key points. Various neighboring pairs of key points and the cen-
ter of shoulder can determine different working planes. In this
paper, we regard the motion of moving on the working plane
and switching working planes as the most fundamental move-
ment primitives for the motion of anthropomorphic arms. The
specific algorithms for forward and inverse kinematics and cor-
responding movement primitives are presented in the following
two sections.
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
4/13
DING AND FANG: NOVEL METHOD OF MOTION PLANNING FOR AN ANTHROPOMORPHIC ARM BASED ON MOVEMENT PRIMITIVES 627
Fig. 5. Algorithm principle of inverse mapping from task space to human arm
triangle space.
V. FORWARD/INVERSEKINEMATICS
OFANTHROPOMORPHIC ARM
A. Mappings Between Task Space and Human Arm
Triangle Space
1) Algorithm of Inverse Mapping: As stated earlier, a work-
ing plane can be defined by the center of shoulder and a neigh-
boring pair of key points. With respect to the current key point,
there are two working planes and two corresponding humanarm triangles (actually, there are two triangles for each working
plane, but only one is comfortable for the arm). One human
arm triangle is on the working plane formed with the previous
neighboring key point, referred to as human-arm-triangle-in
(HATin), and the other one is on the working plane formed
with the following neighboring key point, called human-arm-
triangle-out (HATout). As for the first key point, there is only
HATout for it. And only HATin exists for the last key point. It
is worth noting that how to transform a specific task to a series
of reasonable key points is a topic in future study.
Here,Cis defined as the current key point,Pis defined as the
previous neighboring key point, Fis the following neighboring
key point, and O is the center of shoulder joint. Parameters ofHATin include rin , lin , and, while rou t , lou t , and describethe HATout. (The angle between upper arm and forearm isthe same for the two triangles)
Algorithm principle is indicated in Fig. 5:
Specific algorithms: (right arm situation)
= arccosl2b + l
2s |OC|
2
2lb ls
if : arccos xp
x2P + y2P >arccos xc
x2c + y2c
then:Lin =OP OC(OP OC denotes the crossproduct of column vectors OPand OC)
else if : arccos
xpx2P + y
2P
arctan
zcx2c + y
2c
then:Lin =OP OC
else if : arctan
zpx2P + y
2P
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
5/13
628 IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 18, NO. 2, APRIL 2013
Fig. 6. Algorithmprinciple of inversemappingfromhumanarm trianglespaceto joint space.
B. Mappings Between Human Arm Triangle Space
and Joint Space
1) Algorithm of Inverse Mapping: The direction of the upper
arm is controlled by1 and2 . The ideal locus of the center ofelbow is a spherical surface. Its center is the center of shoulder,
and its radius is the length of the upper arm. Taking the range
of motion of the upper arm into account, we just consider the
situation of the hemispherical surface. The longitude of that
hemispherical surface is controlled by 1 , and the latitude is
controlled by 2 . The zero positions of1and 2are indicated inFig. 6. The range of1is 0
360, and 2is 90 0. There
are four frames: frame0{Ox0 y0 z0 }, frame1{Ox1 y1 z1 }, frame2{Ox2 y2 z2 }, and frame3{Ox3 y3 z3 }. Frame 1 is obtained byrotating frame 0 by 1 about the x0 axis. The positive rotationaldirection of1 is in the direction of the x0 axis, and that of2is along thez1 axis. (According to the right-hand rule)
Specific algorithm:
1 = arccos
0 ry
0 r2y +0 r2z
if :0 rz
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
6/13
DING AND FANG: NOVEL METHOD OF MOTION PLANNING FOR AN ANTHROPOMORPHIC ARM BASED ON MOVEMENT PRIMITIVES 629
Fig. 7. Calculating the two angular velocities by the linear velocity of wrist.
VI. ALGORITHM OFMOVEMENTPRIMITIVESBASED ONHUMANARMTRIANGLE
A. Movement Primitive of Moving on the Working Plane
As stated earlier, there are two human arm triangles for a
single key point, HATin and HATout. At the same time, thereare twohuman armtriangleson thesame working plane,HATout
for previous key point and HATin for following key point. So,
the question is how to determine the trajectory of each joint
between the two human arm triangles on the same working
plane.
Considering the task space, a straight-line is assumed as the
path between the two key points. Certainly, the form of path can
be of another type. Because any type of path can be expressed
approximately by many short straight lines, we just employ a
straight line as the general type of the path here. A specific
linear velocity function for the center of the wrist is set first, and
then two angular velocity functions can be solved by the linearvelocity function: angular velocity function of the upper arm
rotating on the working plane, and that of the forearm rotating
relative to the upper arm. Finally, the trajectory of every joint
can be obtained by the two angular velocity functions.
Specific algorithms:
1) Calculating the Two Angular Velocities by the Linear
Velocity: The HATout of the previous key point is referred to
as a beginning of the movement primitive. So, rb is defined as
the unit direction vector of the upper arm at the beginning, bis defined as the angle between upper arm and forearm, and the
HATin of the following key point is considered as an ending of
the movement primitive. So,re denotes the unit direction vector
of the upper arm at the end, and e is the angle between the up-per arm and the forearm. The common unit normal vector of the
plane of the human arm triangles isl. A new frame{Oxyz}is established in Fig. 7. Itsz axis isl, and itsxaxis isrb .
A and B are defined as the initial point and final point of
the center of the wrist, respectively. Their new coordinates
X1 (x1 , y
1 ) and X
2 (x
2 , y
2 ) in frame {Ox
yz} can be calcu-lated by a simple coordinate transformation.X(x, y)denotesthe coordinate of the wrist on lineAB. Variable s is defined as the
distance between pointX and point A. In addition, we define as the angle between the upper arm and the x axis on theworking plane, and as the angle between forearm and upper
arm. Then, mapping between the two angles and the position of
wrist can be formulated:
x1 +s x2 x
1
(x2 x1 )
2 + (y2 y1 )
2= lbcos + lscos( + )
y1 +s y2 y
1
(x2 x
1 )
2 + (y2 y1 )
2= lbsin + lssin( + ).
(2)
Defining
a= x2 x
1
(x2 x1 )
2 + (y2 y1 )
2,
b= y2 y
1
(x2 x1 )
2 + (y2 y1 )
2.
By differentiating (2), we obtaina v= lb
sin ls ( + )sin( + )
b v= lb cos + ls (
+ )cos( + )(3)
wherev denotes the linear velocity of the wrist. It is a function
of time v= v(t), and its sign is positive when the direction of itsvelocity corresponds to that of vector
AB.v can be considered
as a control interface to be set in advance.
Defining c= a[lbcos + lscos( + )] + b[lbsin +lssin( + )], and substituting it into (3), then
= cv
lb lssin
= av+ lssin( + )
lbsin + lssin( + ).
(4)
Formula (4) is a differential equation group, where (0) =0; (0) = b . Numerical solutions of(t), (t),
(t), and
(t) can be calculated by solving them. Since 4 =, thetrajectory of joint 4 can be obtained. And the trajectories of
joint 1, 2, and 3 can be solved by the (t)in the next part.2) Calculating the Trajectories of joint 1, 2, and 3 by (t):
The locus of the center of the elbow is an intersection of the
working plane and the spherical surface whose center is the
center of the shoulder and radius is the length of the upper arm.
If(x,y,z) is defined as the coordinate of the center of elbow,then
lx x + ly y+ lz z = 0
x2 + y2 + z2 =l2b(5)
where l(lx , ly , lz ) is the unit normal vector of the plane of humanarm triangle.
According to the forward mapping from joint space to human
arm triangle space, the coordinate of the center of elbow isx= lbcos 2
y = lbcos 1sin 2
z = lbsin 1sin 2 .
(6)
Using (5) and (6), we can obtain
cos2 2 + cos2 1sin
2 2
lxcos 2 + lycos 1sin 2
lz
2= 1.
(7)
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
7/13
630 IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 18, NO. 2, APRIL 2013
Fig. 8. Selection algorithm of the positivenegative sign of the angularvelocity
Defining
A1= 2(lxcos 2 + lycos 1sin 2 )(lycos 1cos 2 lxsin 2 )
l2zsin(22 )sin2 1
B1 = 2lysin 1sin 2 (lxcos 2 + lycos 1sin 2 )
+ l2zsin2 2sin(21 ).
By differentiating (7) on the both sides, we get
A1 2 =B1
1 . (8)
On the other hand, the linear velocity of the center of elbow
can be expressed by differentiating (6):x =lbsin 2
2
y =lb ( sin 1sin 2 1 + cos 1cos 2
2 )
z =lb (cos 1sin 2 1 + sin 1cos 2
2 ).
(9)
At the same time, we know that the angular velocity of the
upper arm in the working plane is . So, the magnitude of thelinear velocity of the elbow is||lb :
x2 + y2 + z2 =2 l2b . (10)
Using (9) and (10), we obtain
sin2 2 21 +
22 =
2 . (11)
The angular velocities of joints 1 and 2 can be solved by using
(8) and (11).
As shown in Fig. 8, the velocity of the center of the elbow
v1 arises from the positive rotation of the joint 1 of the anthro-pomorphic arm. The direction ofv 1 is the tangential directionof the circle, whose center is O and radius isO E, at point E.
v1 produces a rotation of the upper arm OEabout the axis 1 ,the magnitude of the angular velocity is |1sin 2 |. Similarly,
v2 arises from the positive rotation of the joint 2. The directionofv2 is tangential direction of longitude that pass the point E.v2 produces a rotation of the upper arm about the axis 2 , themagnitude of the angular velocity is |2 |. It is not difficult toprove that the axis 1 is always perpendicular to the axis 2 .The common effect ofv1 and v2 make the upper arm rotateabout axis12 with the angular velocity|
|.Specific algorithm is as follows:
Since the direction of the positive rotation vector perpendicu-
lar to the working plane is opposite to the direction of the normal
vector of the plane of human arm triangle as shown in Fig. 7.
Hence,
if 0
then 12 =l
else 0 (If the angle between12 and2 issmaller than 90)
then 2 =
2
1 + sin2 2 (A1 /B1 ), 1 =
A1B1
2
else if12 2
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
8/13
DING AND FANG: NOVEL METHOD OF MOTION PLANNING FOR AN ANTHROPOMORPHIC ARM BASED ON MOVEMENT PRIMITIVES 631
Fig. 9. Algorithm principle of the movement primitive of switching differentworking planes.
B. Movement Primitive of Switching Different Working Planes
When the anthropomorphic arm needs to move on a different
working plane, self-motion rotation is used to switch the hu-
man arm triangle to that working plane, i.e., rotating about the
shoulderwrist axis and keeping the wrist static.
Specific algorithms:
As indicated in Fig. 9, OEb W and OEe W denote theinitial human arm triangle and final human arm triangle, re-
spectively, in this movement primitive. Because the human arm
triangle is rotated about the axis OW that passes through the
centers of shoulder and wrist, the locus of the center of the el-
bow is arcEb Ee whose center is O and radius isO Eb .O isthe intersection point of axis OWand the plane of arcEb Ee .AndOWis perpendicular to the plane ofEb Ee .(xO , yO , zO )and(xW, yW, zW) denote the coordinates of point O
and W.
(x,y,z)denotes the coordinate of the elbow.
ArcEb Ee can be considered as the intersection of the planeand the spherical surface whose center is O and radius is OEb .So
x x WO W + y y WO W + z
zWO W =OO
(x xO )2 + (y yO )
2 + (z zO )2 =O E2b
(14)
where((xW/OW), (yW/OW), (zW/OW))is the unit normal
vector of the plane ofEb Ee . Combining (6) and (14), we get:OE2b = (lbcos 2 xO )
2 + (lbcos 1sin 2 yO )2
+
OO OW lbcos 2 xW lbcos 1sin 2 yW
zW zO
2.
(15)
Defining
A2 =2lbsin 2 (lbcos 2 xO ) + 2lbcos 1cos 2
(lbcos 1sin 2 yO )2 lbzW
(yW cos 1cos 2 xW sin 2)
OO OW lbcos 2 xW lbcos 1sin 2 yW
zW zO
B2 = 2lbsin 1sin 2 (lbcos 1sin 2 yO )2 lbzW
yW sin 1
sin 2
OOOW lbcos 2 xW lbcos 1sin 2 yW
zW zO
.
By differentiating (15), we have
A2 2 =B2 1 . (16)
On the other hand, the linear velocity of the elbow can be
expressed as follows:
x2 + y2 + z2 =2 OE2b (17)
where denotes the angular velocity of human arm trianglerotating about shoulderwrist axis. It is a function of the time
= (t). The velocity is positive when the direction of theangular velocity vector is coincident with that of vector
OW.
And it can be considered as a control interface to be set in
advance. Using (9) and (17), we obtain
sin2 2 21 + 22 =2 O
E
2
bl2b
. (18)
The solution to the problem of the sign of the angular velocity
of joint 1 and 2 is similar to that of the first movement primitive.
So, it is not presented here.
The derivation of the expression of angular velocity of joint 3
is similar to that of the first movement primitive also. The only
difference is that the unit normal vector l(lx , ly , lz ) becomes avariable. The expression is as follows:
3 = [(lysin 1cos 2 lzcos 1cos 2 ) 1
+ (lxcos 2 + lycos 1sin 2 + lzsin 1sin 2 ) 2
+ lxsin 2 lycos 1cos 2
lzsin 1cos 2 ]/(lzcos 1 lysin 1 ). (19)
The specific expressions of l(lx , ly , lz ) and l(lx , l
y , l
z ) are
solved in the following part. As indicated in Fig. 9, it is not
difficult to prove that l is the tangent line of the arcEb Ee .And the direction of l is what can make the direction of the
rotation vector arising from l coincident with vectorOW. Es-
tablish a new frame as Fig. 9 (the origin is arbitrary), the di-
rection of zne w is the same as that ofOW, and the direction
ofxne w is coincident with that ofOEb . So,l can be expressed
in the new frame (( sin(t
0 (t)dt), cos(t
0 (t)dt), 0)T . Be-
cause the rotation matrix of the new frame relative to the oldframe is o ld Rne w = (xne w , yne w , zne w ), where
zne w = 1
x2W + y2W + z
2W
(xW, yW, zW)T
xne w = 1
(xEb xO )2 + (yEb yO )
2 + (zEb zO )2
(xEb xO , yEb yO , zEb zO )T
3 = [(lysin 1cos 2 lzcos 1cos 2 )
1 + (lxcos 2 + lycos 1sin 2 + lzsin 1sin 2 )
2 ]
(lzcos 1 lysin 1 ) . (13)
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
9/13
632 IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 18, NO. 2, APRIL 2013
yne w =zne w xne w So
l= o ld Rne w
sin
t0
(t)dt
, cos
t0
(t)dt
, 0
TThen:
lx =ol d Rne w (1, 1)sin
t
0
(t)dt+o ld Rne w (1, 2)
cos
t0
(t)dt
ly =
ol d Rne w (2, 1)sin
t0
(t)dt
+o ld Rne w (2, 2)
cos
t0
(t)dt
lz =
ol d Rne w (3, 1)sin
t0
(t)dt
+o ld Rne w (3, 2)
cos t0 (t)dtwhere we have used ol d Rne w (1, 1) for the matrix element ofol d Rne w in the first row and first column. By differentiating lx ,ly , andlz , we can obtain
lx =ol d Rne w (1, 1) (t)cos
t0
(t)dt
o ld Rne w (1, 2) (t)sin
t0
(t)dt
ly =
ol d Rne w (2, 1) (t)cos t
0
(t)dto ld Rne w (2, 2) (t)sin
t0
(t)dt
lz =
ol d Rne w (3, 1) (t)cos
t0
(t)dt
o ld Rne w (3, 2) (t)sin
t0
(t)dt
.
These aforementioned expressions can be substituted into for-
mula (19), and then a differential equation group can be formed
by (16), (18), and (19). The trajectories of joint 1, 2, and 3 can
be obtained by solving the differential equation group. And the
value of joint 4 always remains constant in this primitive.
VII. SIMULATIONCOMPARISON
A. Feature of Motion Velocity of Human Arm
As stated in the previous section, the control interface of the
movement primitive of movingon the working plane is the linear
velocity of the wristv(t), while that of the movement primitiveof switching different working planes is the angular velocity of
the human arm triangle rotating about the shoulderwrist axis
(t). The latest research results of neurophysiology showed thatthe motion velocity curve of the human arm can be characterized
by a unimodal, bell-shaped tangential profile [22]. The profile
Fig. 10. Profile of the motion velocity of the human arm.
is simulated approximately employing the form of the cosine
function here. Defining
v(t) = vma x
2 1cos2
tal l t
(t) = m ax
2
1cos
2
tal l t
(20)
wherev m ax and ma x denote the maximums of the linear ve-locity of the first movement primitive and the angular velocity
of the second movement primitive, respectively. tal l is defined
as the whole time the movement primitive takes. The specific
profile is showed in Fig. 10.
The area of the shaded part surrounded by the curve and
the time axis denotes the whole moving distance sal l for the
first movement primitive or the whole rotation angle al l for
the second one. The shape of the curve can be adjusted by themaximum motion velocityvm ax orm ax and the whole motiontime tal lto meet specific requirements. Integrating v(t) and (t),we can obtain the constraints
sal l =vm ax tal l
2 , al l =
ma x tal l2
.
B. Simulation Comparison With a Traditional Method
The anthropomorphic arm is a type of special redundant ma-
nipulators. As for the inverse solutions of the redundant ma-
nipulator, a traditional method based on the pseudoinverse is
employed widely, i.e., minimum norm solution. This traditional
method is an optimization method whose optimization objectiveis to minimize the joint velocity. The mathematical expression
of this method is as follows:
Q =J+ X. (21)
Here, Q denotes the joint velocity column vector, i.e.,[1 ,
2 ,
3 ,
4 ]
T , X denotes the linear velocity column vectorof the center of the wrist, i.e., [xW, y
W, z
W]
T, and J+ is the
pseudoinverse of the Jacobian matrix of the arm.
Assuming the lengths of the upper arm and forearm are each
1, the center of shoulderO is set to be the origin of the frame.
The path of the wrist is from pointA(0, 1, 0.2)to intermediate
point B(0.3, 1, 0.5), then to point C(0.8, 1, 0.4). The maximum
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
10/13
DING AND FANG: NOVEL METHOD OF MOTION PLANNING FOR AN ANTHROPOMORPHIC ARM BASED ON MOVEMENT PRIMITIVES 633
Fig. 11. Simulation result by using the traditional method.
Fig. 12. Key configurations for specified task during the motion process.
linear velocityvm ax in two segments, AB and BC, is all set tobe 0.2, so the traditional method steps are as follows.Step 1: describe the task in the task space. In order to con-
trast the traditional approach with our proposed approach, the
expression of the magnitude for the linear velocity is set subject
to the anthropomorphic motion rule (20):v(t) = 0.1(1cos(t/2.1215)), t [0, 4.243s]
v(t) = 0.1(1cos(t/2.5495)), t [4.243, 9.342s].
Step 2: solve the pseudoinverse of the Jacobian matrix, and
obtain the minimum norm solution of joint velocity using for-
mula (21).
Step 3: solve the differential equation group (21) using aRungeKutta approach, and get the joint trajectory of each joint.
The initial value of each joint is identical to that of the proposed
method.
The simulation result is shown in Fig. 11 by using MATLAB.
In Fig. 11, the blue trajectory is the trajectory of the center of
elbow, and the red one is for the wrist. The arrangements of
these red and blue points reflect the anthropomorphic motion
rule (20) well.
Next, the whole steps of our proposed method are presented
in the following part:
Step 1: describe the task in the task space. The specified task
can be decomposed into three movement primitives: moving on
Fig. 13. Simulation result of the first movement primitive.
Fig. 14. Simulation result of the second movement primitive.
Fig. 15. Simulation result of the third movement primitive.
the working plane determined by points O, A, and B, switching
working planes at point B, and moving on the working plane
determined by points O, B, and C. Definingm ax as 0.1 for thesecond movement primitive, the motion velocity expression of
each movement primitive isv1 (t1 ) = 0.1(1cos(t1 /2.1215)), t1 [0, 4.243s]
2 (t) = 0.05(1cos(t2 /9.898)), t2 [0, 19.796s]
v3 (t) = 0.1(1cos(t3 /2.5495)), t3 [0, 5.099s].
Step 2: compute certain of key configurations for specified
task by using our proposed algorithm in Section V.
In Fig. 12, there are four key configurations of human arm
triangle, i.e., OE1 A, OE2 B, OE3 B, andOE4 C. Thetwo human arm triangles, OE1 A andOE2 B, are on theworking plane determined by points O, A, and B. The other
two triangles,OE3 B andOE4 C, are on the working plane
determined by points O, B, and C.
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
11/13
634 IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 18, NO. 2, APRIL 2013
Fig. 16. Simulation result by using the proposed method.
Step 3: obtain the differential equation groups of these three
movement primitives by using our proposed analytical algo-
rithm in Section VI.
Step 4: solve these three differential equation groups us-
ing the RungeKutta approach, respectively, and get the joint
trajectories for each movement primitive, shown in Fig. 13
Fig. 15.
Step 5: combine the three joint trajectories of movement prim-
itive to one whole joint trajectory, shown in Fig. 16.
C. Summary of Simulation Comparison
1) Singularity: Since the pseudoinverse of the Jacobian ma-
trix is needed to be computed in the traditional approach, there
is a problem regarding the singularity of the Jacobian matrix.
When the Jacobian matrix is singular, the approach is invalid.
Because the proposed approach is not involved with theJacobian
matrix, there is no problem about this.
2) Computation Time: With respect to solving the joint ve-
locity, the traditional method is a numerical method due to the
computation of the pseudoinverse of the Jacobian matrix. On
the contrary, the proposed method is an analytical method. So,
the computation time of the proposed method is shorter than
that of the traditional method in general, although there is sometime consumption of combining several movement primitives.
3) Calculation Accuracy: Since these two methods all em-
ploy the RungeKutta approach to solve the differential equation
group of joint velocity, the accuracies of two methods are almost
same.
4) Intuitiveness: Without the intermediate movement prim-
itive space, the motion planning is dealt with as a whole in
the tradition method, so the specific motion process of the con-
figuration cannot be controlled, i.e., the motion process is not
predictable and intuitive. Conversely, the proposed method de-
composes the whole motion process into several movement
primitives, and the decomposition conforms to some anthro-
Fig. 17. Real picture and kinematics model of PA-10A-ARM.
pomorphic rules. Hence, the planned motion process is more
intuitive and intelligible.
5) Generality and Particularity: The traditional method is a
unified approach for all types of redundant manipulators. Differ-
ent mapping information between the joint space and task space
for different kinds of redundant manipulators are contained in
respective Jacobian matrices. Since there is no explicit physi-
cal meaning of the motion process in these Jacobian matrices,
the mappings are implicit and chaotic. The anthropomorphic
arm is a particular kind of redundant manipulator, so the pro-
posed method can be regarded as an exclusive approach for this
special redundant manipulator. By introducing the intermedi-
ate movement primitive space, analytical algorithms use some
anthropomorphic motion rules to reconstruct the mappings be-
tween the joint space and task space just like making chaotic
Jacabian matrix meaningful.
VIII. EXPERIMENTS
A. Experiment Setup
A number of experiments have been realized with a PA-10A-
ARM. Fig. 17 shows its real picture. Although the PA-10A-
ARM has the structure of an anthropomorphic arm with 7 DOFs,
its D-H parameters are different from that of model proposed
in this paper. So, if we want it to execute the expected motions
that we have planned in simulation, an effective transformation
between thetwo differentjoint spacesis necessary. From another
point of view, the method proposed here is suitable for any arm
that has the human-like structure by a simple transformation.
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
12/13
DING AND FANG: NOVEL METHOD OF MOTION PLANNING FOR AN ANTHROPOMORPHIC ARM BASED ON MOVEMENT PRIMITIVES 635
Fig. 18. Experiment of primitive of moving on the working plane.
Fig. 19. Joint trajectories of PA-10A-ARM in experiment B.
B. Experiment of Movement Primitive of Moving
on the Working Plane
Fig. 18 shows an experiment on the movement primitive of
moving on the working plane. Its frame sequence is presented.
In order to simulate the effect of the real right arm, we rotated
the frames in a clockwise direction by 90. In this experiment,
the center of the wrist moves from point (200 200 500)(mm) topoint (100 200 800)(mm) along the straight-line path, whichis described in Fig. 18, and the arm always remains on the plane
determined by the center of shoulder and the two target points.
The maximum linear velocity of the wrist is set to be 63.2 mm/s,
and the running time is 10 s.
PA-10A-ARM uses its first four joints to achieve the desired
pose. Fig. 19 shows the joint trajectories during the experiment.
The red solid line denotes joint 1, the blue solid line is joint 2,
the red dashed line indicates joint 3, and the blue dashed lineexpresses joint 4.
C. Experiment of Movement Primitive of Switching
Different Working Planes
Theframe sequence of the experiment on themovement prim-
itive of switching working planes is presented in Fig. 20. The
center of wrist is located at point (250, 500, 0) (mm) stati-cally. The whole arm is rotated about the shoulderwrist axis
by 0.91 rd. The maximum angular velocity is set to be 0.182 rd/s,
and the running time is also 10 s. Fig. 21 gives the specific joint
trajectories during the experiment.
Fig. 20. Experiment of primitive of switching different working planes.
Fig. 21. Joint trajectories of PA-10A-ARM in experiment C.
IX. CONCLUSION
A three-level motion planning framework joint spacemovement primitive spacetask space has been proposed to
satisfy theoperation demandwhen the anthropomorphicarm has
been facing increasingly complex tasks. Specifically, a human
arm triangle model is employed as the state description of the
configuration of anthropomorphic arms. Then, the movement
primitive space is constructed based on the human arm triangle,
which can be formulated mathematically. The mappings among
joint space, human arm triangle space, and task space are de-
rived in detail, and the forward and inverse kinematics of the
anthropomorphic arm are established systematically. On this ba-
sis, the solutions to the two basic movement primitives, that is,
moving on the working plane and switching different work-
ing planes, are obtained. The feasibility and effectiveness ofthe method are verified by the results of simulations and exper-
iments. The proposed motion planning method of introducing
the movement primitives has merit in imitating the motion pro-
cess of the human arm compared with traditional methods of
motion planning for an anthropomorphic arm.
There are some problems needed to be solved in our study.
Only the first four joints are considered for positioning the
wrist, so the last three joints need to be taken into account for
proper orientation in future work. In addition, we employ only
two fundamental movement primitives. Possibly, more types
of movement primitives will be obtained in the future research.
Hence, it is necessary to do a comprehensive study on movement
-
8/11/2019 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives
13/13
636 IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 18, NO. 2, APRIL 2013
primitives, including classification, extraction rules, and com-
bination rules for movement primitives.
REFERENCES
[1] T. Yoshikawa, Manipulability of robotics mechanism, Int. J. Robot.Res., vol. 4, no. 2, pp. 39, 1985.
[2] O. Khatib, Real-time obstacle avoidance for manipulators and mobile
robots, Int. J. Robot. Res., vol. 5, no. 1, pp. 9098, 1986.[3] T. Yoshikawa, Dynamicmanipulabilityof roboticsmechanisms,in Proc.
IEEE Int. Conf. Robot. Autom., 1985, p. 10331038.[4] O. Khatib and J. Burdick, Optimization of dynamics in manipulator
design: Operational space formulation, Int. J. Robot. Autom., vol. 2,no. 2, pp. 9097, 1987.
[5] J. M. Hollerbach and K. C. Suh, Local versus global optimization ofredundant manipulators, in Proc. IEEE Int. Conf. Robot. Autom., 1987,pp. 619624.
[6] J. M. Hollerbach and K. C. Suh, Redundant resolution of manipulatorsthough torque optimization, in Proc. IEEE Int. Conf. Robot. Autom.,1985, pp. 10161021.
[7] E. Garcia, M. A. Jimenez, P. G. Santos, and M. armada, The evolution ofrobotics research, IEEE Robot. Autom. Mag., vol. 14, no. 1, pp. 90103,Mar. 2007.
[8] X. Ding,Technology of Anthropomorphic Dual-Arm Robots (in Chinese).
Beijing, China: Science Press, 2011.[9] K. Abdel-Malek, Z. Mi, J. Z. Yang, and K. Nebel, Optimization-basedtrajectory planning of the human upper body, Robotica, vol. 24, no. 6,pp. 683696, 2006.
[10] S. Berman, D. G. Liebermann, andT. Flash,Application of motoralgebrato the analysis of human arm movements, Robotica, vol. 26, no. 4,pp. 435451, 2008.
[11] J. H. Kim, J. Z. Yang, and K. Abdel-Malek, Planning load-effectivedynamic motions of highly arcticulated human model for generic tasks,
Robotica, vol. 27, no. 5, pp. 739747, 2009.[12] Z. Mi, J. Z. Yang, and K. Abdel-Malek, Optimization-based posture
prediction for human upper body, Robotica, vol. 27, no. 4, pp. 607620,2009.
[13] T. Flash and B. Hochner, Motor primitives in vertebrates and inverte-brates, Curr. Opin. Neurobiol., vol. 15, no. 6, pp. 660666, 2005.
[14] P. Viviani,Generation and Modulation of Action Patterns. Berlin, Ger-many: Springer, pp. 201216, 1986.
[15] F. A. Mussa-Ivaldi and E. Bizzi, Motor learning through the combinationof primitives, Philos.Trans.R. Soc. Lon. B, Biol. Sci., vol. 355, pp.17551769, 2000.
[16] F. A. Mussa-Ivaldi andS. A. Solla,Neural primitives formotion control,IEEE J. Oceanic Eng., vol. 2, no. 3, pp. 640650, Jul. 2004.
[17] J. Denavit and R. S. Hartenberg, A kinematic notation for lower-pairmechanisms based on matrices, J. Appl. Mech., vol. 22, no. 1, pp. 215221, 1955.
[18] H. DaiKinematics of Human Body (in Chinese), Beijing, China: PeoplesMedical, pp. 71103, 2008.
[19] C. B. Hart and S. F. Giszter, Modular premotor drives and unit burstsas primitives for frog motor behaviors, J. Neurosci., vol. 24, no. 22,pp. 52695282, 2004.
[20] P. S. G. Stein, Neuronal control of turtle hind limb motor rhythms, J.Comp. Physiol. A, vol. 191, pp. 213229, 2005.
[21] D. Hestenes, Invariant body kinematics: II. Reaching and neurogeome-try, Neural Netw., vol. 7, no. 1, pp. 7981, 1994.
[22] T. Flash and N. Hogan, The coordination of arm movements: An ex-perimentally confirmed mathematical model, J. Neurosci., vol. 5, no. 7,pp. 16881703, 1985.
Xilun Ding received the B.Eng. degree in mechan-ical engineering from Zhengzhou Institute of Tech-nology, Henan, China, in 1991, and the M.Eng. de-gree in mechanical engineering and the Ph.D. degreein mechatronics and automation from Harbin Insti-tute of Technology, Harbin, China, in 1994 and 1997,respectively.
He was with the Robotics Research Institute ofBeihang University as a Postdoctoral Research Fel-
low from 1997 to 1998. In 1998, he became an As-sociate Professor at Beihang University. He was a
Senior Visiting Scholar in the Academy of Mathematics and Systems Sciences,Chinese Academy of Sciences, from September 1999 to January 2000. FromSeptember 2000 to September 2001, he was a Postdoctoral Research Fellow inthe School of Computing, Information Systems and Mathematics, South BankUniversity, London, U.K. He is currently a Professor in the Robotics Institute,Beihang University, Beijing, China. Also, he was appointed as a Visiting Profes-sor of mechanical engineering at Kings College, London, U.K., from 2006 to2009. His research interests include motion planning and control of bioinspiredrobots and space robots, and dynamics of compliant mechanical systems androbots.
Cheng Fang received the B.S. and M.S. degreesin mechanical design and theory from Beijing Uni-versity of Technology, Beijing, China, in 2006 and2009, respectively. He is currently working towardthe Ph.D. degree under the supervision of Prof. X.Dingat the RoboticsResearchInstitute, BeihangUni-versity, Beijing, China.
His research interestsinclude motion planningandcontrol of anthropomorphic arms.