modern control methods of a simple nonlinear limb - mta sztaki

55
Modern Control Methods of a Simple Nonlinear Limb Model by Dávid 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. Gábor Szederkényi Prof. Zoltán Benyó Systems and Control Laboratory Department of Control Engineering Computer and Automation and Information Technology Research Institute Budapest Faculty of Control Engineering and Informatics Budapest University of Technology and Economics BME 2007

Upload: others

Post on 25-Mar-2022

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Modern Control Methods of a Simple Nonlinear LimbModel

by

Dávid Csercsik

Submitted to the department of Control Engineering and Information Technologyin partial fulfillment of the requirements for the degree of

Master of Science in Biomedical Engineering

Supervisor: Department Consultant:

Dr. Gábor Szederkényi Prof. Zoltán 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

Page 2: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Alulírott Csercsik Dávid, a Budapesti Műszaki Egyetem hallgatója kijelentem, hogy ezta diplomatervet meg nem engedett segítség nélkül, saját magam készítettem, és a diploma-tervben csak a megadott forrásokat használtam fel. Minden olyan részt, amelyet szó szerint vagyazonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen a forrás megadásávalmegjelöltem.

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

Page 3: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

ÖsszefoglalóA diplomamunka modern nemlineáris irányításelméleti módszerek alkalmazhatóságát vizsgáljaegy egyszerű nemlineáris végtagmodell esetén. Alkalmazásra kerül a van der Schaft által leírtbackstepping (visszalépéses) technika feedback linearizálással kombinálva, kiterjesztve alapjel-követésre, egy backstepping-alapú csúszószabályozás, valamint egy flatness alapú előrecsatolás.A csúszószabályozás és a flatness-alapú előrecsatolás esetén a várt nem mérhető zavarásokbecslésére és kiküszöbölésére a rendszer terhelésbecslővel egészül ki.

Minden irányítási módszer kiterjesztésre kerül alapjelkövetés megoldására.Az elméletek megvalósíthatóságának tesztelésére szimulációk szolgálnak, egy szinusz jellegű,

és egy nem differenciálható pontokat is tartalmazó részben lineáris alapjel követése esetén.A különféle irányítási megoldások teljesítményénének összehasonlítására szintén a szimulá-

ciók szolgálnak, melyek ideális és zavarással terhelt környezetben is elvégzésre kerülnek.

Page 4: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Contents1 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 32.1 Basic assumptions and system structure . . . . . . . . . . . . . . . . . . . . . . 3

2.1.1 Modeling assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.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 93.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.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 ofsegments 204.1 SMC and feedback linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2 Sub-controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.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

Page 5: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

5 Flatness-based feedforward control 265.1 Theoretical basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.1.1 General concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.5 Trajectory following simulation results with load estimation . . . . . . . . . . . 41

5.5.1 Disturbed case I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.5.2 Disturbed case II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.5.3 Disturbed case III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6 Conclusions and future works 446.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

7 Acknowledgements 45

Page 6: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Modern control methods of asimple nonlinear limb model

Dávid 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.

Page 7: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 caseof 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 fora 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 severaltimes in the past decades.

Lilly and Quesada provided a two-input sliding-mode controller for a planar arm actuated byfour 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 andcontrol of voluntary arm movements [2].

A multi level control model including timing and learning was developed by Levine andZajac [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

Page 8: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 modelwith 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 [Nm] joint torque ref referencet s time c centery rad output nom nominalw kg disturbancew kg estimated disturbanceς rad position angleξ backstepping variableLf Lie derivativeV Lyapunov functionJ Jacobian matrixK state feedback gain vectorS sliding surfaceS1 storage function

α(z) virtual feedbackEn error norme error

Page 9: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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].

Page 10: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 ofSegments

Output:Joint angle

u1

u2

q1

q2

Inputs:

Muscle activation

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 statescan be handled as inputs. The dynamics of the segments holds the important nonlinearities ofthe system furthermore the muscles have much faster dynamics.

Page 11: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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-system’sx 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 part’s 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 = F fmaxff

L(α)ffV (α, ω)dfq1 + F e

maxfeL(α)fe

V (α, ω)deq2 (2)

where f fL and f e

L denote the function of the parabolic force-length characteristics in the caseof the flexor and extensor muscle, f f

V and f eV 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)

Page 12: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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/F

ma

x

−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/F

ma

x

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.

Page 13: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 = ω), theequations are as follows:

dx1

dt= −

