chaman sandipan icmbd preprint

Upload: ba-cham

Post on 03-Jun-2018

235 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    1/21

    Trajectory-tracking control of a planar 3-RRRparallel manipulator

    Chaman Nasa and Sandipan BandyopadhyayDepartment of Engineering Design

    Indian Institute of Technology MadrasChennai, India

    Abstract

    Parallel manipulators have higher payload capacity, higher me-chanical rigidity and better accuracy than their serial counter parts.In order to utilize all these advantages, an effective control scheme isrequired. But the highly non-linear dynamic model and the presenceof passive links in parallel manipulators make it difficult to develop acontrol scheme which can handle these non-linearities and can be gen-erally applied to any parallel manipulator. This paper presents thetrajectory-tracking control scheme of a planar 3-RRR parallel manip-ulator for pre-determined singularity-free-paths. The control schemepresented in this paper is general and can be applied to any parallelmanipulator.

    1 IntroductionThe 3-RRR is a planar parallel manipulator with three-degrees-of-freedom.It can be used for many applications, for example, pick and place, prole-cutting etc.

    The way the control scheme is developed in order to handle the highlynon-linear terms and coupling in the dynamic model of a parallel manipula-tor is very important. Dynamic model-based control scheme employing thecomputed torque control algorithm is successfully being used (see for e.g. [?],[?], [?]) in trajectory-tracking for parallel manipulators. We have developed asimilar control scheme on the 3-RRR manipulator such that it can be appliedto serial, parallel and hybrid manipulators.

    In the following sections we present the kinematics, dynamics and controlsof the manipulator. We reduce the dynamic model in the full conguration

    1

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    2/21

    space to the actuator space, with which we can treat any parallel manipulatorequivalent to a serial manipulator. With this dynamic model, we commandthe manipulator to follow a particular path. We add disturbances to themodel simulating parametric uncertainties to make it more realistic. Thesame simulation we performed at higher speed with no disturbances added.Numerical results illustrate the formulations presented.

    2 Kinematic model of the 3-RRRIn this section, we present the zeroth and rst order kinematics of the ma-nipulator.

    2.1 Geometry of the manipulatorThe 3-RRR planar parallel manipulator is shown in gure (1).

    Figure 1: Schematic of the 3-RRR planar parallel manipulator

    The end-effector of the manipulator is an equilateral triangle, p 1 p 2 p 3 ,with each side of length a, which is connected to a xed base b1 b2 b3 , whichalso forms an equilateral triangle with b as the length of each side. Thevertices p i are connected to the corresponding base points of manipulator b iby three identical ngers. Each nger comprises of two links, of length li andr i respectively, where i = 1, 2, 3. All joints are revolute joints. The actuatorsare located at bi , and therefore the links l1 , l2 , l3 are called the active linksand r1 , r 2 , r 3 the passive links. The platform has three degrees-of-freedom.These are the two translations in the plane parallel to the xed base and arotation about the normal to this plane.

    2

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    3/21

    2.2 Forward kinematicsThere are three active (i.e., actuated) variables represented as = ( 1 , 2 , 3 )T and four passive (i.e., non-actuated) variables represented as = ( 1 , 2 , 3 , )T .The full conguration space can be represented by q , where, q = ( T , T ).Note that the orientation of the moving platform, , is included in the pas-sive variable , since like 1 , 2 , 3 , it is also determined indirectly throughthe solution of the forward kinematics of the manipulator.

    2.2.1 Loop closure equations

    The joint variables are related to the position and orientation of the end-effector by the constraints imposed by the joints. There are three possibleclosed-loops: (1) starting from point b1 to point b2 via points p 1 , p 2 , (2)starting from point b1 to point b3 via points p 1 , p 3 , (3) starting from pointb2 to point b3 via points p 2 , p 3 . The positions for all the points included inthe three loops are as follows:

    b1 = (0 , 0)T , b2 = ( b,0)T , b3 =b2

    , 32

    bT

    p 1 = ( l1 cos1 + r1 cos1 , l1 sin 1 + r1 sin 1 )T

    The position of the point p 2 dened in terms of l1 , r 1 , a, b1 is given by: pb 12 =( l1 cos1 + r1 cos1 + a cos , l 1 sin 1

    + r1 sin 1 + a sin )T

    The position of the point p 2 dened in terms of l2 , r 2 , b2 is given by:

    pb 22 =( r 2 cos2 + l2 cos2 + xb2 , r 2 sin 2+ l2 sin 2 + yb2 )T

    Similarly, the position of the point p 3 starting from point b2 through l2 , r 2 isgiven by:

    pb 23 =( xb2 + l2 cos2 + r2 cos2 + a cos23

    + ,

    l2 sin 2 + r2 sin 2 + a sin23

    + )T

    Starting from b3 the position of the point p 3 through l3 , r 3 is given by:

    pb 33 =( r 3 cos3 + l3 cos3 + xb3 , r 3 sin 3+ l3 sin 3 + yb3 )T

    3

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    4/21

    Considering the rst loop, i.e., b1 to b2 via points p 1 , p 2 , the loop closure canbe written as:

    p b 12 p b 22 = 0 (1)Writing the loop-closure equations in terms of X and Y coordinates as weget:

    1 = l1 cos1 + r1 cos1 + a cos r 2 cos2l2 cos2 xb2 = 0 (2)

    2 = l1 sin 1 + r1 sin 1 + a sin r 2 sin 2l2 sin 2 = 0 (3)

    Similarly, considering the second loop, i.e., b2 to b3 via points p 2 , p 3 , theloop closure can be written as:

    p b 23 p b 33 = 0 (4)The corresponding loop-closure equations in terms of X and Y coordinatescan be written as:

    3 = bx 2 + l2 cos2 + r2 cos2 + a cos2

    3 +

    r 3 cos3 l3 cos3 xb3 = 0 (5)4 = l2 sin 2 + r2 sin 2 + a sin

    23

    +

    r 3 sin 3 l3 sin 3 yb3 = 0 (6)Put together, the loop-closure constraints can be written as:

    (q ) = ( , ) = 0, (7)

    where1

    , = ( 1 , 2 , 3 , 4 )T

    The forward kinematics problem of the manipulator refers to nding thesolutions = ( ) of equation (7).

    1 We are not considering the last loop, as the constraint equations resulting from thethird loop are dependent on the other four independent constraint equations resultingfrom the rest of the two loops.

    4

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    5/21

    2.2.2 Solution of the loop-closure equations

    Equations (2, 3) can be solved linearly for sin1 and cos 1 to obtain:

    cos 1 = l1 cos1 a cos + r2 cos2 + l2 cos2 + bx 2r 1

    sin 1 = l1 sin 1 a sin + r2 sin 2 + l2 sin 2r 1

    (8)

    From these, 1 is obtained uniquely:

    1 = atan2(sin 1 , cos 1 ) (9)

    where atan2(sin( ), cos()) represents the two-argument arc-tangent function.All the three ngers of the manipulator are considered as identical i.e., l1 =l2 = l3 = l and r1 = r2 = r3 = r. Eliminating 1 by squaring and addingequations (8), we get an equation f 1 ( , 2 , ) = 0, which is of the form:

    A cos + B sin + C = 0, (10)

    where,

    A = 2br3 + 2 ar 3 cos + 2 lr 3 cos 1 2lr

    3 cos 2

    B = 2ar3

    sin + 2 lr3

    sin 1 2lr3

    sin 2C = 2l2 r 2 cos(1 2 ) + 2 alr

    2 cos( 2 )2alr

    2 cos( 1 ) + 2 abr2 cos + 2blr 2 cos 1

    2blr2 cos 2 (a

    2 + b2 + 2 l2 )r 2

    Similarly, from equations (5, 6), we obtain 3 and another equation f 2 ( , 2 , ) =0, which is of the same form as equation (10), with A, B and C given as:

    A = br3 + ar 3 cos 2lr

    3 cos 2 + 2 lr 3 cos 3

    + 3ar 3 sin B = 3br3 3ar

    3 cos + ar 3 sin 2lr3 sin 2

    + 2 lr 3 sin 3C = alr 2 cos( 2 ) alr

    2 cos( 3 )+ 2 l2 r 2 cos(2 3 ) + 3alr

    2 sin( 2 )+ 3alr 2 sin( + 3 ) + 3blr 2 sin 2 3bl

    2 sin 3+ blr2 cos 3 + 2 abr 2 cos blr

    2 cos 2

    (a2 + b2 + 2 l2 )r 2

    5

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    6/21

    Incidentally, f 1 , f 2 are linear in cos 2 , sin 2 and therefore applying a sim-ilar procedure as above, we solve for 2 , and obtain the following equationcontaining only one unknown, :

    f ( , ) = 0 (11)

    This trigonometric equation is converted into an algebraic equation by sub-stituting the trignometric terms cos and sin as follows (see. e.g., [?]):

    cos = 1t

    2

    1 + t2, sin =

    2t1 + t2

    ,

    where,

    t = tan2

    Using the above relations, after rationalization and some symbolic manipu-lations, we get six degree polynomial in t :

    a0 t 6 + a1 t5 + a2 t

    4 + a3 t

    3 + a4 t

    2 + a5 t + a6 = 0 (12)

    The coefficients, ai , i = 0, . . . , 6, are obtained as closed-form expressions of the architecture parameters ( a,b,l ,r ) and the motors input, . For a givenset of numerical values of the inputs, equation (12) can be solved numericallyfor all the six values of t . Therefore all the corresponding values of and ican be obtained uniquely , leading to the 6 sets of solutions to the forwardkinematics problem.

    2.3 Velocity kinematicsReferring to gure (1), coordinates of the center point p , of the movingplatform are function of the all the joint variables and can be expressed as:

    p = p (q ) = p ( , ) (13)

    Differentiating equation (13) with respect to time to get:

    p = p

    + p

    Or,

    p = J p + J p (14)

    6

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    7/21

    where,

    J p = p

    , J p = p

    From equation (14), to calculate p , we need to nd out passive joint rates.In order to do so we differentiate equation (7) with respect to time to get:

    +

    = 0

    =

    1 , det

    = 0

    = J 1

    J

    where,

    J =

    , J =

    Therefore, we can write:

    = J , J =

    J 1 J , det( J )

    = 0 (15)

    Substituting in equation (14), we get:

    p = J p + J p J

    p = J v

    where,

    J v = J p + J p J (16)

    As we can calculate using equation (15), we can always write:

    p = p q

    q = J pq q , where J pq = p q

    (17)

    All the Jacobian matrices appearing above can be computed at any cong-uration after the forward kinematics problem has been solved. Therefore,the linear velocity of any point of interest, can be obtained by the aboveprocess, if the joint velocity vector, , is known. With the knowledge of theposition and velocities, we now proceed to formulate the dynamic model of the manipulator.

    7

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    8/21

    2.4 Singularity conditionDue to its closed-loop structure, the 3-RRR has three types of singularities [ ?]i.e., (a) inverse or loss-type singularity, ( b) forward or gain-type singularity,(c) combined singularity with loss-type and gain-type singularity together.

    Among these three types, gain type singularity requires special attentionas it restricts the motion of the manipulator within the workspace. The con-dition for gain type singularity for 3-RRR manipulator is given in a simpliedform in [?]:

    det( J ) = ar3

    {sin(1 ) sin(2 3 )+ sin( 1 2 )sin +

    23 3 } = 0, (18)

    where, J = . We dene another singularity measure, S ( ) which isindependent of the scale of the manipulator:

    S ( ) = det(J )

    ar 3 (19)

    3 Dynamic model of the 3-RRR

    The dynamic model is an essential part of the control scheme as it is used forfeedback linearisation of the equation of motion in the control scheme. Weuse the Lagrangian framework to develop the equation of motion.

    3.1 Constrained Lagrangian formulation in the full con-guration space

    Let T i be the kinetic energy of the ith link. Then the total kinetic energy T of the manipulator can be written as:

    T =7

    i=1

    T i , T i = 12v T p c i m i v p c i + 12

    i T I ci i , (20)

    where, mi is the mass, vp c i is the velocity of the mass center p c i , i is theangular velocity and I ci is the moment of inertia of the ith link about itscenter with reference to the body-xed frame. Using equation (17), we canwrite

    v p c i = J pq i q , (21)

    8

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    9/21

    and similarly, i = J i q . Therefore, we rewrite T i as:

    T i = 12

    q T J T pq i m i J pq i q + 12

    q T J T i I ci J i q (22)

    From equation (22), the mass matrix of the system can be obtained as:

    M =7

    i =1

    M i (23)

    where,M i = J T pq i m i J pq i + J

    T i I ci J i

    Further, the matrix of centripetal and Coriolis force, C , can be computedfrom the mass matrix (see, for e.g., [ ?]):

    C ij = 12

    n

    k =1

    M ij q k

    + M ik

    q j M kj

    q i q k (24)

    With these elements, we can now put together the Lagrangian equation of motion for the manipulator as:

    M (q )q + C (q , q )q = + c , (25)

    where, represents the applied torques and c represents the constraintforces and moments associated with the loop-closure constraints. Note that

    the potential term G (q ) representing the forces due to gravity is not takeninto account in equation (25) as the mechanism is considered in horizontalXY plane for all the simulations.

    It is well-known that c can be written as J T q (see, e.g., [?]), where:

    J q = q

    Therefore, the equation of motion of the manipulator can be written as:

    M (q )q + C (q , q )q = + J T q , (26)

    where, is a vector of Lagrange multipliers. It is possible to explicitlyevaluate from equation (26) by obtaining q from it and substituting it inthe second derivative of the constraint equation (q ) = 0 (see, e.g., [?])

    = (J q M 1 J T q )

    1

    {J q q + J q M 1 ( C q )},

    where,

    det( J q M 1 J T q ) = 0.

    However, it is also possible to eliminate without explicit evaluation (seee.g., [?]).

    9

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    10/21

    3.2 Reduction of the model to the actuator spaceIn order to eliminate from equation (26), rst we rewrite it as:

    M (q )q + C (q , q )q J T q = 0 (27)Pre-multiplying equation (27) by q T , we get:

    q T M (q )q + q T C (q , q )q q T q T J T q = 0 (28)Note that:

    ddt = 0 J q q = 0, (29)

    From equation (29),

    q T J T q = 0

    Therefore, in equation (28), q T J T q = 0 for any nite . This step, there-fore, effectively eliminates the constraint force term, and creates an equivalent unconstrained dynamic system as follows:

    q T M (q )q + q T C (q , q )q

    q T = 0, (30)

    Using equation (15), we can write q as:

    q =

    = I 3J = J q , (31)

    where, I 3 is the 33 identity matrix.Differentiating equation (31) with respect to time, we get:q = J q + J q (32)

    Substituting q , q from equation (31, 32), into equation (30), we get:

    T

    (J T q MJ q + J T q M J q + CJ q

    J T q ) = 0 (33)Equation (33), is satised by any arbitrary and therefore,

    J T q MJ q + J T q M J q + CJ q J T q = 0 (34)

    10

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    11/21

    Equation (34) can be rewritten more compactly as:

    M + C = (35)

    where M = J T q MJ q is the mass matrix of the manipulator as reected on the active coordinates alone , C = J T q M J q + CJ q is the corre-sponding centripetal and Coriolis term, and = J T q is the vector of jointtorques.

    Expressed in this way, the dynamic model of the parallel manipulatoris no different from that of an equivalent serial manipulator with the sameactuators. It also has a compact form, i.e., it has only 3 ordinary differential equations as opposed to 7 in the original system (26). However, there is a veryserious distinction, which is apparently buried in the matrix manipulationsabove. The model (35) is only valid when the mapping q = J q is well-dened, i.e., when J exists, i.e., when J is non-singular . Physically, thismeans that the model is valid only when the manipulator is not at a gain-type singularity. Further, integration of this model only updates the activevariable, , while the matrices M , C etc. are dependent on as well as .Therefore, to complete the update of the model, every integration step hasto be followed by a step of forward kinematics, so as to update the passivevariables . From an implementation point of view, this also introduces

    another complexity: while computing the passive variables at any time step,one has to ensure that the branch of solution chosen (among the possible 6)is the same as the original, i.e., at the initial time. This branch-following inforward kinematics is essential in successfully implementing the equivalentmodel.

    4 Formulation of the control schemeIn this section, we follow a model-based control approach for achieving trajec-tory tracking along a pre-computed non-singular-path. The M , C matricesin equation of motion of 3-RRR manipulator are highly non-linear. Applyinga linear control scheme is not expected to produce accurate results. There-fore, we have implemented a control scheme in which we use the estimate of the plant to cancel out the non-linear terms, through feedback linearisation.

    11

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    12/21

    4.1 Model-based trajectory-tracking control of the 3-RRR manipulator

    4.1.1 Feedback linearisation

    Given a trajectory we can calculate the desired set of active joints d andtheir derivatives and d (where subscript d represents the desired value)from inverse kinematics.

    Referring to gure (2). The desired and the initial value of and is compared with the desired one to get error e(t) and e (t), where e (t) =( (t) d(t)). We apply a simple linear control strategy to get the value of torque required to be provided to the motors to compensate this error andhence follow the desired trajectory.

    4.1.2 Assumptions

    The model is deterministic with no parametric uncertainties. There are no unmodeled dynamics e.g. friction. Full-state feedback is available.We implement the control law partitioning (see for e.g. [ ?]), by assuming

    that the output of the controller can be written as: = + , (36)

    where,

    = M , = C (37)

    Substituting , , in equation (35), we get a linear equation:

    = (38)

    Linear control strategy can now be applied to the system. If we choose the as:

    = d(t) K pe (t) K v e (t), (39)the nal error dynamic equation can be written as:

    e (t) + K pe (t) + K v e (t) = 0, (40)

    where, K p represents the proportional gain and K v represents the derivativeor velocity gain.

    12

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    13/21

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    14/21

    rameters and inertia of the manipulator are as follows:

    link length mass ( Kg) moment of inertia10 3 (Kg-m 2 )

    l 0.2500 0.4680 2.4380r 0.1667 0.3120 0.7220a 0.1250 0.2340 0.3050

    The numerical simulations pertain to the tracking of a circle in the XY plane.

    5.1 Tracing the non-singular circle

    In the rst case we trace a non-singular circle of radius rc = 0.05 and center at(xc, yc)T = (0 .25, 0.21)T with a average speed v = 0.2 m/sec. The desired ori-entation of the platform d(t) is set to zero. The values of control gains, K pand K v , are selected through numerical simulations and for this particularpath k p was taken as 1000. Initial conguration of the manipulator in termsof x,y, is 0.20, 0.21, 0 respectively. The translational motion along thetrajectory is described by the third-order polynomial with respect to time.

    Figure (3) shows that the circle traced is non-singular as it is not cut by

    Figure 3: Desired circle superposed on the contours of singularity functionS( )

    the zero-valued contour line corresponding to = 0. Figure (5) which givesa clear measure of singularity along the trajectory. We can observe that the

    14

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    15/21

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    16/21

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    17/21

    Figure 8: Variation of along the trajectory

    Figure 9: Variation of the joint torques

    17

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    18/21

    5.2 Tracing the non-singular circle with disturbancesadded

    In the second case we trace the same circle as above with v = 0.2m/sec butnow with disturbances added into the plant. We incremented the masses andthe length of the links by 15% to introduce the errors into the model andrepeated the same simulation with K p, K v values kept same. Figure (10)and (11) show that the error in path-tracking has increased in comparison tothe rst case, where there are no disturbances. Figure (12) shows the increasein torques values to compensate for these errors. We have kept the controlgains same as were in the rst case, so as to present a clear comparison of the two cases. However, again tuning the control gains may result in lesserpath-tracking errors.

    Figure 10: The path tracked vs. the desired path with 15% error in mass

    and length of all the links

    5.3 Tracing the non-singular circle with increased speedIn the third case we trace the same circle but with increased speed. Thistime we trace the circle with double the speed i.e., v = 0.4m/sec with nodisturbances. We can observe from gure (13) and (14) that the error inpath-tracking is much larger in comparison to the rst case, where the track-ing speed was 0.2m/sec. Figure (15) shows that the torques are almost four

    18

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    19/21

    Figure 11: Error in path-tracking with 15% error in mass and length of allthe links

    times of the previous value of torques at v = 0.2m/sec (see in gure (9)).

    6 ConclusionIn this paper we have presented a trajectory-tracking control scheme for 3-RRR planar parallel manipulator. It is shown that the linear control schemeworks effectively for 3-RRR manipulator even with 15 percent error addedin lengths and masses. However, with increase in speed of the end-effectorthere are large amount of deviations from the desired path and hence thesame control gains do not work for the same trajectory. This requires thetuning of control gains, K p, K v . It is proposed that the same formulationcan be applied to any parallel manipulator to trace singularity-free-paths.

    19

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    20/21

    Figure 12: Variation of the joint torques with 15% error in mass and lengthof all the links

    Figure 13: The path tracked vs. the desired path, with v = 0.4m/s

    20

  • 8/12/2019 Chaman Sandipan Icmbd Preprint

    21/21

    Figure 14: Error in path-tracking with v = 0.4m/s

    Figure 15: Variation of the joint torques with v = 0.4m/s

    21