0% ont trouvé ce document utile (0 vote)
34 vues50 pages

EmbeddedControl ISTRe

Transféré par

lahlouh
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
34 vues50 pages

EmbeddedControl ISTRe

Transféré par

lahlouh
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Control for Embedded Systems

(Contrôle/Commande pour les systèmes embarqués)

Nicolas MARCHAND

GIPSA-Lab (CNRS, Grenoble-INP)


Email: [Link]@[Link]
Web: [Link]

Master ISTRe
S4: Contrôle/Commande, 18h CM + 12h TP

1
Préambule

La théorie, c’est quand ça ne marche pas mais on sait


pourquoi
La pratique, c’est quand ça marche mais on ne sait pas
pourquoi
En général, on associe les deux : ça ne marche pas et
on ne sait pas pourquoi

2
Contenu du cours
• Introduction:
– Motivations et spécificité de l’embarqué
– Quelques exemples de contrôle pour les systèmes embarqués

• Modélisation:
– A base d’équation physique du système
– Représentation d’état d’un système
– Linéarisation d’un système non linéaire

• Analyse:
– Transformations: Non unicité, SS vers TF et vice versa, Temps continu et temps discret
– Stabilité and Robustesse.
– Propriétés de contrôlabilité et d’observabilité

• Commande:
– PID
– Retour d’état (Placement de pôle et LQR)
– Retour de sortie (Placement de pôle, LQG)

• Implantations:
– Problématiques numériques (Echantillonnage, codage des mesures, calculs en nb de bits
limités)
– Incertitudes
– Saturations des actionneurs

3
PART I.
Introduction

4
Systèmes embarqués

Caractéristiques :

• Pas de définition claire


• Majorité des unités de calcul au monde (100 fois
plus que tous les PC)
• Quelques points qui reviennent fréquemment :
– Systèmes produits en grand nombres
– Forte contrainte de coût
– Souvent une forte contrainte énergétique
– Systèmes électroniques/informatiques/(mécaniques)
• Le contrôle dans les systèmes embarqués :
– Contrôle du système lui-même
– Contrôle d’un système extérieur

Le rôle de la commande est, soit d’améliorer le comportement en


réduisant les coûts (!), soit d’offrir de nouvelles fonctionnalités 5
Quelques chiffres

• Industrie automobile :
– 68 millions de voitures/an dans le monde  1€/unité = 68 000k€ économisé
– 5 millions/an par les constructeurs français  1€/unité = 5 000k€ économisé
• Téléphones portables :
– 1,15 milliards de nouveaux téléphone/an  1ct/unité = 11 500k€ économisé
– 24,3 millions/an en France  1ct/unité = 243k€ économisé
– 200 millions de Nokia 1100 vendus dans le monde  1ct/unité = 2 000k€
économisé
• Autres appareils électroniques :
– 110 millions d’iPod  1ct/unité = 1 100k€ économisé
– 115 millions de PS2  1ct/unité = 1 150k€ économisé
• Robotique :
– 2,1 millions de robots dans le monde  10€/unité = 21 000k€ économisé
• …
6
Systèmes embarqués
Machine-intelligence required

Les soucis : Adaptive


HIGH
System
• Proviennent des contraintes de
coût :
– Eléments constitutifs à bas coût
Robust
– Réduction des capacités de
traitement de l’information System

MODERATE
• Grande variabilité
Feedback
 Incertitudes de paramètres
System
 Paramètres variants (batteries)
 Problème de robustesse
• Capacité de calcul limitée Open loop system Systèmes
(without feedback) embarqués
 Nombres de bits limités, LOW
problèmes de quantification
 Retards LOW MODERATE HIGH
 Réseaux plus lents ou à capacité
limitées Uncertainty of parameters and disturbances

7
Quelques exemples
ESP : Amélioration des performances

8
Quelques exemples
Suspension active : Amélioration des performances

9
Quelques exemples
ESP : Amélioration des performances

10
Quelques exemples
Blue ray : Nécessaire au fonctionnement
Front
view
• Système :
– Mvt radial et le focus
– Mesures limitées à l’erreur de poursuite
(capteurs optiques)
• Perturbations:
– Perturbations périodiques
– Principalement dues à la déformation du
disque (disc tilt, eccentricity,…)
• Contraintes fortes :
– BD ont les mêmes défauts que les DVD
– BD nécessitent une erreur de poursuite
plus faible pour être lisibles

Optical Disk Drive


11
Quelques exemples
Puces submicroniques : Nécessaire au fonctionnement

• Système :
– Très grande variabilité de performance
entre les puces sur un wafer
• Objectif :
– Rendre transparent cette inhomogénéité
pour l’OS
• Moyens :
– DVFS (dynamic voltage and frequency
scaling)
– Augmenter les tension et fréquence
pour rendre transparent
• Problèmes:
– Très grandes incertitudes de modèle
– Très fortes contraintes d’intégration
(parties en hard, parties en soft en
local, parties en soft au niveau OS) 12
Quelques exemples
Produits de grande consommation : Gains par rapport à la concurrence