(1

τact(β + [1− β]u1(t))

)x1 +

1τact

u1(t)

dx2

dt= −

(1

τact(β + [1− β]u2(t))

)x2 +

1τact

u2(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

τactβx1, − 1

τactβx2, 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.

Page 14: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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=x4

dx4/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 subsystem’s 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].

Page 15: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 9

3 Control structure design by using the backstepping methodIn 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 of a(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 passivesystem by the feedback:

u = α(z, ξ) + b−1(z, ξ)e2 (14)

Page 16: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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− dα

dzz = −A1y1 = A1(α(z)− ξ) (15)

(16)

we can rearrange the equation to get:

u = b−1(ξ, 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 feedback

transformed system

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

y1 = −A1y1 (18)

with storage function S1 = V (z) + 12y2

1, satisfying

dS1

dt≤ −‖y1‖2. (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 (qref

1 = ξ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 = ω.

Page 17: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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:

x∗1 = 0.1456, x∗2 = 0.1, x∗3 = π/2, x∗4 = 0 (20)

Relative degreeThe 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 x0 and all k > r − 1

2. LgLr−1f h(x0) 6= 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 linearizationAs described in [23] for a nonlinear n-dimensional SISO system with the relative degree of n

we need to apply the feedback

u =1

LgLn−1f 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)

Page 18: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 12

where Lfh(x) denotes the Lie-derivative of h(x) along f . z1 and z2 can be determined by usingthe coordinate-transformation zi = Li−1

f 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) = zT Pz 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 muscle’s 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).

Page 19: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 13

0.6 0.8 1 1.2 1.4 1.6 1.8−4

−3

−2

−1

0

1

2

3

4

5

Joint angle (α) [rad]

Jo

int a

ng

le v

elo

city (

ω)

[ra

d/s

]

The virtual feedback (ξref

)

−0.1

−2.4672e−017

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]

Muscle

activation (

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 wecan 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]), evenin 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]

Join

t angle

) [r

ad], R

efe

renc s

ignal

α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]

Inp

ut

− a

ctiva

tio

n s

ign

al o

f th

e f

lexo

r m

uscle

(u

1)

Figure 7: Output, reference signal and input

Page 20: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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.7−2

0

2

4

6

8

10

z1,z

2

Time [s]

Tra

nsfo

rme

d c

o−

ord

ina

tes (

z 1,z

2)

z1

z2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7−0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

q1,q

1ref

Time [s]

Fle

xo

r m

uscle

activa

tio

n s

tate

an

d t

he

virtu

al fe

ed

ba

ck (

q1,q

1ref =

α(z

))

q1

q1ref =α(z)

q1ref−q

1

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.

Page 21: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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:

dz

dt= f(z) + g(z)ξ

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

wheref =

(f1

f2

)g =

(g1

g2

)(27)

Control of segmentsIn 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.

Page 22: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 16

Control of musclesWe 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)

δzz + δβ(z)

δzz(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 furtherbackstepping 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.

Page 23: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 variableswere initialized to the value of the steady-state point. C in eqn. (37) was set to 30, K1 and K2

in (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 criticalpoint, 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 8−0.2

0

0.2

0.4

0.6

0.8

1

1.2

Time [s]

Mu

scle

activa

tio

n s

tate

− q

1, th

e v

irtu

al

fe

ed

ba

ck −

q1

ref a

nd

th

e e

rro

r

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]

Mu

scle

activa

tio

n s

tate

− q

1, th

e v

irtu

al

fe

ed

ba

ck −

q1

ref a

nd

th

e e

rro

r

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

Page 24: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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]

Jo

int a

ng

le −

α [ra

d], r

efe

ren

ce

sig

na

l [r

ad

]

αreference signal

0 1 2 3 4 5 6 7 8−0.05

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Time [s]In

pu

t: a

ctu

atio

n s

ign

al −

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.

Page 25: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 it’s 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]

Jo

int a

ng

le −

α [ra

d], r

efe

ren

ce

sig

na

l [r

ad

]

αreference signal

0 1 2 3 4 5 6 7 8−0.2

0

0.2

0.4

0.6

0.8

1

1.2

Time [s]

Mu

scle

activa

tio

n s

tate

− q

1, th

e v

irtu

al

fe

ed

ba

ck −

q1

ref a

nd

th

e e

rro

r

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]

Inp

ut:

act

ua

tion

sig

na

l − 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.

Page 26: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 withrespect to both control input u and unknown disturbance w.

