2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives

download 2013 a Novel Method of Motion Planning for an Anthropomorphic Arm Based on Movement Primitives

of 13

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.