• Système :
– Génération d’eau ou de vapeur
• Objectif :
– Avoir une température et une pression donnée
en sortie
• Moyens :
– Commande de pression et de température
• Contraintes:
– Matériel très bas coût
– Matériel en très grandes séries (plusieurs
centaine de milliers chaque jour)
– 1ct/unité d’économisé  + de 350k€/an

13
La boucle de commande

• Schéma de base d’une boucle de commande (i.e.: boucle fermée)


Digital Control (Computer)

CNA
CAN

y(t): sortie, s(t): mesure 2 manière de suivre une trajectoire de


u(t): commande, d(t): perturbation référence:
r(t): réference - Open loop
e(t): erreur - Closed loop (Feedback)
14
Un peu de vocabulaire

• Stabilité : Capacité à maintenir r-y petit - Asservissement

• Performances : Capacité à réagir de manière adéquate (temps de réponses,


dépassements, etc…) - Régulation

• Robustesse : Capacité à maintenir stabilité et performances en dépit d’incertitudes


15
Example: The Blu-ray Disc servo control

Focus error:

Radial error:

Radial error:

16
Example: Performance specifications

Time-domain specifications Frequency-domain specifications

Reference servo
(Sensitivity function)

Rotational
disc frequency

• The control problem is to design a • The sensitivity functions of the


controller K(s) such that the performance controlled system should stay below a
specifications are met. given reference curve.

17
Travail de l’automaticien

10% 1. Transformer les spécifications de “fonctionnement”


en spécifications de stabilité et de performances
40% 2. Modéliser le système (le simplifier, si besoin, etc)
3. Analyser le système
20%
4. Concevoir le contrôleur
5. Simulation de la boucle fermée
6. Réglage du contrôleur
30% 7. Implantation sur le système réel
8. Optimisation des réglages
9. Boire le champagne…ou trinquer

18
PART II.
Modélisation

19
Modélisation “système”

• Modélisation du système
• Modélisation des actionneurs Modélisation pour la simulation (Modelica, etc.)
• Modélisation des capteurs vs.
Modélisation pour la commande (Cause-effets)

Exemple: modèle de véhicule


* Monde macroscopique (Lois de Newton)
vs.
Monde micro-nano (interactions, couplages, frottements).

Théorie (Principes physiques)


vs.
Modélisation expérimentale (Identification, validation).
Modèle Lagrangien :

20
Modélisation - Identification

ModéIisation à base d’identification expérimentale :


 Excitation du système par une SBPA (signal binaire pseudo aléatoire,
PRBS en anglais) et on mesure la sortie
 Détermination de la fonction de transfert par identification (toolbox
matlab)
Modélisation à base de connaissances et identification des paramètres :
Représente le comportement du système en utilisant les équations
différentielles ou/et algébriques basées sur la connaissance physique du
modèle
 Equations du système (souvent non linéaires)
 Fixe le point de fonctionnement
 Introduire les variables de déviations et linéarisation du modèle
21
Modélisation des systèmes linéaires
• Système masse-ressort (Equations de Newton)

M z

En utilisant la transformée de Laplace :


k u=F

où z est la position relative de la masse, La fonction de transfert est alors :


M la masse du système, k la raideur du
ressort, u la force générée par la
suspension active

22
Modélisation des systèmes linéaires
• Système masse-ressort (Equations de Newton)

M z
On définit les variables d’état :
k u=F La représentation d’état est donnée par :

où z est la position relative de la Avec :


masse, M la masse du système, k la
raideur du ressort, u la force générée
par la suspension active
Le passage à la fonction de transfert est :

23
Modélisation des systèmes linéaires
• Système tournant (Lois de Newton)

En utilisant la transformée de Laplace :

La fonction de transfert est alors :

where ω is the angular velocity, J is the


inertial moment, d is the coefficient of the
Exercice: Trouver la représentation d’état
viscous dissipation (friction), and T is an
external disturbance torque.

avec
24
Modélisation des systèmes linéaires
• Circuit RLC (Lois de Kirchhoff)

En utilisant la transformée de Laplace :

Alors, la fonction de transfert sera :

où i est le courant électrique, R est la


résistance, L l’inductance, C est la
capacité, E est une source extérieure de
tension
Exercice: Trouver la représentation d’état

25
Modélisation des systèmes linéaires
• Système Electro-Mécanique
Equations électriques :

Equations mécaniques :

Sortie :
where θ is the angular position of the shaft, I is
the electrical current, R is the resistance, L is
the inductance, E is an external voltage
source. Ke is a constant (EMF). J is the inertial
moment, d is the coefficient of the viscous
dissipation, and Kt is a constant (Kt = Ke). Exercice: Trouver la fonction de transfert
et la représentation d’état.
26
Modélisation des systèmes non linéaires

Equations électriques : On cherche un modèle de la forme :

27
Modélisation des systèmes non linéaires

On obtient le modèle :

28
Simulation des systèmes non linéaires

29
Modélisation des systèmes non linéaires
• Robot Lego :

Modèle cinématique (vitesses prises comme entrées) Modèle dynamique (Couples moteurs comme
entrées):