z1 = z2

z2 = L2fh(x) + LgLfξref + 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) + yref − a0e2 −Ksigm(S)] (40)

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

Page 27: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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)]−a

b(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= znom

2 − 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.

Page 28: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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]

Jo

int a

ng

le −

α [ra

d], r

efe

ren

ce

sig

na

l [r

ad

]

αreference signal

0 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]

Mu

scle

activa

tio

n s

tate

− q

1, th

e v

irtu

al

fe

ed

ba

ck −

q1

ref a

nd

th

e e

rro

r

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 30.045

0.05

0.055

0.06

0.065

0.07

0.075

0.08

0.085

0.09

Time [s]

Inp

ut: a

ctu

atio

n s

ign

al −

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 valuesof the actuation signal, their further increase may cause the violation of the input constraints.

Page 29: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 23

4.5.1 Ideal case

0 1 2 3 4 5 6 7 8−0.05

0

0.05

0.1

0.15

0.2

0.25

0.3

Time [s]

Mu

scle

activa

tio

n s

tate

− q

1,

the

virtu

al

fe

ed

ba

ck −

q1

ref a

nd

th

e e

rro

r

q1

q1ref

error

0 0.02 0.04 0.06 0.08 0.1 0.12−0.05

0

0.05

0.1

0.15

0.2

0.25

0.3

Time [s]

Mu

scle

activa

tio

n s

tate

− q

1,

the

virtu

al

fe

ed

ba

ck −

q1

ref a

nd

th

e e

rro

r

q1

q1ref

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]

Jo

int a

ng

le −

α [ra

d], r

efe

ren

ce

sig

na

l [r

ad

]

αreference signal

0 1 2 3 4 5 6 7 80

0.05

0.1

0.15

0.2

0.25

Time [s]

Inp

ut: a

ctu

atio

n s

ign

al −

u f

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

En = 0.0569.

Page 30: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 8−0.05

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

Time [s]

Mu

scle

activa

tio

n s

tate

− q

1, th

e v

irtu

al

fee

db

ack −

q1

ref a

nd

th

e e

rro

r

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]

Load a

nd e

stim

ate

d load

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]

Jo

int a

ng

le −

α [ra

d], r

efe

ren

ce

sig

na

l [r

ad

]

α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: a

ctu

atio

n s

ign

al −

uf

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

En = 0.1032The simulations take about 25 seconds in MATLAB on a PIII 650 MHz with 523 760 KB

RAM in the case of trajectory following in ideal case and disturbed case I.

Page 31: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 followingfigures.

0 1 2 3 4 5 6 7 8−0.2

0

0.2

0.4

0.6

0.8

1

1.2

Time [s]

Mu

scle

activa

tio

n s

tate

− q

1, th

e v

irtu

al

fe

ed

ba

ck −

q1

ref a

nd

th

e e

rro

r

q1

q1ref

error

0 1 2 3 4 5 6 7 8−1

0

1

2

3

4

5

6

7

8

Time [s]

Lo

ad

an

d e

stim

ate

d lo

ad

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]

Jo

int a

ng

le −

α [ra

d], r

efe

ren

ce

sig

na

l [r

ad

]

α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]

Inp

ut: a

ctu

atio

n s

ign

al −

u f

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

En = 0.1432The simulations take about 45 seconds in MATLAB on a PII with 523 760 KB RAM in the

case of trajectory following in disturbed case II.

Page 32: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 26

5 Flatness-based feedforward controlDifferential flatness is a structural property of a class of nonlinear systems, for which, roughlyspeaking, 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 trackingeven 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.

Page 33: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 V2

depends 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 it’s 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 The explicit 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 flatnessIf we are looking for flat outputs in the form of state-space variables, the following notationscan 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.

ProofSuch 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)<n) could be expressed.

Page 34: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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.

ProofIf 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 pairwisedisjunct 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 flatnessLet 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.

Page 35: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 graph’s vertices, and the pathways can be’walked through’ with the step method described above, the system is flat, and the state-variablescan 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 theexplicit expressibility graph.

If all of the other variables on the right side of the new equations are ∈ XE, it is possiblethat 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 input’s 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 output’s 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 mayappear 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: Xnew

E = 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 expressedflatness is proved.

Page 36: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 30

• If two, or more yet unexpressed variables appear in a derivative’s 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

Page 37: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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

Page 38: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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

y′1 = x3 = x4 (45)

where y′1 denotes the first time derivative of y1.

