Csercsik David 2

Embed Size (px)

Citation preview

  • 7/28/2019 Csercsik David 2

    1/55

    Modern Control Methods of a Simple Nonlinear LimbModel

    by

    Dvid Csercsik

    Submitted to the department of Control Engineering and Information Technology

    in partial fulfillment of the requirements for the degree of

    Master of Science in Biomedical Engineering

    Supervisor: Department Consultant:

    Dr. Gbor Szederknyi Prof. Zoltn Beny

    Systems and Control Laboratory Department of Control EngineeringComputer and Automation and Information TechnologyResearch Institute Budapest Faculty of Control Engineering

    and InformaticsBudapest University of Technology

    and Economics

    BME2007

  • 7/28/2019 Csercsik David 2

    2/55

    Alulrott Csercsik Dvid, a Budapesti Mszaki Egyetem hallgatja kijelentem, hogy ezta diplomatervet meg nem engedett segtsg nlkl, sajt magam ksztettem, s a diploma-tervben csak a megadott forrsokat hasznltam fel. Minden olyan rszt, amelyet sz szerint vagy

    azonos rtelemben, de tfogalmazva ms forrsbl tvettem, egyrtelmen a forrs megadsvalmegjelltem.

    ............................

  • 7/28/2019 Csercsik David 2

    3/55

    sszefoglal

    A diplomamunka modern nemlineris irnytselmleti mdszerek alkalmazhatsgt vizsglja

    egy egyszer nemlineris vgtagmodell esetn. Alkalmazsra kerl a van der Schaft ltal lertbackstepping (visszalpses) technika feedback linearizlssal kombinlva, kiterjesztve alapjel-kvetsre, egy backstepping-alap csszszablyozs, valamint egy flatness alap elrecsatols.A csszszablyozs s a flatness-alap elrecsatols esetn a vrt nem mrhet zavarsokbecslsre s kikszblsre a rendszer terhelsbecslvel egszl ki.

    Minden irnytsi mdszer kiterjesztsre kerl alapjelkvets megoldsra.Az elmletek megvalsthatsgnak tesztelsre szimulcik szolglnak, egy szinusz jelleg,

    s egy nem differencilhat pontokat is tartalmaz rszben lineris alapjel kvetse esetn.A klnfle irnytsi megoldsok teljestmnynnek sszehasonltsra szintn a szimul-

    cik szolglnak, melyek idelis s zavarssal terhelt krnyezetben is elvgzsre kerlnek.

  • 7/28/2019 Csercsik David 2

    4/55

    Contents

    1 Introduction 1

    1.1 Motivation and aim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Literature review on human locomotion analysis and control . . . . . . . . . . . 1

    1.2.1 Hungarian scientific background of locomotion analysis . . . . . . . . . . 11.3 Structure of the diploma work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4 Notation list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2 The simple nonlinear limb model 3

    2.1 Basic assumptions and system structure . . . . . . . . . . . . . . . . . . . . . . 32.1.1 Modeling assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2.2 Model equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.2.1 Segmental dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.2 Muscle activation dynamics . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.3 State-space equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.3 Model structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    3 Control structure design by using the backstepping method 9

    3.1 Structure and backstepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2 Sub-controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.2.1 Control of segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2.2 Muscle control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    3.3 Feedback properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    3.4 Regulation simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.5 Trajectory following . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3.5.1 Feedback design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.5.2 Trajectory design in . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    3.6 Trajectory following simulation results . . . . . . . . . . . . . . . . . . . . . . . 173.6.1 Ideal case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.6.2 Disturbed case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    4 Sliding mode control combined with feedback linearization for the control of

    segments 20

    4.1 SMC and feedback linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2 Sub-controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2.1 Control of segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2.2 Control of muscle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    4.3 Load estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.4 Regulation simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.5 Trajectory following simulation results . . . . . . . . . . . . . . . . . . . . . . . 22

    4.5.1 Ideal case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.5.2 Disturbed case I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.5.3 Disturbed case II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

  • 7/28/2019 Csercsik David 2

    5/55

    5 Flatness-based feedforward control 26

    5.1 Theoretical basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.1.1 General concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    5.1.2 MIMO systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.1.3 Graphs of the simple nonlinear limb model . . . . . . . . . . . . . . . . . 315.1.4 Expression of variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.1.5 Polynomial fitting and switching . . . . . . . . . . . . . . . . . . . . . . . 33

    5.2 Regulation simulation results I . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.3 Trajectory following simulation results . . . . . . . . . . . . . . . . . . . . . . . 37

    5.3.1 Ideal case I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.3.2 Ideal case II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.3.3 Disturbed case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    5.4 Disturbance rejection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    5.5 Trajectory following simulation results with load estimation . . . . . . . . . . . 415.5.1 Disturbed case I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.5.2 Disturbed case II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.5.3 Disturbed case III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    6 Conclusions and future works 44

    6.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    7 Acknowledgements 45

  • 7/28/2019 Csercsik David 2

    6/55

    Modern control methods of a

    simple nonlinear limb model

    Dvid Csercsik1

    E-mail: [email protected]

    1Process Control Research Group,Systems and Control Research Laboratory, Computer and Automation Institute HAS

    H-1518 Budapest, P.O. Box 63, Hungary

    The application of nonlinear control methods for a simple nonlinear limb model is proposed inthis thesis. The backstepping technique (described by van der Schaft in [44]), combined with feedbacklinearization and asymptotic reference tracking, a backstepping based sliding mode control, and flatnessbased feedforward control are applied. For the sliding mode control and flatness based control, a loadestimator structure is used for disturbance rejection.

    Every controller structure is successfully extended to complete the task of trajectory following.Simulations are performed to test the theoretical basis for control design - in the trajectory following

    case, a sinusoid, and a ramp-like trajectory including non-differentiable points should be followed.The various control strategies are compared via the results of simulations in ideal and disturbed

    circumstances.

  • 7/28/2019 Csercsik David 2

    7/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 1

    1 Introduction

    1.1 Motivation and aim

    The control of musculoskeletal structures has significant importance in the field of humanlocomotion control research, designing and controlling muscle prothesis and artificial limbs [24][20]. Furthermore, the commonly used techniques of functional electrical stimulation (FES) -for patients with some kind of paralysis - can be improved with appropriate control methods.

    Even the simplest limb model exhibits strongly nonlinear dynamic behavior that calls forapplication of the results of nonlinear systems and control theory. These nonlinear propertiesorigin from the nonlinear characteristics of the muscles, which actuate the system, and fromthe gravitational effects.

    Although there are some results on application of nonlinear control theory in the case

    of biomechanical systems, the proof of stability for applied nonlinear control methods is notprevalent in the literature.The aim of this study is to present applications of modern nonlinear control schemes for

    a limb model that to solve the regulation and tracking problem for the joint angle as theoutput variable of the system, and present a possible solution for the stability problem with theLyapunov-method, in one of the analyzed cases. The case of the simple nonlinear limb modelcan be considered as an elemental problem in biological movement control.

    1.2 Literature review on human locomotion analysis and control

    Application of nonlinear control for biomechanical systems has appeared in the literature several

    times in the past decades.Lilly and Quesada provided a two-input sliding-mode controller for a planar arm actuated by

    four pneumatic muscle groups [29]. Sliding mode control has been applied to the reconstructionof human neuromuscular control signals, and gait analysis in the case of the model of thecomplex nonlinear system of the human leg [30, 31].

    A study proposed by Levine et al. [40] has shown, that in the case of the pedaling problem,the control to achieve maximal acceleration for a simple skeletal system is bang-bang. A furtherresearch of acceptable controllers (incl. input-output linearization) for the cycling problem wasproposed by Abbot in the degree thesis [1].

    Corradini and Orlando applied black box techniques for the modeling, identification and

    control of voluntary arm movements [2].A multi level control model including timing and learning was developed by Levine and

    Zajac [28]. Some further results on biological locomotion control research can be found forexample in [21, 12, 13].

    1.2.1 Hungarian scientific background of locomotion analysis

    Modeling of limb movement patterns based on neuronal activity has been developed in Hungaryfor some years. Differential neuro-muscular-skeletal structures have been studied by Laczko etal. [27, 26, 25] using mathematical models and computer simulation.

    A neuro-mechanical model was developed by Fazekas in [16, 17]. It takes into accountthe one and two-joint muscles. It handles the force-length and force-frequency relationship,passive force, geometric and inertial properties of the limb, the maximal isometric forces and

  • 7/28/2019 Csercsik David 2

    8/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 2

    the gravitational effect. Two simple dynamical models of the gamma-loop mechanism and thestretch reflex are described in [6, 7]. A multi-scale modeling approach of a human limb isdetailed in [18]. Some linear and nonlinear control methods for a simple nonlinear limb model

    with tendon dynamics are described in [4, 8].

    1.3 Structure of the diploma work

    In section 2 the simple nonlinear limb model is shortly described. Section 3 includes two exactbackstepping-based control methods, for regulation and trajectory following task. In section 4 abackstepping-like sliding mode control based controller is designed with load estimator. Section5 details a flatness-based controller, after showing the flatness of the simple nonlinear limb modelSection 6 includes the conclusions, and future work and section 7 holds the acknowledgements.

    1.4 Notation list

    The most important notations that are used during model development, and analysis are sum-marized in the table below.

    Notation dimension means Index refers toF N force M muscleg m/s2 gravity act activationl m length M + T muscle-tendon systemq activation state max maximalv m/s velocity l lengthu input: activation signal v velocityx state-space variable prox proximalz transformed state-space variable dist distal rad joint angle f or 1 flexor rad/s joint angle velocity e or 2 extensor [kgm2] moment of inertia opt optimalM [N m] joint torque ref referencet s time c centery rad output nom nominalw kg disturbance

    w kg estimated disturbance rad position angle backstepping variable

    Lf Lie derivativeV Lyapunov functionJ Jacobian matrixK state feedback gain vectorS sliding surfaceS1 storage function

    (z) virtual feedback

    En error norme error

  • 7/28/2019 Csercsik David 2

    9/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 3

    2 The simple nonlinear limb model

    2.1 Basic assumptions and system structure

    A nonlinear input-affine state-space model has been developed [4] for a simple one-joint systemwith a flexor and an extensor muscle (see Fig. 1) which is suitable for nonlinear system analysisand control design, and exhibits the typical nonlinear characteristics of the muscle.

    2.1.1 Modeling assumptions

    During the modeling, the following basic assumptions have been made:

    Dimension: The model is two dimensional.

    Structure: We model 2 muscles, one joint.

    Segments: The bones are totally rigid.

    Gravity: Gravity appears in the direction -y only.

    Geometry: We do not model the geometry of bones and the muscle.

    Muscle Properties: The model takes into account only the following properties of themuscle: Force-length dependency, Force-contraction velocity dependency. The character-istics are similar in the case of flexor and the extensor muscle. Exerted forces dependlinearly on the activation state of muscles, following the principles in [47], [46] and [41].

    Moment arms: Moment arms are constants.

    Aponeurosis: There is no aponeurosis.

    Pennate effect: We do not deal with the pennate effect.

    Tendon: Tendon dynamics is neglected, tendon lengths are constant.

    Fatigue: In general case, we do not model fatigue, potentialization and short time historiesin the muscles.

    Activation dynamics: We use first-order activation dynamics model.

    Viscosity: We do not model viscosity in the muscle.

    The concepts related to muscle modeling and analysis (e.g. aponeurosis, pennate effect)are described for example in [14, 43].

  • 7/28/2019 Csercsik David 2

    10/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 4

    Figure 1: The system

    The manipulable inputs of the model are the normalized activation signals of the muscles,the measurable output is the joint angle, and the number of state variables is 4.

    Flexor muscleDynamics

    Extensor muscleDynamics

    Dynamics of

    Segments

    Output:

    Joint angle

    u1

    u2

    q1

    q2

    Inputs:

    Muscleactivation

    states:

    Figure 2: The cascade structure of the system

    In the case of all of the following control methods we will utilize the cascade structure of thesystem. The activation states of the muscles do not depend on the joint angle, and the jointangle velocity, so from the point of view of segmental dynamics, the muscle activation states

    can be handled as inputs. The dynamics of the segments holds the important nonlinearities ofthe system furthermore the muscles have much faster dynamics.

  • 7/28/2019 Csercsik David 2

    11/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 5

    2.2 Model equations

    2.2.1 Segmental dynamics

    The dynamics of the segments in the open-loop case can be described with the following equa-tions:

    t= (1)

    t=

    1

    + ml2C(Mm(q1, q2, , ) + mlCOMcos( + )g)

    where [rad] is the joint angle, [rad] is the angle between the global coordinate-systemsx axis, and the not-moving upper segment of the limb (in our model is always equal to /2), [rad/s] is the angle velocity, [kgm2] is the moment of inertia defined to the mass-centerpoint of the bone, m [kg] is the mass of the moving limb part, lC [m] is the distance betweenthe moving limb parts center of mass point and the joint axis, Mm [Nm] is the resulting jointtorque of the muscles, and g [m/s2] is the vector of gravitational acceleration. q1 and q2 denotethe activation states of the muscles.

    If we study the model around = /2 joint angle, the forces of ligaments, bones and thepassive force of the muscles can be neglected, so we can write

    Mm = Ffmaxf

    fL()f

    fV(, )d

    fq1 + Femaxf

    eL()f

    eV(, )d

    eq2 (2)

    where ffL and feL denote the function of the parabolic force-length characteristics in the case

    of the flexor and extensor muscle, ffV and feV denote the function of the arch-tangent-like force-

    contraction velocity characteristics in the case of the flexor and extensor muscle, d denotes themoment arm, and Fmax denotes the maximal force. These characteristics are fully described in[6] and they can be seen in Fig. 3.

    The length of the muscles depend on the joint angle, and the constant length of the tendonin the following way:

    In the case of flexor muscle:

    lM+T

    = d2 + (dprox)2

    2ddproxsin(t)

    2+ d2 + (ddist)2

    2dddistsin

    (t)

    2(3)

    In the case of extensor muscle:

    lM+T =

    d2 + (dprox)2 + 2ddproxsin

    (t)

    2+

    d2 + (ddist)2 + 2dddistsin

    (t)

    2(4)

    where lM+T [m] is the length of the muscle-tendon complex, d [m] is the moment arm, dprox [m]

    is the distance between the joint, and the origin of the muscle, ddist [m] is the distance betweenthe joint, and the insertion of the muscle, [rad] is the joint angle. The extracting velocity ofthe muscle-tendon complex can be computed as:

    vM+T =dlM+T

    dt=

    dlMdt

    (5)

  • 7/28/2019 Csercsik David 2

    12/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 6

    0.2 0.25 0.3 0.35 0.40.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    Muscle length LM

    [m]

    F/Fmax

    3 2 1 0 1 2 30

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    Muscle contraction velocity VM

    F/Fmax

    Figure 3: FL and FV

    because lT is constant.

    From these values we can compute the length, and contraction velocity of the muscles, ifwe know the length of the tendons. Both for flexor and extensor muscles:

    lM(t) = lM+T(t) lT(t)

    vM(t) = vM+T(t)(6)

    2.2.2 Muscle activation dynamics

    The differential equation of the muscle defines the connection between q(t), the activation stateof the muscle and the activation signal (input) u(t). With u(t) [0, 1] the equation taken fromZajac [47] is:

    dq

    dt = 1

    act (+ [1 ]u(t)

    q+

    1

    act u(t) (7)

    where act [s] is the activation time, showing how quick the muscle reacts on the externalactivation signal coming from the nervous system, is a constant, describing the correlationbetween the decrease of the activation state and the external activation signal. If = 1 thenthe external activation signal does not affect the decrease of the activation state, if = 0 thenit strongly affects the decrease. q1(t) denotes the activation state of the flexor muscle, and q2(t)denotes the activation state of the extensor muscle.

  • 7/28/2019 Csercsik David 2

    13/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 7

    2.2.3 State-space equations

    With the notation xi for the state-space variables (x1 = q1, x2 = q2, x3 = , x4 = ), the

    equations are as follows:

    dx1

    dt=

    1

    act(+ [1 ]u1(t))

    x1 +

    1

    actu1(t)

    dx2

    dt=

    1

    act(+ [1 ]u2(t))

    x2 +

    1

    actu2(t)

    dx3

    dt= x4 (8)

    dx4

    dt =

    (Mm(x1, x2, x3, x4) + mlCcos(x3 + )gy)

    + ml2C

    where the first two equations describe the dynamics of the muscles, and the second two describethe dynamics of the limb. u1(t) denotes the activation signal of the flexor muscle, and u2(t)denotes that of the extensor muscle.

    If we rearrange (8) we can get the following general form of input-affine systems:

    x = f(x) +m

    i=1 gi(x)ui(t)

    y = h(x)(9)

    where

    f(x) =

    1

    actx1,

    1

    actx2, x4,

    1

    + ml2C(M(x1, x2, x3, x4) + mlCcos(x3)gy

    T

    g1(x) =

    1

    act(1 )x1 +

    1

    act, 0, 0, 0

    T

    g2(x) =

    0,

    1

    act(1 )x2 +

    1

    act, 0, 0

    T

    We assume that we can measure all the state variables.

  • 7/28/2019 Csercsik David 2

    14/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 8

    2.3 Model structure

    Flexor muscleDynamics

    dx1/dt=f(x1,u1)

    Extensor muscleDynamics

    dx2/dt=f(x2,u2)

    Dynamics ofSegmentsdx3/dt=x4dx4/dt=

    f(x1,x2,x3,x4)

    Output:

    Joint angle (x3)

    u1

    u2

    x1

    x2

    Inputs:

    Figure 4: The cascade structure of the system

    Fig. 4 shows that the dynamics of the muscle activation do not depend on the dynamicsof the limb, therefore the model has a cascade structure. Thus, the complete dynamics of thelimb can be divided into two parts:

    The activation dynamics of the muscles, what is described two simple first order systems,with the activation signals as input and the activation states as output.

    The movement dynamics of the limb with the activation states as input and the jointangle as output. That corresponds to a second order dynamics.

    The cascade structure of the model gives the idea, that if we could design an appropriatecontroller for the second two dimensional subsystem (dynamics of the segments), which holdsthe strong nonlinear properties, and an another one for the first subsystems (muscle activationdynamics), we could define the desired input of the second subsystems controller as referencesignal for the first subsystems. The backstepping technique based on this idea is appropriatefor this aim. An application of the technique for this simple nonlinear limb model is detailedin [9].

  • 7/28/2019 Csercsik David 2

    15/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 9

    3 Control structure design by using the backstepping method

    In this study we design a controller around a steady-state point, which exhibits unstable prop-

    erties in the open loop case.

    3.1 Structure and backstepping

    The backstepping technique, which is described below, is used in the case of cascaded systems,where the physical input influences only the dynamics of the first system in the cascade.

    Backstepping is based on the idea, that if we can design a virtual feedback ref for the secondsubsystem of a cascaded structure which is influenced by the output of the first, manipulablesubsystem, we can determine a feedback for the input of the first subsystem which stabilizesthe closed-loop cascade structure.

    As detailed in [44] if we have the system structure

    z = f(z) + g(z)

    = a(z, ) + b(z, )u (10)

    Figure 5: General structure for the backstepping method

    and there exists a virtual feedback

    ref = (z) (11)

    such, that z = 0 is an asymptotically stable equilibrium of

    z = f(z) + g(z)(z) (12)

    with a Lyapunov function V that is positive definite at z = 0, and the form ofa(z, ) and b(z, )is known, the feedback law for the input can be expressed as detailed in [5]:

    :z = f(z) + g(z)

    = a(z, ) + b(z, )u(13)

    with input u and output y = (z) can be transformed into a strictly output passive

    system by the feedback:u = (z, ) + b1(z, )e2 (14)

  • 7/28/2019 Csercsik David 2

    16/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 10

    If we define y1 = (z), and prescribe the error dynamics y1 = A1y1 (where A1 is a speedinfluencing constant), then we can write:

    y1 = (z) = a(z, ) + b(z, )u ddz

    z = A1y1 = A1((z) ) (15)

    (16)

    we can rearrange the equation to get:

    u = b1(, z)(A1((z) ) a(, z) +d

    dzz) (17)

    where A1 is the feedback gain of the error y1.

    = (z). In this case we get the feedbacktransformed system

    z = [f(z) + g(z)(z)] + g(z)y1

    y1 = A1y1 (18)

    with storage function S1 = V(z) +12

    y21, satisfying

    dS1dt

    y12. (19)

    Remark In our case z = f(z) + g(z) means the dynamics of the limb, and = a(z, ) +b(z, )u denotes the muscle dynamics. Furthermore a(, z) and b(, z) = a() and b(). From

    (1) and (2) it can be easily seen, that the limb dynamics can also be transformed to the formof (18), because q1 which is considered as input, appears linear in the state-space equation.

    Our aim is to control the output x3 (joint angle). The (z) virtual feedback is determinedvia a controller designed for the segmental dynamics, which uses linearization and the poleplacement in this case. The reference signal for the muscle activation state (qref1 = ref =(z)), and the manipulable input - the muscle activation signal - is determined via this virtualfeedback.

    Furthermore we have to note, that in this case, the transformed coordinates are identicalto the original ones, so z1 = , z2 = .

  • 7/28/2019 Csercsik David 2

    17/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 11

    3.2 Sub-controllers

    3.2.1 Control of segments

    The dynamics of the limb has a relative degree of 2. In the case of the segments, we apply(exact) feedback linearization, and a simple pole-placement design. In this case only the flexormuscle is used as input to get a SISO structure. The control to the normalized variables isapplied around a steady-state point at = /2 joint angle. The coordinates of the steady-statepoint x are the following:

    x1 = 0.1456, x

    2 = 0.1, x

    3 = /2, x

    4 = 0 (20)

    Relative degree

    The concept of the relative degree is for example fully described in [22].

    Definition 3.2.1 The SISO (single input, single output) nonlinear system.

    x = f(x) + g(x, u)

    y = h(x) (21)

    has relative degree r at a point x0 if

    1. LgLkfh(x) = 0 for all x in a neighborhood of x

    0 and all k > r 1

    2. LgLr1f h(x

    0) = 0

    where Lgh(x) =dh(x)dx

    g(x) is the Lie-derivative of h(x) along g.

    Remark 3.2.2 There could be points in the state-space where the relative degree does not exist.

    Feedback linearization

    As described in [23] for a nonlinear n-dimensional SISO system with the relative degree of nwe need to apply the feedback

    u =1

    LgLn1f h(x)

    (Lnfh(x) + v(t)) (22)

    and a suitable nonlinear coordinate transformation to obtain a linear system of order n which isinfluenced by the input u - including the external input v(t). Lfh(x) denotes the Lie-derivativeof h(x) along f. The Lie-derivatives are quite long expressions, and are not performed hereexactly.

    This means, that the state-space model of the feedback linearized closed loop system is asimple double-integrator in the new coordinates:

    z1 = z2

    z2 = v

    y = z1 (23)

  • 7/28/2019 Csercsik David 2

    18/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 12

    where Lfh(x) denotes the Lie-derivative ofh(x) along f. z1 and z2 can be determined by usingthe coordinate-transformation zi = L

    i1f h(x).

    The state matrices of the new linear system have the following form:

    A =

    0 10 0

    B =

    01

    For the system in the new coordinates we can design a pole-placement control:

    v = Kz (24)

    where K is a suitable state-feedback vector. In this case the closed loop system has the controlLyapunov function V(z) = zTP z where P is a solution of the matrix inequality

    (A BK)

    T

    P + P(A BK) < 0

    While tuning K, one had to keep in mind the optimization of the output response, and the factthat the virtual feedback also has an input constraint (q1 [0, 1]).

    In fact, we can not act on the system at the point of muscle activation states, so we haveto define the value of (22) as reference signal for the flexor muscles activation state (virtualfeedback).

    3.2.2 Muscle control

    We have to use (17) to determine the muscle activation signal.

    3.3 Feedback properties

    We can analyze the properties of the feedback law. In Fig. 6 we can depict the prescribedreference signal for muscle activation at different joint angles, and joint angle velocity values.We can see that negative values for the prescribed activation state appear only at points wherethe error of the joint angle and the value of the joint angle velocity are both quite large positive.Secondly, the final activation signal of the muscle depends also on q1. We can depict for examplethis function at = 0. This can be seen in Fig. 6. Negative activation signal appears only inthe case of big activation states which are unusual in normal functioning or joint angle valuesfar beyond the reference (/2).

  • 7/28/2019 Csercsik David 2

    19/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 13

    0.6 0.8 1 1.2 1.4 1.6 1.84

    3

    2

    1

    0

    1

    2

    3

    4

    5

    Joint angle () [rad]

    Jointangle

    velocity

    ()[rad/s]

    The virtual feedback (ref

    )

    0.1

    2.4672e017

    0.1

    0.1

    0.1

    0

    .2

    0.2

    0.2

    0.2

    0.3

    0.3

    0.3

    0.3

    0.4

    0.4

    0.4

    0.5

    0.5

    0.6

    0.4 0.6 0.8 1 1.2 1.4 1.60

    0.05

    0.1

    0.15

    0.2

    0.25

    Joint angle () [rad]

    Muscleactivation(q1

    )

    The input at =00

    0

    0.1

    0.1

    0.1

    0

    .2

    0.2

    0.2

    0.3

    0.3

    0.3

    0.4

    0.4

    0.4

    0.5

    Figure 6: The virtual feedback for q1, and the activation signal in the case of = 0

    3.4 Regulation simulation results

    Simulations were performed using MATLAB, numerically solving the differential equations.The poles were set to [-15 -20], and A1 was set to -100. The starting values were the same asthe coordinates of the steady state point, except the joint angle ( = x3) which was 0.2. As we

    can see in Fig. 8 the error has stable linear dynamics.In Fig. 7 we can see, that the input does not brake the input constraint ( u(t) [0, 1]), even

    in this case, when the starting position is very far from the reference.

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.70.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    ,ref signal

    Time [s]

    Jointangle()[rad],R

    eferencsignal

    reference signal

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.70

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    u1

    Time [s]

    Inputactivationsignalof

    theflexormuscle(u1

    )

    Figure 7: Output, reference signal and input

  • 7/28/2019 Csercsik David 2

    20/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 14

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.72

    0

    2

    4

    6

    8

    10

    z1,z

    2

    Time [s]

    Transformedcoordinates(z1,z2)

    z1

    z2

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.70.1

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    q1,q

    1

    ref

    Time [s]

    Flexormuscleactivationstateandth

    e

    virtualfeedback(q1,q1re

    f=(z))

    q1

    q1

    ref=(z)

    q1refq1

    Figure 8: Transformed coordinates, muscle activation states, virtual feedback (the referencesignal for muscle activation) and the error

    If we define a simple error norm

    En = tend

    0

    |yref(t) y(t)|dt (25)

    we get the result En=0.1809 in this case.The simulations take about 4 seconds in MATLAB on a PII with 523 760 KB RAM in the

    case of regulation.

  • 7/28/2019 Csercsik David 2

    21/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 15

    3.5 Trajectory following

    In the following we expand the control system further to be able to follow a trajectory. At first,

    the control aim will be to follow a trajectory of the joint angle velocity. In this case we do notuse the centered variables around a steady-state point and we use only the activation signal ofthe flexor muscle as input. The activation signal of the extensor muscle is constantly 0. We usethe same feedback-linearization technique, as in the case of regulation, but now instead of theway of pole-placement in the transformed coordinates, we use a different method to determinethe external input v.

    3.5.1 Feedback design

    As we mentioned above, we have the system structure:

    dzdt

    = f(z) + g(z)

    d

    dt= a() + b()u (26)

    where

    f =

    f1f2

    g =

    g1g2

    (27)

    Control of segments

    In this case, we define the external input v as a simple integrator:

    f2(z) + g2(z)ref.

    = v (28)

    ref =f2(z)

    g2(z)+

    1

    g2(z)v

    .= (z) + (z)v (29)

    z2 = v

    We define the error of z2:z2 = z2 z2ref (30)

    where z2ref is the reference signal to z2 which has to be tracked.If we define a stable linear dynamics for this error, ref can be expressed:

    z2 = z2 z2ref = v z2ref.

    = K1(z2 z2ref) (31)

    v = z2ref K1(z2 z2ref) (32)

    ref = (z) + (z)( z2ref K1(z2 z2ref) (33)

    where K1 is the constant associated with the speed of the stable linear dynamics.

  • 7/28/2019 Csercsik David 2

    22/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 16

    Control of muscles

    We can write the error of in the following form:

    = ref (34)

    And so we define:

    = ref = K2 = a() + b()u d

    dt[(z) + (z)(z2ref K1(z2 z2ref))]

    = a() + b()u (z)

    zz+

    (z)

    zz(z2ref K1(z2 z2ref)) + (z)(z2ref K1( z2 z2ref))

    = K2( ref) (35)

    If we define also a stable linear dynamics for this error (and define the speed of this dynamicswith K2), we get the following expression to u:

    u = 1b()

    (z)z

    z+ (z)z

    z(z2ref K1(z2 z2ref))

    +1

    b()[(z)(z2ref K1( z2 z2ref) + K2( ref) a()]

    (36)

    If we want to track a reference signal with the joint angle ( ), and not with the joint anglevelocity (), the following method can be a solution:

    3.5.2 Trajectory design in

    If we have a reference signal ref(t) and E0 = ref(t) (t) error at the time t, we define thefollowing reference signal for joint angle velocity:

    ref(t) = ref(t) + CE0 (37)

    where C is a constant, which can be tuned. This method can be considered as a further

    backstepping from = x3 to = x4 We can use the time-derivative of this expression forreference to ref, and the higher order derivatives as further derivatives of the reference signal.

  • 7/28/2019 Csercsik David 2

    23/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 17

    3.6 Trajectory following simulation results

    In this case the starting position of the joint angle () was /2 0.2. The remaining variables

    were initialized to the value of the steady-state point. C in eqn. (37) was set to 30, K1 and K2in (36) were set to 130 and 20. K2 is the constant most related to the maximal and minimalvalues of the actuation signal, its further increase causes the violation of the input constraints.

    3.6.1 Ideal case

    As we can see in Fig. 9 the error of the muscle activation has in fact stable linear dynamics.We can see in Fig. 10, that the control performs very well, even in the points, where the

    reference signal is not differentiable, and so can not be followed without error by Hamiltoniansystems.

    We can see in Fig. 10, that the input constraints are satisfied u(t) [0, 1]). At one critical

    point, u1 is zero, but the upper limit is not approached. In general we can say, that if thereference signal is smooth, the input constraints can be matched easily.

    If we use the same error norm as defined in 25, we get the result En = 0.0259 in this case.

    0 1 2 3 4 5 6 7 80.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    Time [s]

    Muscleactivationstateq1,

    thevirtual

    feedbackq1ref

    andtheerror

    q1

    q1ref

    error

    0 0.05 0.1 0.15 0.2 0.25 0.3 0.35

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Time [s]

    Muscleactivationstateq1,

    thevirtual

    feedbackq1ref

    andtheerror

    q1

    q1ref

    error

    Figure 9: Muscle activation state, the reference signal for muscle activation (virtual feedback)and the error during the whole movement and at the beginning of the movement

  • 7/28/2019 Csercsik David 2

    24/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 18

    0 1 2 3 4 5 6 7 80.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Time [s]

    Jointangle

    [rad],reference

    signa

    l[rad]

    reference signal

    0 1 2 3 4 5 6 7 80.05

    0

    0.05

    0.1

    0.15

    0.2

    0.25

    0.3

    0.35

    Time [s]

    Input:actuation

    signal

    u

    f

    Figure 10: Output: Joint angle, reference signal and input

    We can see on the figure 9 that the error has stable linear dynamics, as desired.We can see that the control does perform quite well, only a small remaining error can be

    seen in the output but the input constraints are still satisfied. En = 0.3807.

  • 7/28/2019 Csercsik David 2

    25/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 19

    3.6.2 Disturbed case

    One of the most common imaginable disturbances is an external joint torque of some gravity-

    driven mass. For the aim of simplicity we transform this external torque to the mass-centerpoint of the moving segment. In this case the mass in the term describing the gravitationalacceleration (m) is 3 kg more, than its nominal value (0.6 kg).

    0 1 2 3 4 5 6 7 80.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Time [s]

    Jointangle

    [rad],re

    ference

    signal[rad]

    reference signal

    0 1 2 3 4 5 6 7 80.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    Time [s]

    Muscleactivationstateq1,

    thevirtual

    feedbackq1re

    fandtheerror

    q1

    q1ref

    error

    Figure 11: Output: Joint angle, reference signal, the reference signal for muscle activation(virtual feedback) and the error

    0 1 2 3 4 5 6 7 80.05

    0.1

    0.15

    0.2

    0.25

    0.3

    0.35

    0.4

    0.45

    Time [s]

    Input:actuation

    signal

    u

    f

    Figure 12: Input: Muscle activation signal

    The simulations take about 10 seconds in MATLAB on a PIII 650 MHz with 523 760 KBRAM in the case of trajectory following.

  • 7/28/2019 Csercsik David 2

    26/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 20

    4 Sliding mode control combined with feedback lineariza-tion for the control of segments

    Sliding mode control (SMC) (described for example in [42]) is a methodology to combat modeluncertainties or disturbances. In some cases, effects of non-vanishing but bounded disturbancescan also be eliminated.

    In general, an exponentially stable system will remain ultimately bounded in the presenceof non-vanishing disturbances. Therefore, SMC can potentially improve on this result. Weeliminate the discontinuity of the control with using smooth sigmoid function instead of signumfunction for control the system to the sliding surface.

    In the case of SMC we define a sliding surface, which is a scalar function S(x) of the statesspace with the property that when S(x) = 0 the state-variables of the model behave favorably.

    4.1 SMC and feedback linearization

    SMC can be easily implemented in conjunction with feedback linearization. Consider thesystem,

    x = f(x) + g(x)u + gw(x)w

    y = h(x)

    where w is the unknown disturbance. We assume that y = h(x) has relative degree of n with

    respect to both control input u and unknown disturbance w.

    z1 = z2

    z2 = L2fh(x) + LgLfref + LgwLfw

    .= (x) + (x)ref + w(x)w

    We consider a trajectory tracking problem where it is desired that y(t) yref(t). Let usdefine

    e1 = z1 yref

    e2 = z2 yref

    Notice that ek = ek+1. For this problem we can define a sliding surface to be:

    S(z, t) = e2 + a0e1 (38)

    S = e2 + a0e1 = e2 + a0e2 (39)

    We use the following control law:

    ref

    (t) =1

    (x)[(x)

    w(x) w(t) + y

    ref a

    0e2

    Ksigm(S)] (40)

    where sigm(S) is a signum function-like smooth sigmoid function.

  • 7/28/2019 Csercsik David 2

    27/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 21

    4.2 Sub-controllers

    4.2.1 Control of segments

    Feedback linearization is applied around the steady state point detailed in (3.2.1) in eqn. (20).We have to use equation (40) to determine the virtual feedback.

    4.2.2 Control of muscle

    Determining the time derivative of the virtual feedback would be not easy in this case becausethe derivative of (40) (for example w - see below) implies very complex symbolic expressions. Inthis case we use a simple P-feedback and a term for the correction of the spontaneous decrease inmuscle activation for muscle control to show that this simple method can be also very effectivedue to the fast dynamics of the muscles.

    uf = P[x1 (ref + x

    1)] ab

    (41)

    where a and b are the terms describing the muscle dynamics, and they have the same form asin eqn. (36).

    4.3 Load estimation

    To compute the required feedback we have to define some estimation (w) of the load w. Thefollowing equations describe the nominal and the real joint angle acceleration:

    z2 = (x) + (x)ref + w(x)w (42)

    znom2 = (x) + (x)ref + w(x) w (43)

    If we suppose that the joint angle acceleration is measurable, or computable with differen-tiation, we can define the following dynamics of the estimated load w:

    dw

    dt= znom2 z2 (44)

    4.4 Regulation simulation results

    The sliding mode controller does not perform as good as the feedback-linearization pole-placement, but the result is acceptable, the input constraints are not violated.

    The control with the mentioned parameters does not perform very well in the case of regula-tion, the error norm is 2.0786, but the control is stable, and input constraints are not violated.

    The simulations take about 10 seconds in MATLAB on a PIII 650 MHz with 523 760 KBRAM in the case of regulation.

  • 7/28/2019 Csercsik David 2

    28/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 22

    0 0.5 1 1.5 2 2.5 30.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    Time [s]

    Jointangle

    [rad],reference

    signa

    l[rad]

    reference signal0 0.5 1 1.5 2 2.5 3

    0.02

    0

    0.02

    0.04

    0.06

    0.08

    0.1

    0.12

    0.14

    0.16

    Time [s]

    Muscleactivationstateq1,

    thev

    irtual

    feedbackq1refandtheerror

    q1

    q1ref

    error

    Figure 13: Output: Joint angle, reference signal, the reference signal for muscle activation(virtual feedback) and the error

    0 0.5 1 1.5 2 2.5 3

    0.045

    0.05

    0.055

    0.06

    0.065

    0.07

    0.075

    0.08

    0.085

    0.09

    Time [s]

    Input:actuation

    signal

    uf

    Figure 14: Input: Muscle activation signal

    4.5 Trajectory following simulation results

    In this case the starting position of the joint angle () was /2 0.2. The remaining variableswere initialized to the value of the steady-state point. The initial value of the estimated loadwas 0. Pf in eqn. (41) was set to 2. a0 in the equation (38) was set to 50. K in the equation(40) was set to 25. Pf and K are the constants most related to the maximal and minimal values

    of the actuation signal, their further increase may cause the violation of the input constraints.

  • 7/28/2019 Csercsik David 2

    29/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 23

    4.5.1 Ideal case

    0 1 2 3 4 5 6 7 80.05

    0

    0.05

    0.1

    0.15

    0.2

    0.25

    0.3

    Time [s]

    Musc

    leactivationstateq1,

    thevirtual

    feedbackq1refandtheerror

    q1q

    1ref

    error

    0 0.02 0.04 0.06 0.08 0.1 0.120.05

    0

    0.05

    0.1

    0.15

    0.2

    0.25

    0.3

    Time [s]

    Musc

    leactivationstateq1,

    thevirtual

    feedbackq1refandtheerror

    q1q

    1ref

    error

    Figure 15: Muscle activation state, the reference signal for muscle activation (virtual feedback)and the error during the whole movement and at the beginning of the movement

    0 1 2 3 4 5 6 7 80.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Time [s]

    Jointa

    ngle

    [rad],reference

    signal[rad]

    reference signal

    0 1 2 3 4 5 6 7 80

    0.05

    0.1

    0.15

    0.2

    0.25

    Time [s]

    Input:actuation

    signal

    uf

    Figure 16: Output: Joint angle, reference signal and input

    En = 0.0569.

  • 7/28/2019 Csercsik David 2

    30/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 24

    4.5.2 Disturbed case I

    First we use the same disturbance as in 3.6.2.

    0 1 2 3 4 5 6 7 80.05

    0

    0.05

    0.1

    0.15

    0.2

    0.25

    0.3

    0.35

    0.4

    0.45

    Time [s]

    Muscleactivationstateq1,

    thevirtual

    feedb

    ackq1refandtheerror

    q1

    q2

    error

    0 0.05 0.1 0.15 0.2 0.250

    0.5

    1

    1.5

    2

    2.5

    3

    3.5

    Time [s]

    Lo

    adandestimatedload

    estimated loadload

    Figure 17: Muscle activation state, the reference signal for muscle activation (virtual feedback),error, load (w) and estimated load (w) at the beginning of the movement

    0 1 2 3 4 5 6 7 80.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Time [s]

    Jointangle

    [rad],reference

    signal[rad]

    reference signal

    0 1 2 3 4 5 6 7 80.12

    0.14

    0.16

    0.18

    0.2

    0.22

    0.24

    0.26

    0.28

    0.3

    Time [s]

    Inp

    ut:actuation

    signal

    uf

    Figure 18: Output: Joint angle, reference signal and input

    En = 0.1032

    The simulations take about 25 seconds in MATLAB on a PIII 650 MHz with 523 760 KBRAM in the case of trajectory following in ideal case and disturbed case I.

  • 7/28/2019 Csercsik David 2

    31/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 25

    4.5.3 Disturbed case II

    The control is also capable of estimation of time varying loads, as depicted in the following

    figures.

    0 1 2 3 4 5 6 7 80.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    Time [s]

    Muscleactiva

    tionstateq1,

    thevirtual

    feedbackq1refandtheerror

    q1

    q1ref

    error

    0 1 2 3 4 5 6 7 81

    0

    1

    2

    3

    4

    5

    6

    7

    8

    Time [s]

    Loadandestimatedload

    estimated loadload

    Figure 19: Muscle activation state, the reference signal for muscle activation (virtual feedback),error, load (w) and estimated load (w)

    0 1 2 3 4 5 6 7 80.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Time [s]

    Jointangle

    [rad],reference

    signal[rad]

    reference signal

    0 1 2 3 4 5 6 7 80

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Time [s]

    Input:

    actuation

    signal

    u

    f

    Figure 20: Output: Joint angle, reference signal and input

    En = 0.1432

    The simulations take about 45 seconds in MATLAB on a PII with 523 760 KB RAM in thecase of trajectory following in disturbed case II.

  • 7/28/2019 Csercsik David 2

    32/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 26

    5 Flatness-based feedforward control

    Differential flatness is a structural property of a class of nonlinear systems, for which, roughly

    speaking, all system variables can be written in terms of a set of specific variables (the so-calledflat outputs) and their derivatives: x = A(y, y, y,...,y), u = B(y, y, y,...,y+1). A good intro-ductory theory, and control applications for flatness can be found in [19] and in [36]. Trajectorygeneration is described in [45]. Some more results on flatness based control can be found in [39].Further computation techniques of state and input trajectories for flat systems using automaticdifferentiation is discussed in [38]. Necessary and sufficient algebraic conditions for the flatnessof four-dimensional systems are given in [35]. Trajectory generation for differentially flat sys-tems with inequality constrains is detailed in [15]. Delaleau and Hagenmeyer have shown thatfor nonlinear systems, which are stabilized in the vicinity of an operation point a flatness-basednonlinear nominal feedforward combined with PID can lead to very good reference tracking

    even under parametric uncertainty [11]. Differential flatness based nonlinear predictive controlof fed-batch bioreactors is detailed in [32]. Flatness of heavy chain systems is described in [34].Richard et al. used Bond graphs to analyze flatness properties and determine open-loop controllaws in [37].

    Dynamical kinematic inversion based control of a human inspired five DOF robotic leg isdescribed in [33].

    Finding flat outputs for a system provides a good basis for controller design in any case ofsystems. Simple methods to recognize the possible flat outputs, and prove flatness via graph-theoretic methods are not prevalent in literature. The only method which is quite current inpublications for flatness analysis is the usage of Bond graphs.

    To check flatness of the simple nonlinear limb model, we use the graph-theoretic methoddescribed in the following. We begin with the short summary of the used theoretical basis:

    5.1 Theoretical basis

    5.1.1 General concepts

    In the following we define the concepts used in the simple methodology described in the followingsubsections, related to the flatness of nonlinear systems.

    Relative degree and structure graph

    Remark 5.1.1 Instead of performing the Lie-derivatives as described in 3.2.1 we can easilydetermine the relative degree of a system, using graph-theoretic methods [3]. We have todetermine the length of the shortest directed path from the input to the output vertex in thestructure graph (see below) , and this length -1 is the relative degree of the system.

    Remark 5.1.2 Of course the relative degree can also be defined for input-output pairs of aMIMO (multiple input, multiple output system).

    Definition 5.1.3 The structure graph of a system is constructed in the following way:

    The vertices of the graph are the state-variables, the input variables, and the output vari-ables.

  • 7/28/2019 Csercsik David 2

    33/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 27

    A directed path leads form the vertex V1 to the vertex V2 if and only if the variable V2depends on V1 (if V2 is a state-variable, this means that V1 can be found in the state-equation describing the time derivative of V2. An output variable depends on a state-

    variable if and only if the state-variable can be found in its output equation).

    In the following we will define some graphs and concepts, which are used to analyze flatproperties of systems.

    Definition 5.1.4 The structure graph shows which variables are influenced by a state or input.If we take the same graph with inverted path directions, we will get a figure about which output orstate depends on which state or input. We will call this graph in the following the dependencygraph.

    We define this graph because we will proceed backwards from the possible desired flat outputto the inputs in these directions.

    Definition 5.1.5 Theexplicit expressibility graph of a system is constructed in the follow-ing way:

    The vertices of the graph are the state-variables, the input variables, and the output vari-ables.

    A directed path leads form the vertex V1 to the vertex V2 if and only if V2 can be expressedexplicitly from the differential equation describing V1.

    Remark 5.1.6 We can also define any weaker condition instead of explicit expressability, andderive the appropriate graph from it, and use in the following. The main aim of this conditionis to refer to some form of invertability.

    5.1.2 MIMO systems

    We suppose square systems: dim(u) = dim(y) < n where n is the number of states.

    1. Necessary condition for flatness

    If we are looking for flat outputs in the form of state-space variables, the following notations

    can be considered:Lemma 5.1.7 In the case of explicit expression of states, the maximal number of state-variableswhich have no outgoing edge in the explicit expressibility graph is dim(u)-1.

    Proof

    Such states can only be expressed if an output is defined for them. If there were dim(u)=dim(y)number of such states, neither one of them nor the remaining states (which are surely presentbecause dim(y)

  • 7/28/2019 Csercsik David 2

    34/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 28

    2. Necessary condition for flatness

    Lemma 5.1.8 For a possible set of flat outputs xi..j all states and inputs have to be reachablefrom xi..j in the dependency graph.

    Proof

    If a state or input is not reachable from the vertices of the possible flat outputs, it will notappear after any number of derivation of the outputs.

    3. Necessary condition for flatness

    Theorem 5.1.9 In the case of m input, for a possible set of flat output-input pairs m pairwise

    disjunct paths have to exist in the dependency graph, which paths union covers every verticesof the dependency graph.

    Proof 5.1.10 If no paths exist at all which cover the entire dependency graph, there exists atleast a state which will not appear in any derivatives of the outputs. If they are not pairwisedisjunct, the sub-graph depicted in figure 21 can be found in the graph defined by the paths.

    xA xC

    xj

    XDxB

    xi ...

    Figure 21: Part-graph in the case of non pairwise disjunct paths

    In this sub-graph, the paths of the explicit expressibility graph also have to appear (for theaim of simplicity we can suppose that the explicit expressibility graph and the dependency graphare equivalent in this case).

    Sufficient condition for flatness

    Let we denote the set of all state-variables and inputs with X.

    Remark 5.1.11 For the aim of simplicity, this time the inputs are considered as states as well,which have to be expressed.

  • 7/28/2019 Csercsik David 2

    35/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 29

    Theorem 5.1.12 If there exists a set of pairwise disjunct output-input pathways in the explicitexpressibility graph, which cover the entire dependency graphs vertices, and the pathways can bewalked through with the step method described above, the system is flat, and the state-variables

    can be expressed in an explicit way as functions of the flat outputs and their time derivatives.

    Step method: At every step we derive k of the outputs. Suppose that before the derivationwe have XE X variables which are expressed. At least k explicitly expressible variable(

    .= xN1...xNk) appear in the new equations, because of the pairwise disjunct paths in the

    explicit expressibility graph.If all of the other variables on the right side of the new equations are XE, it is possible

    that xN1...xNk can be expressed from the equations.

    Remark 5.1.13 If XN = XN1 this is a sufficient condition for the expressibility of XN1

    In this case XnewE = XE

    {xN1...xNk}. Otherwise the step is invalid.If not all of the other variables on the right side of the new equation are XE, we have less

    equations than unknown variables to express, the step is invalid.If an inputs derivative appears in the new equation, either the step is invalid or we have to

    use precompensator.

    Algorithm for finding the optimal step sequence: Consider that we have a set of mpossible flat outputs and a set of m directed paths in the explicit expressibility graph. In thebeginning, the set of expressed variables (XE) is defined by the possible flat outputs.

    Definition 5.1.14 The structural order of an outputs differential equation is defined as thenumber of the yet unexpressed state variables and inputs (XU X) appearing on the right sideof the equation.

    We have to do the following:

    Let we examine the first derivative of the first input. We can see from the dependencygraph which variables may appear in the derivative (see remark 5.1.13). Of course if weperform the derivative exactly, we can see which derivatives really appear on the right sideof the equation, but this is not necessary in the cases, when all of the variables, which may

    appear are in XE. If the structural order of the equation is 1 only that variable appears,which is defined by the path in the explicit expressibility graph (= xk). In this case wetake the derivative of the output, and express xk. We can update XE: X

    newE = XE

    xk.

    We can apply the first step to the next derivative of the output, while the equation definedby the derivative of the output has structural order 1.

    We can apply the first two steps to all other outputs, with the updated XE.

    We can apply the first two steps to all outputs including the first with the updated XE,until no new variable can be expressed from any equation. If all variables are expressed

    flatness is proved.

  • 7/28/2019 Csercsik David 2

    36/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 30

    If two, or more yet unexpressed variables appear in a derivatives equation (xN1 which isdefined by the actual (which inhibits the analyzed input) path in the explicit expressibilitygraph, and xN2..xNk), we examine the other equations defined by the rest of the outputs.

    Suppose that we have k > 1 unexpressed variables.

    If the same unexpressed variables can be found in another k 1 equations (of course thevariable defined by the actual path in the explicit expressibility graph is different in eachcase), we have k independent1 equations for k variables to express.

    If we can solve the equations we can derive the k outputs, express the yet unexpressedvariables and update XE.

    After this, we can apply the steps above from the first to the outputs, with the updatedXE until flatness is proved or a XE is reached, and no more variables can be expressed.

    Remark 5.1.15 It is possible that more sets of pairwise disjunct paths are present in theexplicit expressibility graph. In this case all sets of the paths can be tested for flatness. It isalso possible that we can reduce the number of paths by disregarding some of the inputs. Thiscan be useful, if we have inputs which are hard to use.

    1In general case the equations are independent, but in some special cases this is not guaranteed

  • 7/28/2019 Csercsik David 2

    37/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 31

    5.1.3 Graphs of the simple nonlinear limb model

    The structure graph defined by the equations (8) can be seen in the next figure:

    u1

    u2

    x1

    x2

    X4 x3 y

    Figure 22: The structure graph of the simple nonlinear limb model

    If we revert the directions of the edges, we get the dependency graph:

    u1

    u2

    x1

    x2

    X4 x3

    y

    Figure 23: The dependency graph of the simple nonlinear limb model

    The explicit expressibility graph is depicted in the following figure (loop-edges and distur-bances are neglected). Outputs are chosen as following: y1 = x3, y2 = x2. The pairwise disjunctpaths are denoted with red.

    u1

    u2

    x1

    x2

    X4 x3

    Figure 24: The explicit expressibility graph of the simple nonlinear limb model

  • 7/28/2019 Csercsik David 2

    38/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 32

    5.1.4 Expression of variables

    We can express the variables the following way:

    y1 = x3

    y1 = x3 = x4 (45)

    where y1 denotes the first time derivative of y1.

    y(2)1 = x3 = x4 =1

    + ml2com(M(x1, x2, x3, x4) + mlcomcos(x3 + )gy =

    =1

    + ml2com (Ffmaxf

    fL(x3)f

    fV(x3, x4)dfx1 FemaxfeL(x3)feV(x3, x4)dex2 + mlcomcos(x3 + )gy)

    where y(2)1 denotes the second time derivative of y1.

    At first let we examine the case when only the extensor muscle is active. In this case wecan write:

    y2 = x2.

    =y

    (2)1 ( + ml

    2com) + mlcomcos(x3 + )gy

    FemaxfeL(x3)f

    eV(x3, x4)d

    e(46)

    y(3)1 = 1 + ml2com(Femaxde(feL(x3)feV(x3, x4)x2 + feL(x3)(feV(x3, x4)x2 + feV(x3, x4)x2)

    +mlcomsin(x3 + )x4gy) (47)

    (48)

    x2 =y(3)1 ( + ml

    2com) + F

    emaxd

    efeL(x3)f

    eV(x3, x4)x2 F

    emaxd

    efeL(x3)feV(x3, x4)x2

    FemaxdefeL(x3)f

    eV(x3, x4)

    mlcomsin(x3 + )x4gy

    FemaxdefeL(x3)f

    eV(x3, x4)

    (49)

    (50)

    This case has physical meaning only in the case when the activation state of the extensormuscle (x2) is positive - in this case we define x2 with the above equation. The input u2 canbe expressed as follows:

    x2 = 1

    act (+ [1 ]u2)

    x2 +

    1

    act u2 =

    1

    act x2

    1

    act (1 )x2u2 +

    1

    act u2

  • 7/28/2019 Csercsik David 2

    39/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 33

    u2 =x2 +

    1act

    x2

    1act

    (1 )x2 +1

    act

    (51)

    From the form of equation (2) we can suppose that no both muscles are active at the sametime. If only the flexor muscle is active, x2 0 and x1 can be expressed as follows:

    x1 =y(2)1 ( + ml

    2com) mlcomcos(x3 + )gy

    FfmaxffL(x3)f

    fV(x3, x4)d

    f(52)

    y(3)1 =

    1

    + ml2com(Ffmaxd

    f(ffL(x3)f

    fV(x3, x4)x1 + f

    fL(f

    fV(x3, x4)x1 + f

    fV(x3, x4)x1))

    +mlcomsin(x3 + )x4gy) (53)

    x1 =y(3)1 ( + ml

    2com) F

    fmaxd

    f(ffL(x3)f

    fV(x3, x4)x1 f

    fLf

    fV(x3, x4)x1)

    FfmaxdfffLf

    fV(x3, x4)

    mlcomsin(x3 + )x4gy

    FfmaxdfffLf

    fV(x3, x4)

    (54)

    where

    ffL(x3) = ffV

    = feL

    (x3) = feV

    =

    where < x, y > is the scalar product of x and y. Furthermore:

    x1 =

    1

    act(+ [1 ]u1)

    x1 +

    1

    actu1 =

    1

    actx1

    1

    act(1 )x1u1 +

    1

    actu1

    therefore we can express u1:

    u1 =x1 +

    1act

    x1

    1act

    (1 )x1 +1

    act

    (55)

    If substitute x1 or x2 from the equation (52) or (46) and x1 or x2 from the equation (54) or

    (49) to equation (55) and (51), we get the explicit expression of u1 or u2 as function of thederivatives of y1.

    5.1.5 Polynomial fitting and switching

    To make the control to be able to take the initial conditions into account, and easily computethe derivatives of the reference signal we use Hermite-polynomial approximation of the referencesignal. To avoid the explosion of the order of the polynomial, a 0.5 s long time horizon of thereference signal is taken into account, with 3 points of fitting in each horizon. At the beginningof each new polynomial, the actual state of the system is used to determine the initial valuesand derivatives of the new polynomial.

    Furthermore at time points, where the role of the active muscle changes (for example theflexor muscle is deactivated, and the extensor muscle is activated) the reference signal for muscle

  • 7/28/2019 Csercsik David 2

    40/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 34

    activation is not differentiable, and is not perfectly followed by the activation signals definedby the equations (55) and (51). The phenomena can be seen in the next figures in the case ofregulation:

    5.2 Regulation simulation results I

    The following initial conditions were used: x0 = [0 0 0.2 0]T

    0 0.5 1 1.50.02

    0

    0.02

    0.04

    0.06

    0.08

    0.1

    0.12

    0.14

    0.16

    0.18

    Muscleactivationstatesan

    dreferences

    Time [s]

    q1

    q2

    q1ref

    q2ref

    0 0.5 1 1.50

    0.02

    0.04

    0.06

    0.08

    0.1

    0.12

    0.14

    0.16

    Input:Muscleactivatio

    nsignals

    Time [s]

    u1

    u2

    Figure 25: Muscle activation states, the reference signal for muscle activation states and input

    0 0.5 1 1.50.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    1.8

    Time [s]

    Referencepolyn

    omials[rad]

    Reference polynomialsReference signal

    0 0.5 1 1.50

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Jointangle

    [rad],

    reference

    sig

    nal[rad]

    Time [s]

    Joint angleReference

    Figure 26: Reference signal, and the fitted polynomials, output: Joint angle, reference signal

  • 7/28/2019 Csercsik David 2

    41/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 35

    In this case, q1ref and q2ref is determined by the equations (52) or (46).

    For the correction of these errors we may use a simple proportional feedback of the muscle

    activation signal error:ui = u

    fi + Pi(qiref qi) i {1, 2} (56)

    Using this method, the control provides even better results:

    0 0.5 1 1.50.02

    0

    0.02

    0.04

    0.06

    0.08

    0.1

    0.12

    0.14

    0.16

    0.18

    Muscleactivationstate

    sandreferences

    Time [s]

    q1

    q2

    q1ref

    q2ref

    0 0.5 1 1.50

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    Input:Muscleactiv

    ationsignals

    Time [s]

    u1

    u2

    Figure 27: Muscle activation states, the reference signal for muscle activation states and input

    0 0.5 1 1.50.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    1.8

    Time [s]

    Referencepolynomials[rad]

    Reference polynomialsReference signal

    0 0.5 1 1.50

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    1.8

    Jointangle

    [rad],

    referenc

    e

    signal[rad]

    Time [s]

    Joint angleReference

    Figure 28: Reference signal, and the fitted polynomials, output: Joint angle, reference signal

    En = 0.1760 in this case. The simulations take about 6 seconds in MATLAB on a PIII 650MHz with 523 760 KB RAM in the case of regulation.

  • 7/28/2019 Csercsik David 2

    42/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 36

    As we can see in figure 28, remaining errors are implied by the phenomena that the muscleactivation state can not decrease so fast as it would be required by the reference due to thelimitations of the inputs. We can see this type of error in figure 28, at the time 0.2-0.22 s in

    the case of the flexor muscle, and a bit later even in the case of the extensor muscle.

  • 7/28/2019 Csercsik David 2

    43/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 37

    5.3 Trajectory following simulation results

    In the case of trajectory following the same control method is used as in the case of regulation,

    except that the polynomials are fitted to the non-constant reference signal. The following initialconditions were used: x0 = [0.1 0 /2 0.2 0]

    T

    5.3.1 Ideal case I

    0 1 2 3 4 5 6 7 80

    0.01

    0.02

    0.03

    0.04

    0.05

    0.06

    0.07

    0.08

    0.09

    0.1

    time [s]

    Muscleactivationstatesan

    dreference

    q1

    q2

    q1ref

    q2ref

    0 1 2 3 4 5 6 7 80

    0.005

    0.01

    0.015

    0.02

    0.025

    0.03

    0.035

    0.04

    0.045

    0.05

    Time [s]

    Input:Muscleactivatio

    nsignals

    uf

    ue

    Figure 29: Muscle activation states, the reference signal for muscle activation states and input

    0 1 2 3 4 5 6 7 80.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Time [s]

    Referencesignalandfittedpolynomials

    Fitted polynomialsReference signal

    0 1 2 3 4 5 6 7 80.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Jointangle

    [rad],ref

    erence

    signal[rad]

    Time [s]

    Joint angleReference

    Figure 30: Reference signal, and the fitted polynomials, output: Joint angle, reference signal

  • 7/28/2019 Csercsik David 2

    44/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 38

    As we can see in figure 30, the control performs favorably also in the case of the trajectoryfollowing task. At t = 0.5, 1, 1.5... it can be seen that the new polynomials are defined to matchthe actual joint angle, joint angle velocity and muscle activation states.

    En =

    tend0

    |yref(t) y(t)|dt = 0.1000

    The simulations take about 120 seconds in MATLAB on a PIII 650 MHz with 523 760 KBRAM in the case of trajectory following.

    5.3.2 Ideal case II

    Due to the available extensor activation even reference signals with fast negative changes canbe followed with acceptable result.

    0 1 2 3 4 5 60.05

    0

    0.05

    0.1

    0.15

    0.2

    Muscleactivationstatesandreferences

    Time [s]

    q1

    q2

    q1ref

    q2ref

    0 1 2 3 4 5 60

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Input:Muscleactivationsignals

    Time [s]

    u1

    u2

    Figure 31: Muscle activation states, the reference signal for muscle activation states and input

  • 7/28/2019 Csercsik David 2

    45/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 39

    0 1 2 3 4 5 60.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Time [s]

    Referencepolynomials[rad]

    Reference polynomialsReference signal

    0 1 2 3 4 5 60.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    J

    ointangle

    [rad],reference

    signal

    [rad]

    Time [s]

    Joint angleReference

    Figure 32: Reference signal, and the fitted polynomials, output: Joint angle, reference signal

    5.3.3 Disturbed case

    We use the same type of disturbance as described in 3.6.2, the disturbance was set to 0.3. Thesimple flatness-based feedforward control is very sensitive to disturbances, as it can be seen in

    the next figure:

    0 1 2 3 4 5 6 7 80.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Jointangle[

    rad],reference

    signal[rad]

    Time [s]

    Joint angleReference

    Figure 33: Output: Joint angle, reference signal

  • 7/28/2019 Csercsik David 2

    46/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 40

    5.4 Disturbance rejection

    One possible way to combat the strong sensitivity to disturbance is to use the simple load

    estimation method described in 4.3, and update the equations of the feedforward.If w is the estimated load, the resulting mass of the limb can be considered as m = m + w.We suppose that the disturbance act via the gravitational force, so we replace m with m

    in the term describing this effect. In this case we have to modify equation (46), (49), (52) and(54) as follows:

    y2 = x2.

    =y

    (2)1 ( + ml

    2com) + mlcomcos(x3 + )gy

    FemaxfeL(x3)f

    eV(x3, x4)d

    e(57)

    x2 =

    y(3)1 ( + ml

    2com) + F

    emaxd

    efeL(x3)f

    eV(x3, x4)x2 F

    emaxd

    efeL(x3)feV(x3, x4)x2

    FemaxdefeL(x3)feV(x3, x4)

    mlcomsin(x3 + )x4gy

    FemaxdefeL(x3)f

    eV(x3, x4)

    (58)

    (59)

    x1 =y(2)1 ( + ml

    2com) mlcomcos(x3 + )gy

    FfmaxffL(x3)f

    fV(x3, x4)d

    f(60)

    x1 =y(3)1 ( + ml

    2com) F

    fmaxd

    f(ffL(x3)f

    fV(x3, x4)x1 f

    fLf

    fV(x3, x4)x1)

    FfmaxdfffLf

    fV(x3, x4)

    mlcomsin(x3 + )x4gy

    FfmaxdfffLf

    fV(x3, x4)

    (61)

    Furthermore we have to modify the time derivatives of the functions describing the musclecharacteristics.

    The original form was

    ffL(x3) = ffV =< df

    fV

    dx, x > feL

    (x3) = feV =< df

    eV

    dx, x >

    where x was equal to the vector denoted f in the state space equation [9]. We can accept thissimplification because the elements of gi-s are eliminated by the first two zeros in the gradients(none of the characteristics depend on x1 or x2). The nominal f is no more valid because, fdepends on m. We have to update f with the modified m and we will call the resulting vectorf. In this case we can write:

    ffL(x3) = ffV = feL(x3) = feV =

    The remaining equations describing the feedforward can be left unchanged.

  • 7/28/2019 Csercsik David 2

    47/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 41

    5.5 Trajectory following simulation results with load estimation

    5.5.1 Disturbed case I

    In the case of a small disturbance (w = 0.3) we get the following simulation results:

    0 1 2 3 4 5 6 7 80

    0.02

    0.04

    0.06

    0.08

    0.1

    0.12

    0.14

    0.16

    Muscleactivatio

    nstatesandreferences

    Time [s]

    q1

    q2

    q1ref

    q2ref

    0 1 2 3 4 5 6 7 80

    0.02

    0.04

    0.06

    0.08

    0.1

    0.12

    Input:Muscleactivationsignals

    Time [s]

    u1

    u2

    Figure 34: Muscle activation states, the reference signal for muscle activation states and input

    0 1 2 3 4 5 6 7 80.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Jointangle

    [rad],reference

    signal[rad]

    Time [s]

    Joint angleReference

    0 1 2 3 4 5 6 7 80

    0.05

    0.1

    0.15

    0.2

    0.25

    0.3

    0.35

    Time [s]

    Load

    andestimatedload

    estimated loadload

    Figure 35: Output: Joint angle, reference signal, load and estimated load

    We have to note that even with this disturbance rejection technique the flatness based

    control is unable to combat heavy time-varying disturbances as for example the disturbanceused in 4.5.3.

  • 7/28/2019 Csercsik David 2

    48/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 42

    5.5.2 Disturbed case II

    In fact heavier time-invariant disturbances can be handled with the algorithm, without violating

    the input constraints, as depicted in the following figures:

    0 1 2 3 4 5 6 7 80

    0.02

    0.04

    0.06

    0.08

    0.1

    0.12

    0.14

    0.16

    0.18

    Muscleactiva

    tionstatesandreferences

    Time [s]

    q1

    q2

    q1ref

    q2ref

    0 1 2 3 4 5 6 7 80

    0.02

    0.04

    0.06

    0.08

    0.1

    0.12

    0.14

    Input:Muscleactivationsignals

    Time [s]

    u1

    u2

    Figure 36: Muscle activation states, the reference signal for muscle activation states and input

    0 1 2 3 4 5 6 7 80.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    Jointangle

    [rad],reference

    signal[rad]

    Time [s]

    Joint angleReference

    0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.20

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Time [s]

    Loadandestimatedload

    estimated loadload

    Figure 37: Output: Joint angle, reference signal and inputs

  • 7/28/2019 Csercsik David 2

    49/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 43

    5.5.3 Disturbed case III

    The limitations of the disturbance rejection are reached around w = 3.

    0 1 2 3 4 5 6 7 80.5

    1

    1.5

    2

    2.5

    3

    Jointangle

    [rad],reference

    signal[rad]

    Time [s]

    Joint angleReference

    0 1 2 3 4 5 6 7 80

    0.05

    0.1

    0.15

    0.2

    0.25

    0.3

    0.35

    Input:

    Muscleactivationsignals

    Time [s]

    u1

    u2

    Figure 38: Output: Joint angle, reference signal, load and estimated load

    It is worth to note, that in this case even the extensor muscle is activated in some points

    during the movement.The simulations take about 120 seconds in MATLAB on a PIII 650 MHz with 523 760 KBRAM in the case of trajectory following with disturbance.

  • 7/28/2019 Csercsik David 2

    50/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 44

    6 Conclusions and future works

    6.1 Conclusions

    The main results of this thesis can be summarized as follows. It has been shown that in the caseof a simple nonlinear limb model a stabilizing feedback with known control Lyapunov functioncan be designed with the backstepping method by utilizing the cascade structure of the model.

    The control has been successfully extended to the reference tracking task for both smoothand non-differentiable reference signals.

    In both cases, several tuning knobs are available for controller tuning in the form of ad-justable controller parameters. In all cases, an effective compromise could be found that satisfiedthe time-domain requirements and the input constraints, too.

    The pole-placement based sliding mode control provides similarly good results in the case

    of trajectory following, and is able to handle significant and quickly changing disturbances.In fact, both of the above mentioned control strategies suffer from the disadvantages of theSISO design: either only one of the muscles is active during movement, or the control worksaround a steady-state point (to allow negative activation signals), where the muscles haveconstant activation state. This solution is not too effective from the aspect of input energyconsumption and its operation is different from the real behavior of biological neuromuscularcontrol.

    The flatness based feedforward method is able to utilize both of the muscles to reach an accu-rate trajectory following with minimal activation of the appropriate muscle in each time-point.In fact, the basic version is very sensitive to disturbances, and requires the most computationtime in the case of reference tracking. Applying the detailed load estimation and correction

    provides acceptable results in the case of time-invariant disturbances, but is still more sensitiveto disturbance compared to the sliding mode control.

    Refereed international conference papers published (or accepted) from the scientific materialof this degree thesis, and related articles are the following: [8, 7, 5, 10].

    6.2 Future work

    Future work in the field will be directed to the following problems and areas:

    The combination of the previously examined control methods to find a solution that can

    integrate the advantages of these controllers. Involving a gamma-loop model described in [6] into the control mechanism as a load-

    estimator and corrector structure.

    Parallel utilization of both muscles for a MIMO-feedback linearizing control.

    Analyzing the possibility of the application of linear and nonlinear model-predictive con-trol methods for the explicit handling of input and state constraints.

    Comparing the state trajectories of the closed-loop system with physical measurementsrecorded during real movement patterns.

  • 7/28/2019 Csercsik David 2

    51/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 45

    7 Acknowledgements

    The author would like to thank Zoltn Beny, Katalin Hangos, Gbor Szederknyi, Blint Kiss,

    Levente Kovcs and Csaba Fazekas for their kind help and support.

  • 7/28/2019 Csercsik David 2

    52/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 46

    References

    [1] Abbot, S.B. Analysis of control Strategies for a Human Skeletal System Pedaling a Bicycle.

    1995.

    [2] M. L. Corradini and G. Orlando. A MIMO variable structure model of the controller ofvoluntary arm movements: an identification study. Automatica, 31:16731679, 2001.

    [3] I.T. Cameron and K.M. Hangos. Process Modelling and Model Analysis. Academic Press,2001.

    [4] D. Csercsik. Analysis and Control of a Simple Nonlinear Limb Model. De-gree Thesis, Budapest University of Technology and Economics, Budapest, Hungary,http://daedalus.scl.sztaki.hu, 2005.

    [5] D. Csercsik. Cascade stabilization of a simple nonlinear limb model. Technical report ofthe Systems and Control Laboratory SCL-004/2006. Budapest, MTA SZTAKI, Hungary,http://daedalus.scl.sztaki.hu, 2006.

    [6] D. Csercsik. Construction of Simple Dynamic Models of the Gamma-loop Mechanism.Technical report of the Systems and Control Laboratory SCL-001/2006. Budapest, MTASZTAKI, Hungary, http://daedalus.scl.sztaki.hu, 2006.

    [7] D. Csercsik. Simple dynamical gamma-loop models. Proceedings of the Second BiomedicalEngineering Conference of Young Biomedical Engineers and Researchers, 2006 - Kladno -

    Czech Republic.[8] D. Csercsik and K.M. Hangos. Dynamical analysis and control. Proceedings of the EMBEC

    2005 - III. European Medical & Biological Conference, 2005 - Prague-Czech Republic.

    [9] D. Csercsik and G. Szederknyi. Cascade control methods of a simple nonlinear limbmodel. Proceedings of the 7th International PhD Workshop, 2006 - Hruba Skala - CzechRepublic.

    [10] D. Csercsik, G. Szederknyi, and K.M. Hangos. Cascade stabilization and reference track-ing of a simple nonlinear limb model. In The 26th IASTED International Conference onModelling, Identification and Control, Innsbruck, Austria, February 2007. accepted.

    [11] E. Delaleau and V. Hagenmeyer. Roboustness analysis of exact feedforward linearizationbased on differential flatness. Automatica, 39:19411946, 2003.

    [12] M. Desmurget and S. Grafton. Forward modeling allows feedback control for fast reachingmovements. Trends in Cognitive Sciences, 4(11):423431, 2000.

    [13] D. Eliott, G. Binsted, and M. Heath. The control of goal-directed limb movements: Cor-recting errors in the trajectory. Human Movement Science, 18:121136, 1999.

    [14] M. Epstein and W. Herzog. Aspects of skeletal muscle modelling. Phil. Trans. R. Soc.

    Lond. B, 358:14451452, 2003.

  • 7/28/2019 Csercsik David 2

    53/55

    Dvid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 47

    [15] N. Faiz, S.K. Agrawal, and R.M. Murray. Trajectory planning of differentially flat systemswith dynamics and inequalities. Journal of Guidance, Control, and Dynamics, 24:219227,2001.

    [16] Cs. Fazekas. Simulation and Neuromechanical Control of the Movement of MultisegmentalLimb (in Hungarian). Degree thesis, University of Veszprm, Hungary, 2002.

    [17] Cs. Fazekas. Simulation and control of well-coordinated motion of multisegmental limb.15th International Congress on Sports Sciences for Students, Budapest, Hungary, April,26-27, 2002.

    [18] Cs. Fazekas, Gy. Kozmann, and K. M. Hangos. Hierarchical Modelling in Biology: Asystematic built-up of a limb model. Tehnical Report SCL-003/2004, 2004.

    [19] M. Fliess, J. Levine, P. Martin, and P.Rouchon. Flatness and defect of nonlinear systems:Introductory theory and examples. CAS Internal report A-284, 1994.

    [20] M. Folgheraiter and G. Gini. Human-like reflex control for an artificial hand. Biosystems,76(1-3):6574, 2004.

    [21] S.F. Giszter and W.J. Kargo. Modeling of dynamic controls in the frog wiping reflex:Force-field level controls. Neurocomputing, 39-40:12391247, 2001.

    [22] K. Hangos, J. Bokor, and G. Szederknyi. Analysis and Control of Nonlinear ProcessSystems. Springer, 2004.

    [23] A. Isidori. Nonlinear Control Systems. Springer, 1999.

    [24] P. Kitzenmaier and U. Boenick. Possibilities of myoelectric control of artificial limb pros-theses. Biomed Tech, 37(7-8):17080, 1992.

    [25] J. Laczko, P. Kerites, and A. Klauber. The use of the tensor network theory for func-tional neuromuscular stimulation.