30
Linéarisation des systèmes non linéaires
On considère le système non linéaire suivant :

La linéarisation en x du système ci-dessus aboutit au système linéaire suivant :

Jacobien de f
Où :

Et :

31
Exemple
• Pendule simple

Prendre comme variable d’état :

comme entrée :

Les équations d’état sont alors :


où θ est l’angle du pendule, m la masse
du pendule, l la longueur du pendule, g la
force de gravitation et T est un couple
externe.

32
Exemple
• Pendule simple La linéarisation du système non linéaire au point
d’équilibre θo=0 (c.à.d. uo déduis de 0=f(0,0)), donne:

pour

sera :

avec

En utilisant la transformée de Laplace

où θ est l’angle du pendule, m la masse La fonction de transfert sera :


du pendule, l la longueur du pendule, g la
force de gravitation et u=T comme entrée
de commande

Exercice:
Trouver le modèle linéaire pour θo= π (rad)
33
PART III.
Analyse

34
Représentations temps continu et discret

Représentation d’état (temps continu) Représentation d’état (temps discret)

Fonction de transfert (temps continu) Fonction de transfert (temps discret)

Stable si Stable si

La stabilité du système est déterminée par les Valeurs propres de la matrice A ou de


manière équivalente par les POLES (racines du dénominateur).
Les racines du numérateur sont appelés ZEROS du système, ils influencent la réponse du
système mais pas la stabilité.
35
Passage temps continu - temps discret
méthodes d’approximations

36
méthodes d’approximations
Exemple
• Pendule simple
La représentation d’état pour

sera

En utilisant l’approximation d’Euler :

avec :

où θ est l’angle du pendule, m la masse


du pendule, l la longueur du pendule, g la En utilisant le transformée en Z :
force de gravitation et u=T comme entrée
de commande
la fonction de transfert est :

37
Change of coordinates

38
Change of coordinates

We have then infinity space state representations. The transfer function


G(s) =Y(s)/U(s) is exactly the same but the internal states are changed.
However the the system properties remains unchanged (stability,
controllability, observability…).
39
Solution of state space equations

40
Solution of state space equations

In Matlab use: >>sys=ss(A,B,C,D) Defining the system


>>initial(sys,X0) obtaining free response
>>step(sys) obtaining forced response

41
Summarizing

• Experimental and/or theoretical modeling are more suitable for control.


• System dynamics are described by Ordinary Differential Equations (ODE).
• Most of dynamical systems are actually Non-linear system.
• Linearization around an equilibrium point is often necessary.
• Linear control theory allow us to analyze and control the system around the
equilibrium point.
• Engineers are often confronted to Electro-mechanical systems.

• Analysis and control of dynamical systems will be explored next.

42
PART III.
Commande

43
State feedback control
Take the dynamical system:

If the system is “controllable”, then we may make a state feedback as follows:

yielding:

After factorization, the closed-loop system dynamics will be:

The stability of the closed-loop system is given by the eigenvalues of matrix (A-BK).
For any initial condition x(0), the control guarantees that the system state
converges to zero. 44
State feedback control (Multi-variable)

r u x y
g System C
-

The stability of the controlled system is given by the eigenvalues of matrix (A-BK)
Methods to find a good matrix K: Pole-placement, Optimal LQR, Loop shaping …
The static gain g is computed to guarantee an unitary gain y/r. 45
Closed-loop Transfer Function
The closed loop system will be:

with an equivalent transfer function :


Discrete time

Continuous time

dc gain of the system


In general, g could be computed as : before compensation
(discrete time)
dc gain of the system
before compensation
(continuous time)

to compensate the steady-state gain (i.e. dcgain) of the closed-loop system. 46


State observer
Take the dynamical system:

If the system is “observable”, then we may make an observer as follows:

Remark that inputs of the observer are u and y.

Defining the estimation error as:


The estimation error dynamics is described by the following equation:

The stability of the estimation error is given by the eigenvalues of matrix (A-LC).
For any initial condition e(0), the observer guarantees that the estimated state
converges to the actual state. 47
State feedback control (with Observer)

r u x y
g System C
-
u
x^
K Observer

The stability of the controlled system is given by the eigenvalues of matrix (A-BK)
The observer guarantees that the estimated state converges to the actual state.
Methods to find a good matrix L: Pole-placement, Kalman filter, … 48
Observer-based state feedback control
Take the system model:

If the system is “controllable”, then we may make an observer-based state feedback


as follows:

By definition the estimation error is:


Then, we can write the state feedback as:

The closed loop system dynamics will be described as follows:

The stability of the closed-loop system is given by the eigenvalues of matrix (A-BK).
For any initial condition x(0), the control guarantees that the system state
converges to zero. All that assuming that the observer guarantees e(k)=0 49
To discuss
• The equivalent system: dot [x e]=Abar []+ Bbar
• Analysis about TF of the outputs w.r.t. input (disturbances), recall signals norms
and system norms. H2 and Hinf. The only degree of freedom are the gains K, L
and g. Optimisation problem formulation.

50

Vous aimerez peut-être aussi