y(2)1 = x3 = x4 =

1

Θ + ml2com

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

=1

Θ + ml2com

(F fmaxf

fL(x3)f

fV (x3, x4)d

fx1 − F emaxf

eL(x3)f

eV (x3, x4)d

ex2 + 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 (Θ + ml2com) + mlcomcos(x3 + ξ)gy

F emaxf

eL(x3)f e

V (x3, x4)de(46)

y(3)1 =

1

Θ + ml2com

(−F emaxd

e(f eL′(x3)f

eV (x3, x4)x2 + f e

L(x3)(feV′(x3, x4)x2 + f e

V (x3, x4)x2)

+mlcomsin(x3 + ξ)x4gy) (47)

(48)

x2 =y

(3)1 (Θ + ml2com) + F e

maxdef e

L′(x3)f

eV (x3, x4)x2 − F e

maxdef e

L(x3)feV′(x3, x4)x2

F emaxd

ef eL(x3)f e

V (x3, x4)

− mlcomsin(x3 + ξ)x4gy

F emaxd

ef eL(x3)f e

V (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

Page 39: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 33

u2 =x2 + 1

τactβx2

− 1τact

(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 (Θ + ml2com)−mlcomcos(x3 + ξ)gy

F fmaxf

fL(x3)f

fV (x3, x4)df

(52)

y(3)1 =

1

Θ + ml2com

(F fmaxd

f (f fL′(x3)f

fV (x3, x4)x1 + f f

L(f fV′(x3, x4)x1 + f f

V (x3, x4)x1))

+mlcomsin(x3 + ξ)x4gy) (53)

x1 =y

(3)1 (Θ + ml2com)− F f

maxdf (f f

L′(x3)f

fV (x3, x4)x1 − f f

Lf fV′(x3, x4)x1)

F fmaxdff f

Lf fV (x3, x4)

−mlcomsin(x3 + ξ)x4gy

F fmaxdff f

Lf fV (x3, x4)

(54)

where

f fL′(x3) =<

df fL

dx, x > f f

V′ =<

df fV

dx, x > f e

L′(x3) =<

df eL

dx, x > f e

V′ =<

df eV

dx, x >

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

x1 = −(

1

τact

(β + [1− β]u1)

)x1 +

1

τact

u1 = − 1

τact

βx1 − 1

τact

(1− β)x1u1 +1

τact

u1

therefore we can express u1:

u1 =x1 + 1

τactβx1

− 1τact

(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

Page 40: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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.5−0.02

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

Mu

scle

activa

tio

n s

tate

s a

nd

re

fere

nce

s

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: M

uscle

activation s

ignals

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]

Refe

rence p

oly

nom

ials

[ra

d]

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

Jo

int a

ng

le −

α [ra

d],

refe

ren

ce

sig

na

l [r

ad

]

Time [s]

Joint angleReference

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

Page 41: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 muscleactivation signal error:

ui = ufi + Pi(qiref − qi) i ∈ {1, 2} (56)

Using this method, the control provides even better results:

0 0.5 1 1.5−0.02

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

Mu

scle

activa

tio

n s

tate

s a

nd

re

fere

nce

s

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: M

uscle

activation s

ignals

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]

Refe

rence p

oly

nom

ials

[ra

d]

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

Jo

int a

ng

le −

α [ra

d],

refe

ren

ce

sig

na

l [r

ad

]

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.

Page 42: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 inthe case of the flexor muscle, and a bit later even in the case of the extensor muscle.

Page 43: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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]

Mu

scle

activa

tio

n s

tate

s a

nd

re

fere

nce

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: M

uscle

activation s

ignals

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]

Re

fere

nce

sig

na

l a

nd

fitte

d p

oly

no

mia

ls

Fitted polynomialsReference signal

0 1 2 3 4 5 6 7 80.8

1

1.2

1.4

1.6

1.8

2

Jo

int a

ng

le −

α [ra

d], r

efe

ren

ce

sig

na

l [r

ad

]

Time [s]

Joint angleReference

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

Page 44: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 =

∫ tend

0

|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 6−0.05

0

0.05

0.1

0.15

0.2

Mu

scle

activa

tio

n s

tate

s a

nd

re

fere

nce

s

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

1In

put: M

uscle

activation s

ignals

Time [s]

u1

u2

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

Page 45: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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]

Refe

rence p

oly

nom

ials

[ra

d]

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

Jo

int a

ng

le −

α [ra

d], r

efe

ren

ce

sig

na

l [r

ad

]

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 inthe next figure:

0 1 2 3 4 5 6 7 80.8

1

1.2

1.4

1.6

1.8

2

Jo

int a

ng

le −

α [ra

d], r

efe

ren

ce

sig

na

l [r

ad

]

Time [s]

Joint angleReference

Figure 33: Output: Joint angle, reference signal

Page 46: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 loadestimation 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 (Θ + ml2com) + mlcomcos(x3 + ξ)gy

F emaxf

eL(x3)f e

V (x3, x4)de(57)

x2 =y

(3)1 (Θ + ml2com) + F e

maxdef e

L′(x3)f

eV (x3, x4)x2 − F e

maxdef e

L(x3)feV′(x3, x4)x2

F emaxd

ef eL(x3)f e

V (x3, x4)

− mlcomsin(x3 + ξ)x4gy

F emaxd

ef eL(x3)f e

V (x3, x4)(58)

(59)

x1 =y

(2)1 (Θ + ml2com)− mlcomcos(x3 + ξ)gy

F fmaxf

fL(x3)f

fV (x3, x4)df

(60)

x1 =y

(3)1 (Θ + ml2com)− F f

maxdf (f f

L′(x3)f

fV (x3, x4)x1 − f f

Lf fV′(x3, x4)x1)

F fmaxdff f

Lf fV (x3, x4)

−mlcomsin(x3 + ξ)x4gy

F fmaxdff f

Lf fV (x3, x4)

(61)

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

The original form was

f fL′(x3) =<

df fL

dx, x > f f

V′ =<

df fV

dx, x > f e

L′(x3) =<

df eL

dx, x > f e

V′ =<

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:

f fL′(x3) =<

df fL

dx, f > f f

V′ =<

df fV

dx, f > f e

L′(x3) =<

df eL

dx, f > f e

V′ =<

df eV

dx, f >

The remaining equations describing the feedforward can be left unchanged.

Page 47: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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

Muscle

activation s

tate

s a

nd r

efe

rences

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: M

uscle

activation s

ignals

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

Jo

int a

ng

le −

α [ra

d], r

efe

ren

ce

sig

na

l [r

ad

]

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 a

nd e

stim

ate

d load

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 basedcontrol is unable to combat heavy time-varying disturbances as for example the disturbanceused in 4.5.3.

Page 48: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 violatingthe 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

Muscle

activation s

tate

s a

nd r

efe

rences

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: M

uscle

activation s

ignals

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

Jo

int a

ng

le −

α [ra

d], r

efe

ren

ce

sig

na

l [r

ad

]

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]

Load a

nd e

stim

ate

d load

estimated loadload

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

Page 49: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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

Jo

int a

ng

le −

α [ra

d], r

efe

ren

ce

sig

na

l [r

ad

]

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: M

uscle

activation s

ignals

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 pointsduring 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.

Page 50: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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 caseof 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 correctionprovides 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 canintegrate 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.

Page 51: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 45

7 AcknowledgementsThe author would like to thank Zoltán Benyó, Katalin Hangos, Gábor Szederkényi, Bálint Kiss,Levente Kovács and Csaba Fazekas for their kind help and support.

Page 52: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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:1673–1679, 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 EMBEC2005 - III. European Medical & Biological Conference, 2005 - Prague-Czech Republic.

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

[10] D. Csercsik, G. Szederkényi, 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:1941–1946, 2003.

[12] M. Desmurget and S. Grafton. Forward modeling allows feedback control for fast reachingmovements. Trends in Cognitive Sciences, 4(11):423–431, 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:121–136, 1999.

[14] M. Epstein and W. Herzog. Aspects of skeletal muscle modelling. Phil. Trans. R. Soc.Lond. B, 358:1445–1452, 2003.

Page 53: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid 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:219–227,2001.

[16] Cs. Fazekas. Simulation and Neuromechanical Control of the Movement of MultisegmentalLimb (in Hungarian). Degree thesis, University of Veszprém, 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):65–74, 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:1239–1247, 2001.

[22] K. Hangos, J. Bokor, and G. Szederkényi. 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):170–80, 1992.

[25] J. Laczko, P. Kerites, and A. Klauber. The use of the tensor network theory for func-tional neuromuscular stimulation. Proc. 3rd Vienna International Workshop on FunctionalElectro-stimulation, p.161, In: Artificial Organs, 14 (6):480, 1989.

[26] J. Laczko, A. Pellionisz, H. Jongen, and C.C.A.M. Gielen. Computer modeling of humanforelimb muscle activationin multidimensional intrinsic coordinate frames. Soc. Neurosci.Abst. 14, 2:955, 1988.

[27] J. Laczko, A. Pellionisz, B.W. Peterson, and T.S. Buchanan. Multidimensional sensimotor"patterns" arising from a graphics-based tensional model of the neck-motor system. Soc.Neurosci. Abst. 13, 1:372, 1987.

[28] W. Levine and F. Zajac. Neural control of limb movement. IEEE Control Systems Maga-zine, pages 38–47, 1992.

[29] J. H. Lilly and P. M. Quesada. A two-input sliding-mode controller for a planar arm actu-ated by four pneumatic muscle groups. IEEE Trans Neural Syst Rehabil Eng, 12(3):349–59,2004.

Page 54: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 48

[30] L. Lim, N. B. Jones, S.K. Spurgeon, and J.J.A. Scott. Reconstruction of human neuromus-cular control signals using a sliding mode control technique. Simulation Modelling Practiceand Theory, 12:223–235, 2004.

[31] S.J. Lister, N. B. Jones, S.K. Spurgeon, and J.J.A. Scott. Simulation of human gait andassociated muscle activation strategies using sliding-mode control techniques. SimulationModelling Practice and Theory, 14:586–596, 2006.

[32] R. Mahadevan, S. K. Agrawal, and F. J. Doyle. Differential flatness based nonlinearpredictive control of fed-batch bioreactors. Control Engineering Practice, 9:889–899, 2001.

[33] G. Muscato and G. Spampinato. Kinematical model and control architecture for a humaninspired five DOF robotic leg. Mechatronics, 2006.

[34] N. Petit and P. Rouchon. Flatness of heavy chain systems. Journal of Control Optim.,40:475–495, 2001.

[35] J. B. Pomet. On dynamic feedback linearization of four-dimensional affine control systemswith two inputs. Research Report of the Traitment du signal, automatique & produtcique,1996.

[36] M. Rathinam. Differentialy flat nonlinear control systems. Technical Report of the Controland Dynamical Systems Option, California Institute of Technology, Pasadena, California,1997.

[37] P. Y. Richard, J. Buisson, and H. Cormerais. Analysis of flatness using bond graphs andbicausality. Proceedings of the IFAC 15th Triennial World Congress Barcelona, Spain,2002.

[38] K. Robenback and O. Vogel. Computation of state and input trajectories for flat systemsusing automatic differentiation. Automatica, 32:459–464, 2004.

[39] R. Rothfuss, J. Rudolph, and M. Zeits. Flatness based control of a nonlinear chemicalreactor model. Automatica, 32:1433–1439, 1996.

[40] E. Sim, B. Ma, W. Levine, and G.E. Loeb. Some results on the neuromusclular controlsinvolved in pedaling a bicycle at maximum speed. Proceedings of the 1989 AutomaticControl Conference, Pittsburgh, USA,, 1989.

[41] A.J. Van Soest, P.A. Huijing, and M. Solomonow. Effect of tendon on muscle force indynamic isometric contractions: a simulated study. Journal of Biomechanics, 28:801–807,1995.

[42] V. I. Utkin. Sliding Modes in Control and Optimization. Springer, 1992.

[43] B.J.J.J. van der Linden, H.F.J.M. Koopman, H.J. Grottenboer, and P.A. Huijing. Mod-elling functional effect of muscle geometry. Journal of Electromyography and Kinesiology,8:101–109, 1998.

[44] A. van der Schaft. L2-Gain and Passivity Techniques in Nonlinear Control. Springer, 2000.

Page 55: Modern Control Methods of a Simple Nonlinear Limb - MTA Sztaki

Dávid Csercsik: Modern Control Methods of a Simple Nonlinear Limb Model 49

[45] M. van Nieuwstadt. Trajectory Generation for Nonlinear Control Systems. Tehncial ReportCD96-011 or the Department of Mechanical Engineering, California Institute of TechnologyPasadena, California, 1997.

[46] H.E.J. Veeger, B. Yu, K.N. An, and R.H. Rozendal. Parameters for modelling the upperextremity. Journal of Biomechanics, 30:647–652, 1997.

[47] F.E. Zajac. Muscle and tendon: Properties, models, scaling and application to biome-chanics and motor control. CRC Critical Reviews in Biomedical Engineering, 17:359–411,1989.