Commande à travers Internet en utilisant la synchronisation



Documents pareils
1.Introduction - Modèle en couches - OSI TCP/IP

Introduction. Adresses

Algorithmique des Systèmes Répartis Protocoles de Communications

18 TCP Les protocoles de domaines d applications

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Présentation du modèle OSI(Open Systems Interconnection)

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Introduction aux Technologies de l Internet

Ch2 La modélisation théorique du réseau : OSI Dernière maj : jeudi 12 juillet 2007

Réseaux grande distance

NOTIONS DE RESEAUX INFORMATIQUES

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

Cours CCNA 1. Exercices

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Plan. Programmation Internet Cours 3. Organismes de standardisation

Cisco Certified Network Associate

Chapitre 2 Le problème de l unicité des solutions

L3 informatique Réseaux : Configuration d une interface réseau

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Cours des réseaux Informatiques ( )

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Services Réseaux - Couche Application. TODARO Cédric

Transmission d informations sur le réseau électrique

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

Chapitre : Les Protocoles

Modélisation et Simulation

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

2. DIFFÉRENTS TYPES DE RÉSEAUX

TD n o 8 - Domain Name System (DNS)

3 Approximation de solutions d équations

Rappels sur les suites - Algorithme

Correction de l examen de la première session

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Chapitre 0 Introduction à la cinématique

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Les correcteurs accorderont une importance particulière à la rigueur des raisonnements et aux représentations graphiques demandées.

Cisco Certified Network Associate

Chapitre 1 Régime transitoire dans les systèmes physiques

Chapitre 1: Introduction générale

Algorithmique et langages du Web

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Les Réseaux Informatiques

Présentation Internet

Fonctions de plusieurs variables

Cours n 12. Technologies WAN 2nd partie

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

I. Polynômes de Tchebychev

Rappels réseaux TCP/IP

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

La fonction exponentielle

20/09/11. Réseaux et Protocoles. L3 Informatique UdS. L3 Réseaux et Protocoles. Objectifs du cours. Bibliographie

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Couche application. La couche application est la plus élevée du modèle de référence.

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

Résolution d équations non linéaires

Spécifications de raccordement au service de Téléphonie sur IP (ToIP) de RENATER

Mettre en place un accès sécurisé à travers Internet

Probabilités sur un univers fini

Complément d information concernant la fiche de concordance

ADSL. Étude d une LiveBox. 1. Environnement de la LiveBox TMRIM 2 EME TRIMESTRE LP CHATEAU BLANC CHALETTE/LOING NIVEAU :

Culture informatique. Cours n 9 : Les réseaux informatiques (suite)

Analyse des Systèmes Asservis

Administration des ressources informatiques

Devoir Surveillé de Sécurité des Réseaux

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Chafa Azzedine - Faculté de Physique U.S.T.H.B 1

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Précision d un résultat et calculs d incertitudes

Sécurité et Firewall

Réseaux IUP2 / 2005 IPv6

Dimensionnement d une roue autonome pour une implantation sur un fauteuil roulant

Continuité et dérivabilité d une fonction

F411 - Courbes Paramétrées, Polaires

Automatique Linéaire 1 Travaux Dirigés 1A ISMIN

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives.

Automatique Linéaire 1 1A ISMIN

Programmation linéaire

SCIENCES INDUSTRIELLES (S.I.)

Allocation de l adressage IP à l aide du protocole DHCP.doc

Résolution de systèmes linéaires par des méthodes directes

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

La couche réseau Le protocole X.25

Programmation linéaire

Oscillations libres des systèmes à deux degrés de liberté

Internet et Programmation!

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Qualité du service et VoiP:

Architecture distribuée

Présentation et portée du cours : CCNA Exploration v4.0

Transcription:

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE Ministère de l Enseignement et de la Recherche Scientifique Université d Oran - Es Sénia Faculté des Sciences Département d Informatique Commande à travers Internet en utilisant la synchronisation MEMOIRE présenté et soutenu publiquement le 09/02/2011 pour l obtention du Diplôme de Magister en Informatique (Option : Analyse, Commande et Surveillance des Systèmes Industriels) par KADDOUR Mohammed Composition du jury Président : Rapporteurs : Examinateurs : BELDJILALI Bouziane : Professeur - Université d Oran. KHELFI Mohamed Fayçal : Professeur - Université d Oran. BOUAZZA Kheir-Eddine : Maître conférence B - Université d Oran. HAFFAF Hafid : Professeur - Université d Oran. GHOMARI Abdelghani : Maître conférence A - Université d Oran. Promotion : 2010/2011

- i

Remerciements Les résultats présentés dans ce mémoire sont l aboutissement de travaux de recherche effectués au sein du département d informatique de la faculté des sciences à l université d Oran Es-sénia. Je tiens à exprimer mes sincères gratitudes à mes encadreurs ; Mr KHELFI Mohamed Fayçal et Mr BOUAZZA Kheir-Eddine pour avoir accepter de m encadrer, pour leur aide, leur constante disponibilité et pour tout ce qu ils nous ont appris, tout au long de notre travail. J adresse mes sincères remerciements à monsieur B.BELDJILALI, Professeur - Université d Oran, qui m a fait l honneur de présider le jury. Je tiens aussi à remercier : Monsieur H.HAFFAF, Professeur - Université d Oran. Monsieur A.GHOMARI, Maître de Conférence A - Université d Oran. Pour l intérêt qu ils ont bien voulu porter à ce travail, en acceptant de l examiner. Je tiens à remercier monsieur M.OUALI, Maître de Conférence A - Université d Oran pour son aide et ses conseils. Ma reconnaissance va aussi à tous les enseignants de l institut d informatique de l université d Oran Es-sénia, qui m ont beaucoup appris tout au long de notre cursus universitaire. J ai aussi une pensée pour tout le personnel du département d informatique et l équipe de centre de calcul pour humeur et la gentillesse de chacun de ses membres. Je tiens à remercier toutes les personnes que je n ai pas citées, et qui ont contribué de pré ou de loin à l accomplissement de ce travail. ii

Je tiens à remercier dieu souverain des cieux et de la terre, le tous puissant de m avoir muni de courage et de patience pour la réalisation de ce travail. A mes parents je dédie le fruit de mes études supérieures qui ont su me guider vers la voie de la réussite grâce à leurs précieuses conseils. A mes soeurs, mes frères. A mes oncles, mes tentes et leurs enfants chacun par son nom, et à tous mes collègues et amis. iii

Table des matières Introduction 1 Chapitre 1 Modèlisation et représentation d état des systèmes linéaires 1.1 Introduction................................... 4 1.2 Modèles..................................... 5 1.2.1 la forme différentielle entrée-sortie................... 5 1.2.2 Fonction de transfert.......................... 5 1.3 Représentations d état............................. 6 1.3.1 Équations d état............................ 8 1.3.2 Équations de sortie........................... 10 1.3.3 Représentation d état......................... 11 1.4 Stabilité..................................... 11 1.4.1 Définition et recherche d un état d équilibre............. 11 1.4.2 Critères de stabilité........................... 12 1.5 Commandabilité et observabilté........................ 13 1.5.1 Commandabilité............................ 13 1.5.2 Observabilité.............................. 15 1.5.3 Synthèse d observateur......................... 16 1.5.4 Exemples pour la commandabilité et l observabilité......... 17 1.6 Conclusion.................................... 18 Chapitre 2 Réseaux et Protocoles de communication 2.1 Introduction................................... 20 2.2 Modèle OSI................................... 21 2.3 Modèle TCP/IP................................. 23 iv

2.4 Les protocoles TCP et UDP.......................... 25 2.4.1 Le protocole UDP............................ 25 2.4.2 Le protocole TCP............................ 27 2.5 Le protocole NTP................................ 29 2.6 Conclusion.................................... 31 Chapitre 3 Systèmes commandés en réseau NCS 3.1 Introduction................................... 33 3.1.1 Avantages et applications de la commande en réseau........ 34 3.2 Catégories des NCSs.............................. 35 3.3 Composants d un NCS............................. 39 3.3.1 Acquisition de l information dans le réseau.............. 39 3.3.2 La commande des actionneur..................... 40 3.3.3 La Communication........................... 40 3.4 Problématiques NCS.............................. 41 3.4.1 Quantification et codage........................ 41 3.4.2 Congestion et perte de paquets.................... 42 3.4.3 Présence de retards........................... 42 3.4.4 Allocation de ressources et limite de bande passante......... 45 3.4.5 Sécurité des réseaux.......................... 46 3.5 Conclusion.................................... 47 Chapitre 4 Estimation du retard : Application en stéréovision 4.1 Introduction................................... 49 4.2 Modèle de la caméra et la géométrie épipolaire................ 49 4.2.1 Modèle de la caméra.......................... 49 4.2.2 Géométrie épipolaire.......................... 51 4.2.3 Détermination de la matrice fondamentale.............. 52 4.3 La rectification................................. 53 4.3.1 La rectification d un système calibré................. 55 4.3.2 La rectification d un système non-calibré............... 57 4.4 La mise en correspondance.......................... 58 4.4.1 Les contraintes pour la mise en correspondance........... 59 v

4.4.2 Approche pour la mise en correspondance.............. 62 4.5 Expérimentation................................ 63 4.6 Conclusion.................................... 65 Chapitre 5 Commande et observation d un système non-linéaire en temps discret avec retard 5.1 Introduction................................... 68 5.2 Formulation du problème............................ 69 5.2.1 Stabilité de la dynamique libre.................... 69 5.3 Stabilisation par retour d état bornée..................... 71 5.4 Synthèse de l observateur............................ 74 5.5 Exemple d illustration............................. 77 5.6 Conclusion.................................... 81 Chapitre 6 Mise en oeuvre d une plate forme de commande d un système en réseau 6.1 Introduction................................... 83 6.2 Présentation du système............................ 83 6.2.1 Déroulement du système........................ 85 6.2.2 Conception du gain du contrôleur et de l observateur........ 86 6.2.3 Stabilité globale du système commandé en réseau.......... 89 6.2.4 Utilisation du NTP........................... 90 6.3 Le choix du langage utilisé........................... 91 6.3.1 Les S-Functions............................. 92 6.4 Implémentation du système de contrôle.................... 93 6.4.1 Structure du maître.......................... 93 6.4.2 Structure de l esclave.......................... 94 6.4.3 Lien de communication......................... 94 6.4.4 Structure de paquets.......................... 95 6.4.5 Blocs Simulink utilisés......................... 95 6.5 Description du logiciel............................. 96 6.6 conclusion.................................... 99 Conclusions et perspectives 101 vi

Bibliographie 102 Résumé 106 Abstract 107 vii

Table des figures 1.1 Les entrées et les sorties d un système.................... 6 1.2 Exemple d un système électronique...................... 7 1.3 Point d équilibre stable, instable et asymptotiquement stable........ 13 1.4 Commande par retour d état linéaire..................... 14 2.1 Structure en couches de modèle OSI..................... 21 2.2 Communication entre les couches sous le modèle OSI............ 22 2.3 Pile des protocoles TCP/IP et OSI...................... 24 2.4 format d un datagram UDP.......................... 26 2.5 format d un segment TCP........................... 28 2.6 Architecture du réseau NTP.......................... 30 3.1 Un système commandé en réseau typique.................. 34 3.2 Automatisation d usine............................ 35 3.3 Connections à travers un réseau partagé................... 36 3.4 Transmmission des données dans une structure hiérarchisée........ 37 3.5 Transmmission des données dans une structure directe........... 37 3.6 Les différentes sources du retard dans une boucle de contrôle....... 43 3.7 Echantillonnage périodique et le retard généré................ 44 4.1 Le modèle géométrique d une caméra..................... 50 4.2 Géométrie épipolaire.............................. 52 4.3 Exemple d un processus de rectification.................... 54 4.4 Opération de rectification........................... 55 4.5 Une vue d un plan épipolaire : le point ṕ est contraint d appartenir au segment á q 60 4.6 La géométrie de la projection d un vecteur dans les images......... 60 4.7 La contrainte d ordre.............................. 61 4.8 La contrainte d unicité............................. 62 4.9 La contrainte de continuité figurale...................... 63 4.10 Images originaux................................ 64 4.11 Images après rectification calibrée....................... 65 4.12 Images après rectification non-calibrée.................... 65 4.13 Résultats de la mise en correspondance.................... 66 5.1 V (x k ) en fonction de k............................. 79 5.2 W(e k ) en fonction de k............................. 79 viii

5.3 x 1 (k) et ξ 1 (k) en fonction de k......................... 79 5.4 x 2 (k) et ξ 2 (k)en fonction de k......................... 80 5.5 e 1 (k) en fonction de k.............................. 80 5.6 e 2 (k) en fonction de k.............................. 80 6.1 système Maître-Esclave............................. 83 6.2 Structure du système Maître-Esclave..................... 84 6.3 Traitement de la commande.......................... 86 6.4 Utilisation du NTP............................... 90 6.5 Interface Simunik................................ 92 6.6 Un bloc de Simulink.............................. 93 6.7 Structure du maître............................... 94 6.8 Structure de l esclave.............................. 94 6.9 Composants d un paquet............................ 95 6.10 Structure en blocs Simulink de l esclave.................... 96 6.11 Structure en blocs Simulink du maître.................... 97 6.12 résultat de simulation des variables x 1 et ˆx 1.................. 98 6.13 résultat de simulation des varibles x 2 et ˆx 2.................. 98 6.14 résultat de simulation pour l erreur de l observation e 1 et e 2........ 98 6.15 résultat de simulation de la sortie y et ŷ.................... 99 6.16 la commande u(t) et u k............................. 99 ix

Introduction Depuis quelques années, le contrôle/commande à distance via des réseaux de communication (privés ou publiques) reçoit un intérêt important. Cet intérêt pour de telles applications distribuées est en effet motivé par l essor des réseaux de communication (filaires, sans fil ou autres), des interfaces de raccordement des actionneurs, capteurs et unités de commande avec ces réseaux de communication et les nombreux champs d applications potentiels tels que ceux rencontrées dans les domaines de transport (aéronautique, automobile, ferroviaire et maritime), de la domotique, de la productique, ou autres. Toutefois, l insertion de réseaux de communication dans les chaînes d action et de mesure dans les systèmes commandés en réseau NCS (Networked control system) rend leur analyse (en terme de stabilité, robustesse et qualité de service,...) et leur conception relativement complexe en induisant des problèmes spécifiques. Ces problèmes sont liés à la présence de retards, à la perte d information, ou à la gestion du flux de données. Ces contraintes prennent une importance considérable lors de la commande de procèdes rapides pour lesquels les caractéristiques du réseau ne peuvent plus être négligées. Nous retrouvons notamment ce genre de systèmes dans tout système complexe géré au travers d un réseau dédié. Le canal de communication entre le système et le contrôleur est souvent modélisé comme une ligne de transmission, c est à dire un élément physique induisant un retard constant, dépendant des propriétés structurelles de la ligne. Cette description devient plus complexe lorsque le système est commandé au travers d un réseau utilisé par de multiples utilisateurs (Internet par exemple). Dans ce cas, le retard induit ne dépend plus seulement d éléments physiques mais aussi et surtout des algorithmes mis en place pour la gestion du trafic sur le réseau et le codage de l information. Le canal de communication utilisé pour la commande du système considéré subi l influence de tous les autres flux de données présents sur le réseau, et par conséquence, un retard variable et inconnu sera induit. Le but est la mise en oeuvre d une plate forme de commande d un système en réseau. Il s agit d une implémentation informatique d un système de type Maître-Esclave communiquant à distance par le moyen d un réseau de type Internet. Notre mémoire sera structurée comme suit : Le premier chapitre va être un rappel sur la modélisation des systèmes linéaires où on va présenter quelques notions de base telles que la représentation d état, la commandabilité et l observabilité en plus des exemples. 1

Le deuxième chapitre sera consacré aux réseaux et protocoles de communication où on présentera deux modéles de référence : le modèle de référence OSI (Open System Interconnection) de l OSI (International Organization for Standardization) et le modèle TCP/IP. On va décrire la couche transport avec leur principaux protocoles TCP et UDP. En fin, on va présenter un protocle de synchronisation sur Inetrnet. Dans le troisième chapitre on va étudier les systèmes commandées en réseau ou NCS. On donnera leurs catégories, leurs composants et quelques problématiques liées à ce type de systèmes. Dans le quatrième chapitre, on va présenter une application en stéréovision pour l estimation du retard. Ce chapitré va étudier la rectification et la mise en correspondance où on va présenter le modèle des caméras, la géométrie épipolaire afin d étudier les deux types de rectification : calibrée et non-calibrée. En suite, on va présenter brièvement une méthode de matching. En fin, des résultats des expérimentations seront présentés. Le cinquième chapitre aura pour objectif, la stabilisation et l observation d une classe de systèmes non-linéaires en temps discret avec retard où on va introduire une commande bornée qui permet de stabiliser cette classe de systèmes. Cette même commande sera être utilisée dans la génération d un observateur à convergence asymptotique. Des conditions, sous forme de LMI, simple à vérifier, qui permettent de conclure à la stabilité au sens de Lyapunov de la dynamique libre vont être également présentées. Le dernier chapitre sera consacré à la mise en oeuvre d une plate forme d un système commandé en réseau (télé-opération) avec quelques résultats. Il s agit d une implémentation informatique d un système de type Maître-Esclave communiquant à distance par le moyen d un réseau de type Internet. Cette plate forme consiste en une simulation sous Matlab/Simulink d un comportement de processus esclave dont on connaît son modèle. Ce processus va être commandé à distance à travers un réseau par le maître. 2

1 Modèlisation et représentation d état des systèmes linéaires Sommaire 1.1 Introduction............................. 4 1.2 Modèles................................ 5 1.2.1 la forme différentielle entrée-sortie................ 5 1.2.2 Fonction de transfert........................ 5 1.3 Représentations d état....................... 6 1.3.1 Équations d état.......................... 8 1.3.2 Équations de sortie......................... 10 1.3.3 Représentation d état....................... 11 1.4 Stabilité................................ 11 1.4.1 Définition et recherche d un état d équilibre........... 11 1.4.2 Critères de stabilité........................ 12 1.5 Commandabilité et observabilté.................. 13 1.5.1 Commandabilité.......................... 13 1.5.2 Observabilité............................ 15 1.5.3 Synthèse d observateur....................... 16 1.5.4 Exemples pour la commandabilité et l observabilité....... 17 1.6 Conclusion.............................. 18 3

1.1. Introduction 1.1 Introduction L automatique désigne tout ensemble de commandes visant à asservir un système. Elle est au coeur des grandes évolutions technologiques. Un des exemples les plus fameux est certainement le pilotage automatique des véhicules : avions, trains, voitures etc. Le système (le véhicule par exemple) reçoit des informations (vitesse, angle de braquage...) et réagit en fonction de l environnement extérieur (dérive, accélération, ect). Pour imposer au véhicule un comportement, il faut le commander, c est à dire asservir son comportement sur une ou plusieurs consignes. Si l on prend l exemple d un véhicule, le système d asservissement agit sur le système à la manière d un conducteur qui, selon la pente, la dérive, le vent et les obligations du code de la route, va contrôler via le volant, les pédales, le comportement de son véhicule. Lorsqu il n y a pas de pilotage automatique, c est le conducteur qui réalise la correction. Dans le cas d un pilotage automatique, il faut synthétiser un correcteur susceptible de réagir correctement dans le plus grand nombre de circonstances possibles et capables d atteindre la consigne au plus juste. On parle de commande robuste et précise. La question posée maintenant est comment on peut réaliser cet asservissement? Le système de pilotage va réaliser l asservissement comme un pilote humain. Dans un premier temps, le système de pilotage va mesurer le comportement du système (compteur de vitesse par exemple) via des capteurs. Dans un deuxième temps, cette information va être comparée à la consigne (limitation de vitesse) et dans un troisième temps le correcteur (comme le conducteur) va corriger son action sur le véhicule (plus d accélération, moins d accélération, freinage...) afin d amener son véhicule à la vitesse correspondant à la consigne. Avant de poursuivre arrêtons-nous sur les deux termes importants que nous avons utilisés de façon intuitive : Système : un système est un ensemble de pièces, d objets ou d entités qui réalise une opération spécifique. Il y a donc une notion d action sur l environnement en fonction d excitations extérieures. Un système est ainsi défini par ses entrées et ses sorties qui le relient à l environnement extérieur. Comportement dynamique : c est le comportement des variables de sortie du système au cours du temps relativement à l évolution des variables d entrées. Ce comportement est à distinguer du comportement statique où les variables de sorties reproduisent, à un gain près, le comportement des variables d entrée. Le comportement dynamique met en évidence le fonctionnement temporel du système ainsi que la transformation d information impliquée par son action. 4

1.2. Modèles 1.2 Modèles Quant on veut commander un système, la première étape consiste à le modéliser. Modéliser un système cela peut consister à, d une part, élaborer un objet mathématique qui permette de décrire et prédire le comportement dynamique du système lorsque ce dernier est soumis à des influences externes. Ou bien, d autre part, cela peut consister à élaborer un objet mathématique qui permette d appliquer des méthodes pour améliorer son comportement dynamique. Dans le cadre des modèles linéaires nous allons rencontrer essentiellement 3 types de modèles : la forme différentielle entrée-sortie, la fonction de transfert et la représentations d état. 1.2.1 la forme différentielle entrée-sortie Lorsque l on écrit les équations de fonctionnement du système on obtient un ensemble de relations algébriques et différentielles qui relient les variables d entrées, regroupées dans le vecteur u(t) de dimension m, les variables de sorties, regroupées dans le vecteur y(t) de dimension p, et des variables internes. Après élimination des variables internes, ce qui peut se faire par l utilisation de la méthode des graphes de fluence, on obtient des relations algébriques et différentielles qui lient les sorties aux entrées. L on obtient alors une unique équation différentielle ne faisant apparaître que l entrée u, la sortie y et, éventuellement, leurs dérivées successives. Une telle équation a l allure suivante : a n d n y(t) dt n +a n 1 d n 1 y(t) dt n 1 d m u(t) + +a 1 ẏ(t)+a 0 y(t) = b m dt m +b m 1 d m 1 u(t) dt m 1 + +b 1 u(t)+b 0 u(t) (1.1) Il s agit là d un modèle de comportement entrée/sortie, c est-à-dire qui traduit l évolution de la sortie en fonction de celle de l entrée et ce, en éludant la dynamique interne du système. Physiquement, il est inconcevable que m soit strictement supérieur à n. L on peut toujours imaginer un modèle mathématique correspondant à ce cas mais en pratique, cela signifierait que la sortie du système à un instant donné dépend de la valeur de l entrée à un instant ultérieur. C est pourquoi, l on suppose que m n. Un tel système est dit causal. 1.2.2 Fonction de transfert La fonction de transfert est un modèle de comportement entrée/sortie qui s obtient à partir de l équation différentielle linéaire à coefficients constants. Plutôt que de chercher à obtenir y(t) en fonction de u(t), l on cherche à obtenir Y (p) = (y(t)) en fonction de U(p) = (u(t)). Comme il s agit de déterminer un modèle qui soit indépendant des conditions initiales, ces dernières sont considérées nulles et l on applique tout simplement la transformée de Laplace à l équation différentielle (1.1), ce qui conduit à l expression suivante : Y (p) N(p) = G(p) = U(p) D(p) = b mp m + bm 1p m 1 + + b 1 p + b 0 a n p n + an 1p n 1 (1.2) + + a 1 p + a 0 5

1.3. Représentations d état G(p) est une fraction rationnelle dépendant de la variable de Laplace, de numérateur N(p) et de dénominateur D(p). Elle est appelée fonction de transfert et se révèle très utile pour l étude des systèmes linéaires monovariables. G(p) est dite d ordre n et selon la règle de causalité, l on aura généralement m n. L on note que les racines de N(p) sont appelées zéros du système et celles de D(p) sont appelées pôles du système. Bien que les zéros aient une influence difficile à estimer sur le comportement du système, il convient surtout de se souvenir que les pôles ont une influence encore plus grande en termes de stabilité et de régime transitoire de la réponse du système. Cette influence des pôles est beaucoup plus facile à prévoir. 1.3 Représentations d état Devant la complexité croissante des systèmes, la fonction de transfert peut parfois sembler ne pas être le modèle le plus approprié pour décrire les comportements considérés. La notion d état d un système dynamique représente un ensemble minimal de variables, connus sous les variables d état, qui décrivent d une maniére complète le système et sa réponse à chaque ensemble d entrées donné. En particulier, le modèle des systèmes linéaires stationnaires (en anglais : Linear Time Invariant, LTI) a la caractéristique suivante : Une description mathématique du système en termes d ensemble minimum de variables x i (t)i = 1,...,n, ainsi que la connaissance de ces variables à un instant initial t 0 et le système d entrée pour l instant t > t 0, est suffisante pour prédire l état futur du système et les sorties pour tout t t 0. Cette définition montre que le comportement dynamique d un système linéaire stationnaire est complètement caractérisé par la réponse de l ensemble de n variables x i (t), où le nombre n est définie comme l ordre du système. Fig. 1.1 Les entrées et les sorties d un système Le système donné dans la figure 1.1 a deux entrées u 1 (t) et u 2 (t) et quatre variables de sortie y 1 (t),...,y 4 (t). Le système est linéaire stationnaire si la connaissance de ses variables d état (x 1 (t 0 ),x 2 (t 0 ),...,x n (t 0 )) à un certain temps initial t 0, et les entrées u 1 (t) et u 2 (t) pour t t 0, est suffisante pour déterminer tout le futur comportement du système. 6

1.3. Représentations d état Les variables d état représentent une description interne du système qui caractérisent complètement l état de système à tout moment t, et à partir de ces variables, les variables de sortie y i (t) peuvent être calculées. Les variables d état constituent les supports des souvenirs du système. Plus généralement, les variables d état dans les systèmes physiques sont les éléments aptes à emmagasiner de l énergie sous forme cinétique ou potentielle : inductances, capacités, masses, ressorts.... Ce sont les éléments ayant une capacité de mémoire. Il n y a pas un ensemble unique de variables d état qui décrit un système donné ; plusieurs ensembles de variables peuvent être choisis pour fournir une description complète de système. Cependant, pour un système donné l ordre n du système est unique, et est indépendant de l ensemble particulier de variables d état choisies. Des descriptions de variable d état des systèmes peuvent être formulées en termes de variables physiques et mesurables, ou en termes de variables qui ne sont pas directement mesurables. Il est possible de transformer mathématiquement un ensemble de variables d état à l autre ; l aspect important est que chaque ensemble de variables d état doit fournir une description complète du système. L état d un modèle est l ensemble des informations indépendantes nécessaire à connaître à l instant initial pour pouvoir prédire le comportement du modèle en réponse à une entrée donnée. L idée de base des représentations d état est que le futur d un système dépend de son passé, de son présent et de ses entrées : le futur peut alors être décrit à partir d un ensemble de variables bien choisies. Construire une représentation d état d un modèle consiste donc à proposer un modèle ne faisant intervenir que des équations différentielles d ordre 1. Dans le cas d un système linéaire à coefficients constants, ce sera une équation de la forme : ẋ(t) = Ax(t) + Bu(t) y(t) = Cx(t) + du(t) Fig. 1.2 Exemple d un système électronique 7

1.3. Représentations d état Dans le cas des représentations d état, l analyse a lieu dans le domaine temporel contrairement à l analyse classique des systèmes où on utilise la représentation de Laplace. Pour bien comprendre, considérons l exemple de la figure 1.2 décrit par les équations différentielles suivantes : e(t) = (R 1 + R 2 )i(t) + L di d(t) + v(t) i(t) = C dv d(t) s(t) = R 2 i(t) + v(t) (1.3) Dans le cas de l exemple dans la figure 1.2, l information nécessaire et suffisante pour résoudre le système d équations precedente (1.3) est liée aux conditions initiales : i(t 0 ) et v(t 0 ). Par conséquent, un ensemble possible de variables d état est : [i(t),v(t)] (où e(t) est l entrée et s(t) la sortie). 1.3.1 Équations d état Une forme standard pour les équations d état est utilisée dans toute la dynamique de système. Dans la forme standard, la description mathématique du système est exprimée comme un ensemble de n équations différentielles ordinaires couplés en premier ordre, connues sous le nom d équations d état, dont la dérivé temporelle de chaque variable d état est exprimée en fonction de n variables d état x 1 (t),.., x n (t) et l entrée du système u 1 (t),.., u m (t). Dans le cas général la forme des n équations d état est : x 1 = f 1 (x,u,t) x 2 = f 2 (x,u,t).. x n = f n (x,u,t) (1.4) Où ẋ i = dx/d(t) et chaque fonction f i (x,u,t),(i = 1,...,n) est peut être une fonction générale non linéaire en temps varié des variables d état, des entrées du système et du temps. Généralement, on exprime les équations d état sous forme vectoriel, où l ensemble de n variables d état est noté comme le vecteur d état x(t) = [x 1 (t),x 2 (t),...,x n (t)] T, et l ensemble de m variable d entrées est noté comme le vecteur d entrée u(t) = [u 1 (t),u 2 (t),...,u m (t)] T. Chaque variable d état est une composante variable dans le temps du vecteur de colonne x(t). Cette forme des équations d état représente explicitement les éléments de base contenus dans la définition d un système linéaire stationnaire. Pour un ensemble de conditions initiales (les valeurs du x i à un moment donné t 0 ) et des entrées pour t t 0 données, les équations d état spécifient explicitement les dérivés de toutes les variables d état. La valeur de chaque variable d état à un moment donné t plus tard peut être trouvée par l intégration directe. L état de système à un instant donné peut être interprété comme un point dans un espace d état de dimension n, et la réponse dynamique d état x(t) peut être interprété 8

1.3. Représentations d état comme une trajectoire dans l espace d état. On peut écrire l ensemble de n équations de l équation (1.4) Par : ẋ = f (x,u,t) (1.5) Où f (x,u,t) est une fonction de vecteur avec n composants de f i (x,u,t). Pour un système LTI d ordre n, et m entrées, l équation (1.5) devient un ensemble de n équations différentielles linéaires d ordre 1 couplées avec des coefficients constants : x 1 = a 11 x 1 + a 12 x 2 + + a 1n x n + b 11 u 1 + + b 1m u m x 2 = a 21 x 1 + a 22 x 2 + + a 2n x n + b 21 u 1 + + b 2m u m... x n = a n1 x 1 + a n2 x 2 + + a nn x n + b n1 u 1 + + b nm u m (1.6) Où les coefficients a i j et b i j sont des constantes qui décrivent le système. Cet ensemble de n équations définit les dérivés des variables d état. L équation (1.6) peut être écrite sous forme matricielle comme : d dt x 1 x 2. x n = a 11 a 12... a 1n a 21 a 22... a 2n.. a n1 a n2... a nn Cette équation (1.7) peut être réécrite comme : x 1 x 2. x n + b 11... b 1m b 21... b 2m.. b n1... b nm u 1 u 2. u m (1.7) ẋ = Ax + Bu (1.8) Où le vecteur d état x est un vecteur colonne de taille n 1, le vecteur d entrée u est un vecteur colonne de taille m 1, la matrice d état A est une matrice carrée n n des coefficients constants a i j, et la matrice de contôle B est une matrice n m des coefficients constants b i j. Reprenons notre exemple de la figure 1.2 et le système d équations 1.3, l équation d état peut être écrite sous la forme suivante : [ ] [ ] d (R1 [ +R x1 2 ) 1 1L ] = L L x + e (1.9) dt x 2 0 Avec x=[i(t) v(t)] T. 1 c 0 9

1.3.2 Équations de sortie 1.3. Représentations d état Une sortie du système est définie pour être la variable d intérêt pour n importe quel système. Une description d un système physique en termes d ensemble de variables d état n inclut pas nécessairement toutes les variables d intérêt. Une propriété importante de la description linéaire d équation d état est que toutes les variables de système peuvent être représentées par une combinaison linéaire des variables d état x i et les des variables d entrées du système u i. Une variable de sortie arbitraire dans un système d ordre n avec m entrées peut être donnée par : y(t) = c 1 x 1 + c 2 x 2 + + c n x n + d 1 u 1 + + d m u m Où les c i et d i sont constants. Si un total de p variables sont définies comme des variables de sortie, les p équations peuvent être écrites comme : y 1 = c 11 x 1 + c 12 x 2 + + c 1n x n + d 11 u 1 + + d 1m u m y 2 = c 21 x 1 + c 22 x 2 + + c 2n x n + d 21 u 1 + d 2m u m... y p = c p1 x 1 + c p2 x 2 + + c pn x n + d p1 u 1 + + d pm u m (1.10) Ou sous une forme matricielle : y 1 y 2. y p = c 11 c 12... c 1n c 21 c 22... c 2n.. c p1 c p2... c pn x 1 x 2. x n + d 11... d 1m d 21... d 2m.. d p1... d pm Les équations de sortie (1.11) sont généralement écrites sous la forme : u 1 u 2. u m (1.11) y = Cx + Du (1.12) Où y est un vecteur colonne des variables de sortie y i (t) de taille p 1, C (matrice de mesure) est une matrice p n des coefficients constants c i j, D est une matrice p m des coefficients constants d i j. Pour beaucoup de systèmes physiques la matrice D est une matrice nulle, et l équation de sortie réduit à une combinaison simple des variables d état : y = Cx L équation de sortie pour notre exemple de la figure 1.2 et le système d équations 1.3, peut s écrire comme : S(t) = [ R 2 1 ] x (1.13) 10

1.3.3 Représentation d état 1.4. Stabilité Le modèle de système complet pour un système linéaire se compose de : Un ensemble de n équations d état, défini en termes de matrices A et B ; Un ensemble d équations de sortie qui relient toutes les variables de sortie aux variables d état et d entrées, et exprimé en termes de matrices C et D. Modéliser un système est une tâche qui permet d écrire le modèle du système sous forme : ẋ = Ax + Bu y = Cx + Du (1.14) La représentation d état pour l exemple présenté dans la figure 1.2 et le système d équations 1.3 est : [ ] (R1 [ +R 2 ) 1L ] dx dt = x + e 0 (1.15) S(t) = [ R 2 1 L L 1 c 0 1 ] x Les matrices A et B sont des propriétés du système et sont déterminées par la structure et les éléments de système. Les matrices d équation de sortie C et D sont déterminées par le choix particulier des variables de sortie. 1.4 Stabilité La notion de stabilité est bien entendu fondamentale dans l étude des systèmes et, à quelques rares exceptions près, les systèmes ne vérifiant pas cette qualité sont inutilisables voire dangereux. Il existe de nombreuses notions de stabilité pour les systèmes dynamiques. Pour envisager rigoureusement d étudier la stabilité d un système, il faut donc d abord définir la notion d état d équilibre et celle de stabilité d un état d équilibre. 1.4.1 Définition et recherche d un état d équilibre Un système se trouve dans un état d équilibre (par état, l on entend un point de l espace d état c est-à-dire une instance du vecteur d état) si cet état n est pas modifié lorsque le système est abandonné à lui-même. Donc un point d équilibre est un point x e tel que : x(t 0 ) = x e x(t) = x e,t t 0 (1.16) Un tel état d équilibre se détermine en posant à la fois u = 0, et ẋ = 0. La recherche des états d équilibre possibles d un système modélisé par la représentation 1.14 revient donc à résoudre : Ax = 0 (1.17) 11

1.4. Stabilité De cette équation, l on comprend qu il peut exister un seul ou plusieurs états d équilibre selon le rang de A. Si le rang(a) = n det(a) 0, (ceci signifie que A n a pas de valeur propre nulle ou A est inversible) et le seul point d équilibre est l origine x e = 0. Par contre, si le rang(a) < n det(a) = 0, (ceci implique l existence d au moins une valeur propre nulle de A ou A n est pas inversible) alors il existe une infinité d états d équilibre. Un système donné peut être dans une des situations de stabilité suivantes (voir la figure 1.3) : 1. Un état d équilibre est dit asymptotiquement stable si, lorsque le système est écarté de cet état sous l effet d une perturbation, il y revient (en un temps infini). C est-àdire : δ > 0 : x(0) x e < δ lim x(t) = x e (1.18) t 2. L état d équilibre est dit instable, si après perturbation, le système s en éloigne davantage. 3. L état d équilibre est dit simplement stable si après perturbation, le système reste dans un voisinage du point d équilibre. C est-à-dire : ε > 0, δ > 0 : x(0) x e < δ x(t) x e < ε (1.19) 1.4.2 Critères de stabilité Analyser la stabilité d un système revient donc à rechercher ses états d équilibre et à déterminer leur stabilité. Pour ce faire, il faut disposer de critères de stabilité. Pour les systèmes rationnels, il suffit de regarder les pôles (racines du dénominateur) de la fonction de transfert dans le plan complexe : Si les pôles sont tous à partie réelle négative le système est dit asymptotiquement stable. En effet la réponse impulsionnelle sera une somme de termes de type : kt n exp λt avec λ partie réelle négative. Tous ces termes tendent vers 0 quand t tend vers l infini. Pour un systèmes autonome présenté par la représentation d état, les propriétés de stabilité s expriment comme suit : Si toutes les valeurs propres de la matrice A ( λi A = 0) ont une partie réelle strictement négative (c est-à-dire Re(λ i (A)) < 0), l équilibre est stable. Si la matrice A possède au moins une valeur propre à partie réelle strictement positive ( c est-à-dire λ i : Re(λ i (A)) > 0), l équilibre est instable. Le théorème ne permet pas de dire si l équilibre est stable ou instable quand la matrice A comporte au moins une valeur propre nulle et aucune valeur propre à partie réelle strictement positive. 12

1.5. Commandabilité et observabilté Fig. 1.3 Point d équilibre stable, instable et asymptotiquement stable 1.5 Commandabilité et observabilté Ce paragraphe introduit des concepts nécessaires pour établir des lois de commande. Ces concepts sont ceux de commandabilité et d observabilité. Il furent introduits par Kalman. 1.5.1 Commandabilité Le modèle est commandable ou gouvernable si pour toute instance x 1 du vecteur d état, il existe un signal d entrée u(t) d énergie finie qui permet au système de passer de l état x 0 à l état x 1 en un temps fini. Autrement dit, est-ce que, pour tout couple x 0 = x(t 0 ) et x 1 = x(t 1 ), il existe un vecteur de commande u(t) défini sur l intervalle [t 0,t 1 ] qui permet de passer de x 0 à x 1? Critére de Kalman pour la commandabilité : Le système dy d x = Ax+Bu est commandable si, et seulement si, la matrice de commandabilité C = (B,AB,...,A n 1 B) est de rang n = dim(x). Pour abréger, on dit souvent que 13

1.5. Commandabilité et observabilté la paire (A,B) est commandable, pour dire que le rang de la matrice de commandabilité C est maximum. La dimension du sous-espace commandable de l espace d état est égal au rang de la matrice C. Autrement dit, cette dimension est égale à la dimension de la plus grande sousmatrice carrée extraite de C dont le déterminant est non nul. En particulier, le système est dit complètement commandable si et seulement si : rang C = n. La matrice C est alors dite de rang plein la commande par retour d état linéaire Le principe est de déterminer une commande telle que les pôles du système de la fonction de transfert du système bouclé soient convenablement placés dans le plan complexe et satisfassent des spécifications d amortissement, de rapidité.... Les pôles de la fonction de transfert étant les valeurs propres de la matrice d état, le but est donc de réaliser un asservissement modifiant convenablement la matrice d état du système. Soit un système LTI décrit par l équation d état suivant : { ẋ(t) = Ax(t) + Be(t) (1.20) y(t) = Cx(t) Où e(t) représente la consigne. Dans ce paragraphe, on se restreint à la commande linéaire construite par rétro-action linéaire de l état du système sur l entrée : Les équations du système en boucle fermé sont : ẋ(t) = Ax(t) + Bu(t) u(t) = e(t) Lx(t) y(t) = Cx(t) Le schéma de l asservissement est donné par la figure 1.4. u(t) = e(t) Lx(t) (1.21) (1.22) Fig. 1.4 Commande par retour d état linéaire L équation d état du système en boucle fermé est donnée par : ẋ(t) = Ax(t) + B[e(t) Lx(t)] = [A BL]x(t) + Be(t) (1.23) 14

1.5. Commandabilité et observabilté Par conséquent, la matrice d état du système en boucle fermé vaut : (A BL). La dynamique du système bouclé est donc fixée par les valeurs propres de la matrice (A BL) ; ces valeurs propres sont les racines de l équation caractéristique : det(pi (A BL)) 1.5.2 Observabilité L observabilité d un processus est un concept fondamental et très important dans la théorie des systèmes dynamiques. En effet, pour reconstruire l état et la sortie d un système, il faut savoir, a priori, si les variables d état sont observables ou non. En général, pour des raisons de réalisabilité technique, de coût, etc. la dimension du vecteur de sortie est inférieure à celle de l état. Ceci entraîne qu à l instant donné t, l état x(t) ne peut pas être déduit algébriquement de la sortie y(t) à cet instant. Par contre, sous des conditions d observabilité qui seront explicitées plus loin, cet état peut être déduit de la connaissance des entrées et sorties sur un intervalle de temps passé : u([0,t]), y([0,t]) [1]. Le problème de l observabilité est posé quant on se trouve dans une situation où les variables d état ne sont pas accessible à la mesure. Dans ce cas, on ne peut pas appliquer directement la commande u = lx. Même, si on connaît y, le problème ne pourra pas être résolu car la matrice C n est pas inversible (la connaissance de y = Cx et C n est pas inversible donc on ne peut pas déterminer x). On peut, donc définir l observabilité comme étant la capacité pour un système (dont on connaît la représentation d état) de déterminer un état initial inconnu à partir d une observation de sa sortie ([21]). Le but maintenant est de chercher une condition nécessaire et suffisante de l observabilité d un système. Critére de Kalman pour l observabilité : Le système dy d x = Ax + Bu est observable si, et seulement si, la matrice d observabilité O : C O = CA... (1.24) CA n 1 est de rang n = dim(x). On dit souvent que la paire (A,C) est observable, pour dire que le rang de la matrice d observabilité O est maximum. 15

1.5.3 Synthèse d observateur 1.5. Commandabilité et observabilté On appelle observateur du système un opérateur qui génère une approximation ẑ de la variable z = T x sous la forme : Où u est la commande et y la sortie. ẑ = Fẑ + ky + Ju (1.25) - Si z et x ont même dimension, l observateur est dit complet (tout l état est estimé). On choisit T = I(z = x) et ẑ = ˆx. - Si dim(z) < dim(x) (par exemple : dim(z) = dim(x) dim(y)), alors l observateur est dit d ordre réduit. Un observateur doit : 1. Etre stable. 2. Assurer la convergence de ẑ vers z (estimation sans biais). On note e(t) = z(t) ẑ(t) l erreur de reconstruction (ou d observation). Observateur identité L observateur identité est un observateur sans biais ẑ(t) z si t où z = x. Les équations du couple (système, observateur) sont : L erreur de l estimation e est égale : ˆx = F ˆx + Ky + Ju ẋ = Ax + Bu y = Cx (1.26) e = z ẑ ė = ż ẑ = ẋ ˆx (1.27) ė = (Ax + Bu) (F ˆx + Ky + Ju) (1.28) ė = (Ax + Bu) (F ˆx + KCx + Ju) (1.29) Avec e = x ˆx ˆx = x e Ceci signifie que : ė = (A KC F)x + (B J)u + Fe ė = (A KC)x + (B J)u + F ˆx (1.30) On veut une estimation sans biais, c est-à-dire ė = 0 x, u. Ce qui donne : 16

1.5. Commandabilité et observabilté A KC F = 0 B J = 0 F stable f = A KC B = J (A KC) stable (1.31) Et par conséquent : ˆx = (A KC) ˆx + Ky + Bu (1.32) ˆx = A ˆx + Bu + K(y C ˆx) (1.33) On pose ŷ = C ˆx ; on obtient : ˆx = A ˆx + Bu + K(y ŷ) (1.34) K est le gain de l observateur. Donc le problème de la synthèse d un observateur consiste à déterminer un gain K tel que la matrice (A KC) soit stable. La solution examinée ici est d imposer des valeurs propres stables pré-choisies à la matrice (A KC). Le problème devient donc un problème de placement de pôles. En effet, les matrices (A KC) et (A KC) T ont les mêmes valeurs propres. Il s agit donc d imposer des valeurs propres à la matrice (A CK) T. 1.5.4 Exemples pour la commandabilité et l observabilité Exemple1 Soit le système : ẋ = 0 1 0 0 0 1 α 0 α 1 α 2 y = [ 1 0 0 ] x x + 0 0 1 u (1.35) La matrice de commandabilité est : C = [ B AB A 2 B ] = 0 0 1 0 1 α 2 1 α 2 α2 2 α 2 (1.36) Le déterminant C = 1 0 donc la matrice est de rang maximal 3 et le système est commandable. 17

La matrice d observabilité est : O = C CA CA 2 = 1 0 0 0 1 0 0 0 1 1.6. Conclusion (1.37) Det(C) = 1 0 donc la matrice d observabilité est de rang 3 (rang maximal) et le système est observable. Exemple2 Soit le système : [ ] [ 2 0 1 ẋ = x + 1 1 1 y = [ 1 1 ] x La matrice de commandabilité est : [ ] 1 2 C = 1 2 ] u (1.38) (1.39) Le déterminant C = 0 donc la matrice n est pas de rang maximal et le système n est pas complètement commandable. La matrice d observabilité est : O = [ 1 1 1 1 ] (1.40) Le déterminant O = 0 donc la matrice n est pas de rang maximal et le système n est pas complètement observable. 1.6 Conclusion Dans ce chapitre, on a fait un rappel sur la modélisation des systèmes linéaires stationnaires où on a introduit quelques notions de base telles que la représentation d état, la stabilité, la commandabilité et l observabilité toutes en mettant quelques exemples. Dans le prochain chapitre, on va traiter les réseaux et les protocoles de communication (essentiellement TCP et UDP) et la synchronisation sur Internet (le protocole NTP). 18

2 Réseaux et Protocoles de communication Sommaire 2.1 Introduction............................. 20 2.2 Modèle OSI.............................. 21 2.3 Modèle TCP/IP........................... 23 2.4 Les protocoles TCP et UDP.................... 25 2.4.1 Le protocole UDP......................... 25 2.4.2 Le protocole TCP......................... 27 2.5 Le protocole NTP.......................... 29 2.6 Conclusion.............................. 31 19

2.1. Introduction 2.1 Introduction Durant des siècles l homme su se contenter de la parole ou des écrits comme seuls moyens de communication entre deux personnes éloignées d une distance importante. Effectivement soit on envoyé un messager restituant le message qu on lui avait appris, soit il remettait le message écrit qu on lui avait remis. Dans le dix-neuvième siècle, Graham Bell ne devait pas savoir qu il révolutionnerait à ce point la vie de tout un chacun en inventant le téléphone. Le transport de la voix pouvait se faire grâce à une paire de fils reliant deux appareils. Rapidement, l utilisation de son invention dans une petite ville où il résidait, lui fit comprendre l importance d une centralisation des communications dans un central téléphonique et l on vit alors apparaître le premier réseau téléphonique. Durant les dernières années, la communication entre les hommes a connu une progression sans précédent avec les avancées technologiques des calculateurs. Si au départ un réseau se résumait à un ensemble de terminaux connectés à un unique calculateur central, il désigne maintenant un ensemble d ordinateurs autonomes capables d échanger entre eux des informations. Un réseau informatique se définit comme l ensemble des moyens matériels et logiciels mis en oeuvre pour assurer la communication entre plusieurs terminaux. Communiquer consiste à transmettre des informations mais tant que les interlocuteurs ne lui ont pas attribué un sens, il ne s agit que de données et pas d information. Les interlocuteurs doivent donc non seulement parler un langage commun mais aussi maîtriser des règles minimales d émission et de réception des données. C est le rôle d un protocole de s assurer de tout cela. Donc la communication entre plusieurs ordinateurs nécessite au préalable la mise en place d un langage commun, c est-à-dire un protocole de communication. Un protocole est une méthode standard qui permet la communication entre des processus (s exécutant éventuellement sur différentes machines), c est-à-dire un ensemble de règles et de procédures à respecter pour émettre et recevoir des données sur un réseau. Il en existe plusieurs selon ce que l on attend de la communication. Certains protocoles seront par exemple spécialisés dans l échange de fichiers (le FTP), d autres pourront servir à gérer simplement l état de la transmission et des erreurs (c est le cas du protocole ICMP), etc. Il n existe pas un protocole unique mais un ensemble de protocoles standards permettant de répondre aux différents besoins d échange d informations. Par exemple, pour la communication sur Internet, un ensemble de protocoles est nécessaire, identifié sous le nom de protocole TCP/IP pour Transmission Control Protocol/Internet Protocol. TCP/IP permet la transmission entre des machines repérées par leurs adresses IP. Il comporte notamment des protocoles dédiés à des rôles spécifiques (HTTP, FTP, SMTP, etc). 20

2.2. Modèle OSI 2.2 Modèle OSI Pour résoudre le problème de l incompatibilité des réseaux, l OSI (International Organization for Standardization) examina les modèles réseau afin de trouver un ensemble de règles applicable de façon générale à tous les réseaux. Sur la base de ces recherches, l ISO a mis au point un modèle de réseau pour aider les fournisseurs à créer des réseaux compatibles avec d autres réseaux. Le modèle de référence OSI (Open System Interconnection) publié en 1984 fut le modèle descriptif de réseau créé par l ISO. Ce modèle propose aux fournisseurs un ensemble de normes assurant une compatibilité et une interopérabilité accrues entre divers types de technologies réseau produites par de nombreuses entreprises à travers le monde. Fig. 2.1 Structure en couches de modèle OSI Le modèle de référence OSI constitue un cadre qui aide à comprendre comment les informations circulent dans un réseau. Ce modèle explique comment les paquets transitent à travers les différentes couches vers un autre équipement du réseau, même si l émetteur et le destinataire utilisent des types de média réseau différents. Le modèle de référence OSI comporte sept couches numérotées (la figure 2.1), chacune illustrant une fonction réseau bien précise. Afin de permettre l acheminement des données entre l ordinateur source et l ordina- 21

2.2. Modèle OSI teur de destination, chaque couche du modèle OSI au niveau de l ordinateur source doit communiquer avec sa couche homologue sur l ordinateur de destination. Cette forme de communication est appelée communication d égal à égal. Au cours de ce processus, les protocoles de chaque couche s échangent des informations, appelées unités de données de protocole (PDU). Chaque couche de communication, sur l ordinateur source, communique avec l unité de données de protocole propre à une couche, ainsi qu avec la couche correspondante sur l ordinateur de destination, comme l illustre la figure 2.2. Fig. 2.2 Communication entre les couches sous le modèle OSI Les sept couches sont : La couche physique La couche physique s occupe de la transmission des bits de façon brute sur un canal de communication. Cette couche doit garantir la parfaite transmission des données (un bit 1 envoyé doit bien être reçu comme bit valant 1). La couche liaison de données Son rôle est un rôle de liant. Elle fractionne les données d entrée de l émetteur en trames, transmet ces trames en séquence et gère les trames d acquittement renvoyées par le récepteur. La couche liaison de données doit donc être capable de reconnaître les frontières des trames. De manière générale, un rôle important de cette couche est la détection et la correction d erreurs intervenues sur la couche physique. La couche réseau Cette couche assure la transmission des données sur les réseaux. C est ici que la notion de routage intervient, permettant l interconnexion de réseaux différents. En plus du routage, cette couche assure la gestion des congestions. 22

2.3. Modèle TCP/IP La Couche transport Cette couche est responsable du bon acheminement des messages complets de bout en bout. Le rôle principal de la couche transport est de prendre les messages de la couche session, de les découper s il le faut en unités plus petites et de les passer à la couche réseau, tout en s assurant que les morceaux arrivent correctement de l autre côté. Cette couche effectue donc aussi le réassemblage du message à la réception des morceaux. C est l une des couches les plus importantes, car c est elle qui fournit le service de base à l utilisateur, et c est par ailleurs elle qui gère l ensemble du processus de connexion, avec toutes les contraintes qui y sont liées. L unité d information de la couche réseau est le message. La Couche session Cette couche est responsable de la communication entre les hôtes. Elle établit, gère et ferme les sessions entre les applications. La Couche présentation Cette couche s intéresse à la syntaxe et à la sémantique des données transmises : c est elle qui traite l information de manière à la rendre compatible entre tâches communicantes. Elle va assurer l indépendance entre l utilisateur et le transport de l information. La Couche application Cette couche est le point de contact entre l utilisateur et le réseau. Elle fournit des services aux processus d application tels que le courrier électronique, le transfert de fichiers et la documentation hypertexte. 2.3 Modèle TCP/IP TCP/IP (Transmission Control Protocol/Internet Protocol)initié par le département de la Défense Américaine qui s imposera comme le langage standard et permettra l interconnexion de systèmes hétérogènes. Il désigne un ensemble de protocoles et de règles mis au point pour permettre aux ordinateurs de partager les ressources d un réseau. Pour configurer cet ensemble de protocoles sur une station de travail, il convient d utiliser les outils du système d exploitation. Toutefois, à l image du modèle OSI, l architecture TCP/IP propose d organiser l interface de communication d une station en une série de couches, chacune étant construite sur celle du niveau inférieur. Le rôle de chaque couche est d offrir certains services aux couches supérieures, celles-ci étant ainsi affranchies de la mise en oeuvre des tâches correspondantes. La pile de protocoles TCP/IP (Figure 2.3 ) comporte les quatre couches suivantes : La couche application Il s agit de la couche de plus haut niveau d abstraction, elle utilise les couches inférieures pour communiquer avec une autre station mais les moyens mis en oeuvre lui sont transparents. Elle constitue l interface logiciel de l utilisateur avec le réseau. Par exemple, les navigateurs web utilisent, entre autres, l application HTTP (HyperText Transfer Protocol) pour visualiser des pages web hébergées sur un serveur distant. Dans ce cas, l utilisateur spécifie simplement l adresse de la page (comportant l adresse IP du serveur) sans se préoccuper des détails de la procédure 23

2.3. Modèle TCP/IP Fig. 2.3 Pile des protocoles TCP/IP et OSI de communication. Il existe une grande variété d applications associées aux différents besoins des utilisateurs : transfert de fichiers FTP (File Transfert Protocol), courrier électronique SMTP (Simple Mail Transfert Protocol), prise de contrôle à distance SSH (Secure Shell), synchronisation NTP (Network Time Protocole).... La couche transport La principale tâche de la couche de transport est de fournir la communication d un programme d application à un autre. Cette couche peut avoir à réguler le flot de données et à assurer la fiabilité du transfert : les octets reçus doivent être identiques aux octets envoyés. C est pourquoi cette couche doit gérer des checksums et savoir re-émettre des paquets mal arrivés. Elle est chargée aussi d assembler les paquets issus de la couche réseau afin de reconstituer l ensemble des données destinées à la couche application. En effet, les données brutes à transmettre ne peuvent être directement envoyées sur le réseau, il est nécessaire de les structurer en unités (paquets puis trames et enfin signaux) manipulables par les différents protocoles. La couche transport fixe également la Qualité de Service (abrégé en anglais QoS : Quality of Service) de bout en bout à fournir à la couche supérieure et, finalement, aux utilisateurs du réseau. Plus précisément, suivant les besoins de l application, la couche transport peut mettre à disposition divers protocoles afin de satisfaire certains critères de qualité désirée (fiabilité, rapidité, délai constant...). Citons comme exemples de protocoles de cette couche : TCP (Transmission Control Protocol) et UDP (User Datagram Protocol). La couche réseau ou Internet Cette couche reçoit des data-grammes en provenance de la couche accés réseau, qu elle doit analyser pour déterminer s ils lui sont adressés 24

2.4. Les protocoles TCP et UDP ou pas. Dans le premier cas elle doit décapsuler son en-tête du data-gramme pour transmettre les données à la couche de transport et au bon protocole de cette couche (TCP, UDP...), dans le deuxième cas elle les ignore. Cette couche prend aussi en charge la communication de machine à machine. Elle accepte des requêtes venant de la couche de transport avec une identification de la machine vers laquelle le paquet doit être envoyé. Elle utilise alors l algorithme de routage pour décider si le paquet doit être envoyé vers une passerelle ou vers une machine directement accessible. Le protocole IP (Internet Protocol) ou encore ICMP (Internet Control Message Protocol) appartiennent à la couche réseau. La couche d accès au réseau La couche la plus basse représente la connexion physique avec les câbles, les circuits d interface électrique, les cartes réseau, les protocoles d accès au réseau. Le protocole dans cette couche définit le moyen pour un système de délivrer l information à un autre système physiquement relié. Il définit comment les data-grammes IP sont transmis. La définition de ceux-ci reste indépendante de la couche réseau, ce qui leur permet de s adapter à chaque nouvelle technologie au fur et à mesure de leur apparition. 2.4 Les protocoles TCP et UDP On présente ici les deux principaux protocoles de la couche transport d Internet que sont les protocoles TCP (Transmission Control Protocol ) et UDP (User Datagram Protocol ). Tous les deux utilisent IP comme couche réseau, mais TCP procure une couche de transport fiable (alors même que IP ne l est pas), tandis que UDP ne fait que transporter de manière non fiable des datagrammes. 2.4.1 Le protocole UDP Le protocole UDP (rfc 768)utilise IP pour acheminer, d un ordinateur à un autre, en mode non fiable des datagrammes qui lui sont transmis par une application. Cependant, UDP fournit un service supplémentaire par rapport à IP, il permet de distinguer plusieurs applications destinatrices sur la même machine par l intermédiaire des ports. Un port est une destination abstraite sur une machine identifié par un numéro qui sert d interface à l application pour recevoir et émettre des données. Par exemple, TFTP utilise le port 69 et que l application SNMP utilise le port 161. UDP est un protocole de transport sans connexion (en mode non connecté) qui fonctionne au dessus du protocole de réseau IP. C est un protocole simple à mettre en oeuvre, cependant il n est pas fiable (perte de messages, messages non ordonnés, etc). UDP est plus tolérant, plus rapide que le TCP, mais également moins fiable dans sa technique de transmission. Les données sont émises sans aucune assurance que l émetteur puisse les recevoir. Chaque paquet est émis sur le réseau (sans numérotation), au maximum de la vitesse possible (fonction de la station et de l état du média). Si des paquets sont perdus, il n est pas possible pour l émetteur de le détecter (ni pour le destinataire), de 25

2.4. Les protocoles TCP et UDP même que les données peuvent parvenir au destinataire dans un désordre complet suivant la complexité de la topologie du réseau. Il n y a aucun retour d information au niveau du protocole pour apporter un quelconque moyen de contrôle sur le bon acheminement des données. C est au niveau applicatif qu il convient de prendre en compte cette lacune. Parmi les utilisations les plus courantes d UDP on peut signaler le serveur de noms (DNS), base de données répartie au niveau mondial, et qui s accommode très bien de ce mode de transport. Il y a aussi d autres applications utilisent ce protocole tels que NTP (Network Time Protocol), TFTP, NFS,.... De manière plus générale, UDP intervient lorsque le temps de remise des paquets est prédominant. Format des paquets UDP Un paquet UDP est conçu pour être encapsulé dans un datagramme IP et permettre un échange de données entre deux applications, sans échange préliminaire. Fig. 2.4 format d un datagram UDP Les entités émission et réception de UDP échangent des données sous forme de datagram. Un datagram UDP est formé : 1. D une entête de taille fixe 8 octets. 2. D un champ de données de taille variable. Le protocole UDP n utilise pas le fenêtrage ni les accusés de réception. Il est conçu pour les applications qui ne nécessitent pas l assemblage de séquences de segments. L êntete UDP est bien plus petits que l êntetes TCP. Ils ne contiennent que 4 champs (voir la figure 2.4) : port source, port de destination, longueur et somme de contrôle. 26

2.4. Les protocoles TCP et UDP Port source Le numéro de port de l émetteur du paquet. Ce champ est optionnel, quand il est spécifié il indique le numéro de port que le destinataire doit employer pour sa réponse. Port de destination Le numéro de port du destinataire du paquet. Longueur C est la longueur du paquet, donc comprennant l entête et le message (la longueur minimal est 8 octets et la longueur maximale est 65535 octets). somme de contrôle Ou checksum, est un champs optionnel et toutes les implémentations ne l utilisent pas. S il est employé, il porte sur un pseudo entête. 2.4.2 Le protocole TCP Le protocole TCP, inventé en 1981, s est imposé comme le standard pour la communication dans l Internet. Situé au niveau de la couche transport, TCP est chargé de gérer la quantité de données à émettre sur le réseau ainsi que d assurer un service de fiabilité aux applications de la couche supérieure. C est un protocole de communication dit de bout en bout puisque, du fait de son niveau d abstraction, il est en discussion directe avec le récepteur (la figure 2.3). La propriété principale de TCP est de garantir une communication fiable. En appliquant un mécanisme d acquittement,il assure que l intégralité des données soit transmise au destinataire. Cette possibilité est absolument indispensable dés lors que les applications doivent transmettre de gros volumes de données et de façon fiable. Il faut préciser que les paquets de données sont acquittés de bout en bout et non de point en point. D une manière générale le réseau assure l acheminement et les extrémités le contrôle. Le protocole TCP permet l établissement d un circuit virtuel entre les deux points qui échangent de l information. On dit aussi que TCP fonctionne en mode connecté (par opposition à UDP qui est en mode non connecté ou encore mode datagramme). TCP a la capacité de mémoriser des données. En effet, aux deux extrémités du circuit virtuel, les applications s envoient des volumes de données absolument quelconques, allant de 0 octet à des centaines (ou plus) de Mo. A la réception, le protocole délivre les octets exactement comme ils ont été envoyés. Le protocole est libre de fragmenter le flux de données en paquets de tailles adaptées aux réseaux traversés. Il lui incombe cependant d effectuer le réassemblage et donc de stocker temporairement les fragments avant de les présenter dans le bon ordre à l application. Plusieurs application utilisent ce protocoles telles que : HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol), Telnet, etc. Description de l en-tête Les entités émission et réception de TCP échangent des données sous forme de segments. Un segment (TPDU) est formé d une entête de longueur fixe de 20 octets (plus une partie optionnelle) suivi de 0 ou plusieurs octets de données. La figure 2.5 montre la 27

2.4. Les protocoles TCP et UDP structure d un en-tête TCP [3]. Chaque segment débute par une entête d une longueur fixe de 20 octets. Elle peut être suivie par des options. Après celles-ci, on peut trouver jusqu à 65535 20 = 65535 octets de données (20 entête TCP). Les segments sans données représentent les ACK et les messages de contrôle. Fig. 2.5 format d un segment TCP Port source et port destination Identifient les applications (processus) émettrice et réceptrice. Un port associé à une adresse IP d une station forment une adresse TSAP unique de 48 bits, appelée Socket. Le doublet (N socket source, N socket destination) identifie une connexion. Exemple de port : 21 : FTP, 23 : Telnet, 25 : SMTP, 110 : POP3, 80 : HTTP, 123 : NTP etc. Le numéro de séquence (SEQUENCE NUMBER) Donne la position du segment dans le flux de données envoyées par l émetteur ; c est à dire la place dans ce flux du premier octet de données transmis dans ce segment. Le numéro d acquiescement (ACKNOWLEDGEMENT NUMBER) Contient le numéro de séquence suivant que le récepteur s attend à recevoir ; c est à dire le numéro de séquence du dernier octet reçu avec succès +1. Précisément, TCP n acquitte pas un à un chaque segment qu il reçoit, mai acquitte l ensemble du flot de données jusqu à l octet k 1 en envoyant un acquittement de valeur k. Offset (Longueur d entête) Ce champs de 4 bits contient la taille de l entête ( le nombre de mots de 32 bits) y compris les options. Un entête peut avoir une taille variant de 20 octets (5 mots de 32 bits (en binaire 0101), aucune option) à 60 octets (15 mots de 32 bits (en binaire 1111), maximum d options). Le champ réservé (RESERVED) Comporte 6 bits réservés a un usage ultérieur. CODE Six drapeaux d un bit chacun permettent de spécifier le rôle et le contenu du segment TCP pour pouvoir interpréter correctement certains champs de l entête TCP. La fenêtre (WINDOW) Ce champ sert au contrôle de flux selon la méthode de fenêtres d anticipation à taille variable (ou fenêtre glissante). Il indique le nombre d octets 28

2.5. Le protocole NTP (moins de 65535) que le récepteur est prêt à accepter. Ainsi, l émetteur augmente ou diminue son flux de données selon la valeur de cette fenêtre qu il reçoit. Cette valeur peut être nulle pour contrôler le flux, c est à dire que le récepteur ne désire plus recevoir de données pour l instant). La somme de contrôle (CHECKSUM) Utilisé pour vérifier la validité de l entête et des données transmises. Il est obligatoirement calculé par l émetteur et vérifié par le récepteur. Pointeur d urgence Valide si le bit de contrôle URG est à 1. Il indique la position dans le segment où l on peut trouver les données urgentes (décalage en octets à partir du numéro de séquence courant). Option (POINTER OPTIONS) Un champ prévu pour ajouter les possibilités non offertes dans l entête de base (Exemple : option pour spécifier la charge TCP la plus grande). Bourrage (PADDING) Les données TCP Les données transportées. Remplissage pour se caler sur un mot de 32 bits. La propriété principale de TCP est de garantir une communication fiable. En appliquant un mécanisme d acquittement, il assure que l intégralité des données soit transmise au destinataire. Plus précisément, ce dernier signale le prochain paquet attendu (via le système de numérotation) et s il y a une perte, la source renverra le paquet manquant. Cependant, cette fiabilité coûte cher en temps à cause de l attente de l accusé de réception. 2.5 Le protocole NTP Les horloges internes des équipements informatique ont tendance à dériver au fil du temps. Comme on peut le penser elles prennent vite une seconde d avance ou de retard (si ce n est plus). Il existe cependant des services qui nécessitent une plus grande précision : l aéronautique et l aérospatiale les domaines militaires les serveurs des banques les logs d accès et dans une moindre mesure, le courrier électronique Il a donc fallu inventer en même tant que l expansion des réseaux, un service permettant de mettre à jour rapidement et précisement les horloges. C est ainsi que le protocole NTP (Network Time Protocol) [39] est apparu pour permettre de synchroniser les équipements (routeurs/commutateurs, serveurs, postes clients) via des serveurs donnant une heure juste avec une précision inférieure à la seconde. La grande force et complexité de NTP est de prévoir et de réduire au maximum le décalage de temps provoqué par la durée de la transmission des paquets sur Internet [26]. NTP utilise UTC (Universal Time Coordinated) comme heure de référence et elle est codée sur 64 bits (8 octets). Il existe de très nombreux serveurs NTP de part le monde. Les serveurs primaires (strate 1) se synchronisent principalement via une horloge atomique ou un signal GPS. Viennent ensuite des serveurs secondaires (strate 2) qui se synchronisent 29

2.5. Le protocole NTP sur des serveurs primaires. Aujourd hui, quasiment tous les systèmes d exploitation (Windows, MacOSX, Linux, FreeBSD,...) permettent de se synchroniser avec un serveur NTP [41]. NTP est un protocole basé sur UDP et utilise le port 123. Architecture NTP, comme DNS se base sur une structure pyramidale comportant plusieurs niveaux ou strates (la figure 2.5). Chaque serveur se synchronise avec un élément au-dessus de lui et synchronise les éléments en dessous de lui : ceci implique qu à part le premier niveau, que chaque serveur joue aussi le rôle d un client. Fig. 2.6 Architecture du réseau NTP Au sommet, de récepteurs récupérant l heure de référence par radios, câbles, satellites ou directement depuis une horloge atomique (couhe 0 ou strate 0). la diffusion verticale arborescente de proche en proche d une heure de référence à partir d une ou plusieurs machines racines garantes d une grande précision. Dans cette arborescence, chaque noeud choisit parmi ses noeds parents, celui qui présente les meilleures garanties de qualité et hérite au passage d un attribut qu il transmet à ses descendants. Les machines de strate 1 sont les machines racines. la diffusion latérale à des machines paires d une heure commune. Cette diffusion vient en complément de la précédente ; elle permet à ces machines de partager une référence de temps qui leur sont commune. Cette diffusion améliore la résilience de cette architecture 30

2.6. Conclusion NTP dans le sens où elle permet de suppléer une déficience locale/temporaire de connectivité vers les machines racines, voire même de permettre à un groupe de machines de conserver entre elles une même référence relative en l absence de machines racines. Le nombre de strates est limité à 15 mais en général, il n y en a pas plus de 5. 2.6 Conclusion Un réseau informatique est une collection d objets de télécommunications et d informations (ordinateurs, stations de travail, cartes réseaux, modems, imprimantes réseaux, liaison téléphonique,...). Ces entités sont reliées et connectées entre elles par l intermédiaire des lignes physiques appelées lignes de communications qui servent de transport et d échange des données et des informations. L architecture du réseau est, en général, structurée sous forme de couches. Chaque couche N d une machine de réseau gère la conversation (communication) avec la couche N d une autre machine de ce même réseau. Cette conversation est caractérisée par un certain nombre de règles et des formats (sémantiques et syntaxiques) prédéfinis déterminant les caractéristiques de communication des processus de la couche. Ces règles sont connus sous le nom de protocole. Dans ce chapitre, on a présenté brièvement les réseaux informatiques où on a vu le modèle OSI et TCP/IP, ainsi que les deux principaux protocoles de la couche transport d Internet UDP et TCP. Un autre protocole (Network Time Protocol ou NTP ) a été présenté. Ce protocole concerne la synchronisation des équipements informatiques sur Internet. Dans ce qui va suivre, une des applications des réseaux informatiques qui est le système commandé en réseau ou NCS (Networked control system) sera le sujet de notre prochain chapitre. 31

3 Systèmes commandés en réseau NCS Sommaire 3.1 Introduction............................. 33 3.1.1 Avantages et applications de la commande en réseau..... 34 3.2 Catégories des NCSs........................ 35 3.3 Composants d un NCS....................... 39 3.3.1 Acquisition de l information dans le réseau........... 39 3.3.2 La commande des actionneur................... 40 3.3.3 La Communication......................... 40 3.4 Problématiques NCS........................ 41 3.4.1 Quantification et codage..................... 41 3.4.2 Congestion et perte de paquets.................. 42 3.4.3 Présence de retards......................... 42 3.4.4 Allocation de ressources et limite de bande passante...... 45 3.4.5 Sécurité des réseaux........................ 46 3.5 Conclusion.............................. 47 32

3.1. Introduction 3.1 Introduction Dans le dernière décennie, l intégration et la convergence du communication, du calcul et du contrôle devenue de plus en plus vite. Les chercheurs et les praticiens ont inspiré des lois et des disciplines pour l apparition d un nouveau domaine, c est les systèmes commandés en réseau NCS (Networked control system). Généralement, un NCS se compose des capteurs, des actionneurs et des contrôleurs dont les fonctionnements sont distribuées à différentes localisations géographiques et coordonnées par l information circulée à travers le réseau de communication (figure 3.1). Une définition classique de NCS peut être donnée comme : Les systèmes commandés en réseau sont des systèmes automatiques (ou automatisés) traditionnels où les capteurs, contrôleurs, actionneurs et autres composants sont distribués autour d un medium de communication et échangent des informations en respect de protocoles de communication. Un NCS peut également être défini comme un système de commande en boucle où les boucles de retour sont fermées par un réseau en temps réel. Le dispositif de définition d un NCS est que l information (c est-à-dire l entrée, la sortie de processus, la commande, etc.) est échangée entre les différents composants du système de commande (les capteurs, contrôleurs, actionneurs, etc.), en utilisant un réseau de communication (voir la figure 3.1). Les capteurs, contrôleurs et actionneurs constituent avec les systèmes de communication les éléments d un NCS. Le medium de communication sert à assurer les fonctions suivantes : Etablir un lien de communication pour envoyer l information entre chaque producteur et les consommateurs concernes. Respecter les contraintes de temps réel imposées par l application. Faciliter la maintenance (détection des fautes, simplification du câblage). Certaines caractéristiques typiques de ces systèmes sont reflétées en leurs fonctionnements asynchrones, fonctions diversifiées, et structures d organisation compliquées. La grande réussit des applications sur Internet a été l un des principales facteurs encourageant les chercheurs et les développeurs des NCS. Plus récemment, l apparition de la communication et du calcul d une façon trés large a sensiblement intensifié l effort d établir de tels systèmes pour la commande et la gestion des divers systèmes complexes qui sont devenus de plus en plus populaires dans l automatisation de processus, opérations commerciales, aussi bien que la gestion publique. La commande à travers un réseau de communication n est pas un nouveau concept dans l automatisation. En effet, les systèmes de commande avec des communications ont été déjà développés et utilisés dans des applications concernant des problèmes du monde réel pendant plus de 30 années. Cependant, il y a beaucoup de facteurs qui distinguent le NCS actuel de la commande avec communication. Deux parmi ces facteurs les plus significatifs : 1. Dans la commande avec communication, le réseau est spécialisé et consacré pour l opportunité de l échange d informations et la stabilité du système, alors que dans 33

3.1. Introduction Fig. 3.1 Un système commandé en réseau typique le NCS actuel, le réseau est d usage universel et public pour différentes applications non pertinentes et en plus simultanées, et ainsi de la communication en temps réel et la stabilité de l exécution de processus ne sont plus assurés ; 2. La fonctionnalité du NCS actuel a été diversifiée énormément par rapport au commande avec communication, de la commande pure à un ensemble de fonctions plus de commande tels que la gestion et l administration, s étendant de l allocation de ressource, l ordonnancement des évènements, l organisation de tâche, etc qui impliquent des nouveaux concepts et méthodes en commande, communication, recherche opérationnelle, informatique et science de la gestion. Les exigences vis-à-vis de la diversité, de la complexité, et de l exécution en temps réel pour les systèmes en réseau ont apporté de nouveaux défis technologiques à NCS. Aujourd hui, beaucoup de questions fondamentales concernant la stabilité des systèmes dynamiques interconnectés, les effets de la communication sur la performance du système de commande restent ouverts. 3.1.1 Avantages et applications de la commande en réseau Les technologies de conception de réseaux de données ont été largement appliquées dans des applications de commande industrielle et militaire. Ces applications incluent des usines de fabrication, des automobiles, et des aéromobiles. Connectant les composants du système de contrôle dans ces applications, telles que des capteurs, les contrôleurs, actionneurs par l intermédiaire d un réseau peuvent effectivement réduire la complexité des systèmes, avec des investissements économiques nominaux. En outre, des contrôleurs de réseau permettent à des données d être partagées d une manière efficace. Il est facile de fonder l information globale pour prendre des décisions intelligentes au-dessus d un grand espace physique. Ils éliminent le câblage inutile. Il est facile d ajouter plus de capteurs, 34

3.2. Catégories des NCSs d actionneurs et de contrôleurs avec un coût minimal et en évitant des changements structurels lourds au système entier. D une manière plus importante, ils connectent l espace d un cyber à l espace physique rendant le traitement des tâches à distance facilement accessible. Ces systèmes deviennent aujourd hui plus réalisable et ont beaucoup d applications possibles [25] [31], y compris des explorations d espace, exploration terrestre, automatisation d usine (figure 3.2) [23], des automobiles, des aéromobiles, surveillance d usine, télé-robotics et la télé-opération,.... Fig. 3.2 Automatisation d usine 3.2 Catégories des NCSs Un NCS est composé généralement des contrôleurs, actionneurs, capteurs et un lien de communication (voire la figure 3.3). L actionneur permet de exécuter les commandes envoyer par le contrôleur à travers le réseau et le capteur permet d envoyer les données capturer vers le contrôleur. Donc, les données dans un NCS sont transmises du contrôleur vers l actionneur et du capteur vers le contrôleur. D une façon générale, il existe deux principaux types de systèmes de commande qui utilisent les réseaux de transmission : 35

1. Des systèmes de commande qui partagent le réseau ; 2. Des systèmes commandés à distance. 3.2. Catégories des NCSs En utilisant des ressources qui partagent le réseau pour transférer des mesures, à partir des capteurs aux contrôleurs et aux signaux de commande et des contrôleurs aux actionneurs, peut considérablement réduire la complexité des connexions. Cette méthode, voire la figure 3.3, est systématique et structurée, fournit plus de flexibilité dans l installation, et facilite la maintenance et le dépannage. En outre, les réseaux permettent la transmission des données dans la boucle de contrôle. Ce dispositif est extrêmement utile quand une boucle de retour échange l information avec d autres boucles de contrôle pour exécuter des commandes plus sophistiquées. Cette structure des NCSs a été largement appliqué dans les automobiles et les usines industrielles. Fig. 3.3 Connections à travers un réseau partagé D autre part, un système commandé à distance peut être défini comme un système commandé par un contrôleur situé loin. Ceci peut être référé à la commande de téléopération. Les systèmes d acquisition de données à distance et les systèmes de monitoring à distance peuvent également être inclus dans cette classe des systèmes. L emplacement où l unité centrale de contrôle ou de traitement est installée s appelle typiquement le site local, tandis que l endroit où l usine est localisée s appelle le site distant. Il existe deux approches générales pour concevoir un NCS : 1. La première approche composé de plusieurs sous-systèmes qui forment une structure hiérarchisée, où chaque sous-système contient un capteur, un actionneur et un contrôleur, comme représenté dans la figure 3.4. Ces parties du système sont connectées au même contrôleur central du système. Dans ce cas, un contrôleur de soussystème reçoit des commandes du contrôleur central CM. Le sous-système essaye alors de satisfaire ces commandes. Le signal des données ou les états de capteur est transmis de contrôleur de sous-système vers le contrôleur central par l intermédiaire d un réseau ; 2. La deuxième approche des systèmes commandés en réseau est la structure directe, comme présenté dans la figure 3.5. Dans cette structure, le capteur et l actionneur de la boucle de contrôle sont connectés directement à un réseau. Dans ce cas, le contrôleur est séparé du capteur et de l actionneur par une connexion réseau. 36

3.2. Catégories des NCSs Fig. 3.4 Transmmission des données dans une structure hiérarchisée Fig. 3.5 Transmmission des données dans une structure directe L utilisation de la structure directe ou hiérarchique dépend des conditions d application et des préférences du concepteur. Par exemple, un robot manipulateur exige habituellement plusieurs moteurs qui tournent simultanément ensemble. Il peut être plus commode et plus robuste d employer un contrôleur existant et de formuler le problème dans une structure hiérarchique. D autre part, un concepteur peut avoir besoin d un système de commande de vitesse de moteur pour avoir une réponse plus rapide de commande audessus du réseau. La structure directe peut être préférée dans ce cas-ci. D autre part, beaucoup de systèmes de contrôle gérés en réseau ont une structure hybride où ils combinent les deux structures. Par exemple, le laboratoire d enseignement à distance est un exemple qui utilise les deux structures [11],[12]. Les applications des systèmes commandés en réseau peuvent être divisées en deux catégories : 1. Applications à retard-critique ou retard-sensible ; 2. Application à retard insensible. Dans les applications à retard sensibles, le temps est critique, c est à dire, si le retard 37

3.2. Catégories des NCSs dépasse un certain délai tolérable spécifique, le processus ou le dispositif peut être endommagé ou fonctionner avec une performance dégradée. Un exemple des applications à retard sensible est la télé-opération par l intermédiaire des réseaux pour des opérations sous-marines, et le pilotage automatisé. D autre part, les applications à retard insensible sont des tâches ou des programmes qui fonctionnent en temps réel mais dont les délais maximaux ne sont pas critiques. Des exemples de ces applications sont email, FTP, DNS, et HTTP. Nous citerons brièvement beaucoup d avantages des systèmes commandés en réseau, la télé-opération étant les plus évidents et les plus tangibles. On va classifier les NCSs selon la quantité d intervention humaine dans la boucle. 1. Les systèmes de télé-opération avec opérateur humain : Dans ce cas, un opérateur humain à partir de son unique endroit contrôle les actionneurs (robots, bras, véhicules non-pilotés) qui sont déployés dans le réseau (dans des emplacements différents). Le contrôle de l opérateur est principalement visuel (vidéo ou image en temps réel). La précision et l exactitude de l exploitation du système dépendent de la compétence de l opérateur comprenant la précision du système, le retard et l exactitude de contrôle. Ceci peut également s appeler le contrôle par supervision humaine (human supervisory control) [47]. Par conséquent pour ces systèmes de télé-opération, les opérateurs humains sont généralement formés pour opérer le système. Il y a beaucoup d applications de tels systèmes comme les laboratoires virtuels distribués, de systèmes à distance de chirurgie, etc. De tels systèmes ont aussi des problèmes tels que : l exactitude de perception humaine, la surcharge sur l opérateur, le retard du réseau, la prédiction de la commande, la sécurité, la portabilité du système, etc. Il y a également beaucoup d outils développés pour le contrôle précis de l opérateur tel que le virtual reality (VR), les télévisions interactives, l environnement de visualisation 3- D, etc. [4]. L un des environnements VR est développé par l institut Alfred E. Mann au Etats-Unis est employés pour simuler le mouvement des membres prosthétiques et des membres humains. Son utilisation principale est au prototype la commande des systèmes prosthétiques et a adapté la commande aux besoins patients. 2. La Télé-opération sans une intervention humaine : Dans tels systèmes, l intelligence est établie à l intérieur des modules de contrôleur. Les données de capteur et les données de commande d actionneur vont directement alimentées le contrôleur via le réseau. Ceci peut également s appeler le système commandé en réseau autonome. Le contrôleur de supervision n est pas un humain dans ce cas. Un humain peut agir en tant qu utilisateur extérieur qui peut choisir des tâches ou spécifier quelques commandes de contrôle manuelles. Ces systèmes ne dépendent pas de perception humaine et n exigent pas des opérateurs d être habiles ou formés. Par conséquence, développer des programmes de données et des algorithmes de contrôle intelligents et efficaces pour le contrôle de supervision est une tâche très importante et difficile. Les contrôleurs de supervision peuvent employer des techniques telles que l apprentissage automatique, les réseaux de neurone et les algorithmes de l intelligence artificielle pour prendre des décisions intelligentes. Dans ce cas, la fusion de données de capteur et l optimisation de largeur de bande de l actionneur et l établissement des 38

3.3. Composants d un NCS algorithmes sont les questions également importantes à considérer. 3. La commande hybride : Le contrôleur et l actionneur principaux ont l intelligence répartie pour augmenter l efficacité du réseau. Dans ce chapitre nous nous focaliserons principalement sur les systèmes commandés en réseau à retard sensible. 3.3 Composants d un NCS Quoi que l agencement ou les modalités utilisées pour connecter et configurer le matériel et les logiciel afin d actualiser un système de commande en réseau qui a certaines capacités, les composants à utiliser doivent permettre quatre fonctions de base. Ces fonctions de base sont l acquisition de l information (capteurs), le calcul de la commande (contrôleurs), la communication (réseau) et le traitement (actionneur). 3.3.1 Acquisition de l information dans le réseau Etudier l acquisition de l information consiste à étudier les capteurs, le traitement de données, et le traitement du signal. Il y a une excitation croissante au sujet des applications des réseaux de capteur à grande échelle dans des domaines différents tels que l agriculture, la surveillance géophysique et d environnement, les soins de santé à distance, et la sécurité [10]. Le progrès rapide dans le matériel de captation, de communication et de calcul puissant a eu comme résultat une profusion des noeuds capteurs commercialement disponibles. NCS implique la collection des données utiles en utilisant les capteurs distribués dans le réseau pour étudier l influence de la commande sur le système. Les données de capteur peuvent avoir des différentes formes : des nombres petits représentant la température, la pression, le poids, etc. ou sous forme plus compliqué telle que des images, des tableaux, des flux de vidéos, etc. Ceci pose des questions importantes comme : 1. La bande passante nécessaire pour le transfère des données dans le réseau. 2. Les stratégies de collection des informations dans le cas de plusieurs capteurs. 3. Le coût, la fiabilité et l énergie des capteurs nécessaire qui peuvent être ajoutés facilement à un NCS. La fusion de capteur et les réseaux de capteur [15] sont des domaines de recherches très larges qui permettent d améliorer l acquisition de l information dans un réseau. Le développement des logicielles et des systèmes d exploitation pour que les noeuds de capteur envoient des données efficacement dans le réseau [44] [43], l assurance de l information [42], les noeuds de capteur ont l énergie optimale et la sensitivité des données sont les principaux axes de recherches liés à l acquisition de l information dans un réseau. Des données en image sont utilisées dans des applications comme la surveillance, la navigation par robot, la poursuite des trajectoires, et la télé-opération, etc. Avec le progrès dans les domaines de la vision par ordinateur et le traitement d images, il y a beaucoup d algorithmes sophistiqués disponibles de traitement des images pour la reconnaissance 39

3.3. Composants d un NCS des formes et l extraction. Beaucoup de systèmes et d algorithmes ont été développés utilisant des techniques de localisation visuelle pour le contrôle des véhicules automobiles et aériens. 3.3.2 La commande des actionneur Un des plus grands avantages d un système commandé à travers un réseau est la scalabilité, car on peut ajouter des capteurs connectés par le réseau dans des différents emplacements, on peut également ajouter un ou plusieurs actionneur connectés à un ou plusieurs contrôleurs par le réseau. Jusqu à présent, les chercheurs ont donné des stratégies de contrôle optimales et précises telles que la commande PID, la commande optimale, la commande adaptative, la commande robuste, la commande intelligente et beaucoup d autres formes de ces algorithmes de commande. Cependant, l application de toutes ces stratégies de commande via un réseau devient une tâche provocante. 3.3.3 La Communication Le canal de communication est un composant important et principal dans le NCS, la fiabilité, la sécurité, la facilité d utilisation et la disponibilité sont les principales point à mettre en considération quant veut choisir le type de transmission ou de transfère des données. Aujourd hui, plusieurs modes de communication sont disponibles dans le monde tels que : les lignes téléphoniques, les réseaux de téléphonie sans-fil, les réseaux sans-fil, les réseaux de satellites et le plus utilisé l Internet. Le choix du réseau dépend de la nature de l application. L Internet est le choix le plus approprié et le moins coûteux pour beaucoup d applications où l unité de traitement et le contrôleur sont situés dans des zones différentes (comme exemple le contrôleur se trouve aux Etats-Unis et le robot à contrôler est au Japon). Le CAN (Controller Area Network) est un protocole de communication séquentiel, asynchrone, de multi-maître pour connecter des modules de commande électronique dans des applications industrielles et auto-mobiles. Le CAN a été conçu pour des applications exigeant l intégrité des données et des débits trés élevé (jusqu à 1 Mbps). Beaucoup de sociétés ont une ligne de production complète permettant aux créateurs industriels d incorporer le CAN dans leurs applications. Pour des années, les réseaux locaux sans fil ayant supporté des applications d entreprise. Avec des prix moins coûteux et des normes plus stables, les propriétaires des maisons installent maintenant des LANs sans fil plus rapidement. Les réseaux locaux supportant des microordinateurs et des postes de travail sont devenus presque universels dans les organisations. L utilisation d un réseau de communication sans-fil dans des applications de commande où l utilisateur n a aucun contrôle de la liaison fournie produit des problèmes liés à l échange de paquet de données. Des difficultés additionnelles dans la conception d une telle boucle de contrôle sont intervenues telles que la présence des retards plus importants introduits par les réseaux de transmission sans-fil et la mobilité des noeuds 40

3.4. Problématiques NCS (capteurs, actionneurs ou contrôleurs) qui rendent la localisation une tâche très difficile. Des systèmes GPS peuvent être utilisés pour localiser les noeuds. Cependant, des applications militaires, chirurgicales et autres applications médicales peuvent utiliser des réseaux optiques dédiées pour assurer la vitesse rapide et la transmission fiable des données. 3.4 Problématiques NCS La présence d un réseau dans la boucle de commande induit de nombreuses problématiques spécifiques telles que : la quantification du signal lors de l émission/réception des paquets d information, le compression/décompression des informations transitant par le réseau, la perte de paquets due à la congestion du réseau, la gestion du trafic par le routeur afin de garantir la stabilité ou la performance du système considéré lors de la congestion, la stabilisation des systèmes en présence de retard, la prise en compte de la bande passante disponible (dépendante de l état d occupation du réseau) lors de la synthèse du contrôleur. La sécutité des réseaux. Chacun de ces points faisant l objet d une formulation et d une voie de recherche spécifique. 3.4.1 Quantification et codage Les problèmes de quantification et de codage sont liés à la théorie de l information ; ils apparaissent lors de la conversion d un signal de mesure physique en unités d information transmises au réseau (élaboration de l alphabet, quantification, compression...). Le problème du codage des données pour l émission sur un réseau de communication est considéré dans [2], et fait plus généralement une partie de la problématique de la commande avec information limitée. Dans ce cadre, des résultats ont été obtenus sur le lien entre la longueur de mots composant l alphabet et la période d échantillonnage admissible[50], sur les effets chaotiques induits par l approximation en utilisant des longueurs de mots finies, ou encore sur les effets de la quantification de l état sur la stabilisation d un système instable en boucle ouverte. Les problèmes liés à la quantification ont été abordés dans le cadre de l automatique avec notamment la stabilisation par commande quantifiée utilisée afin de conduire le système vers un ensemble invariant autour de l équilibre, la synthèse de quantificateurs pour systèmes à données échantillonnées, et une approche probabiliste pour la stabilisation de systèmes quantifiés. Nous pouvons aussi considérer le problème de l échantillonnage à période variable (cette variation étant induite par le réseau) combiné à un retard variable 41

3.4. Problématiques NCS une formulation continue de ce problème ainsi qu une solution de stabilisation type LMI est proposée dans [18]. 3.4.2 Congestion et perte de paquets La perte de paquets et la congestion du réseau apparaissent dans les réseaux à file d attente (routeur ou switch) lorsque le flux de données est très important. La gestion de la file d attente s effectue par le protocole mis en place au niveau du routeur, qui détermine de quelle manière les paquets qui seront rejetés (pour l AQM par exemple, le nombre de paquets rejetés est proportionnel à la longueur de la file lorsqu une certaine longueur de référence est atteinte) [51]. Le contrôle de congestion fait l objet de nombreux travaux dans le domaine de l informatique [38] et la stabilité du réseau résultant en fonction du choix de l algorithme mis en place pour le rejet de paquets peut être étudiée. Le cas du contrôle de la file en prenant en compte l état de congestion est étudié en détail dans [16]. Lorsqu un paquet est perdu, il peut être réémis (par exemple, dans le cas du TCP) ou non (UDP). Dans le second cas, l analyse de stabilité du système commandé par réseau inclut la considération de perte d information et ne peut être effectuée par les approches continues. Ainsi, un principe de seuil d incertitude est utilisé pour déterminer le taux de perte de paquets pour lequel le système bouclé non perturbé reste stable au sens des moindres carrés (l espérance de la norme de l état au carré est nulle en l infini). D autres résultats proposent la synthèse d un compensateur optimal de pertes, utilisant les informations passées, qui est obtenu par l utilisation d un contrôleur de contrainte généralisé. Pour finir, ce problème peut aussi être abordé en utilisant la théorie des jeux, où l unicité de l équilibre de Nash est utilisée pour obtenir la garantie de stabilité, sous certaines conditions de variation faible pour les flux agrégés par rapport aux retards induits. 3.4.3 Présence de retards Dans cette partie, nous présenterons succinctement les différents modèles de retards. Les phénomènes de retard apparaissent naturellement dans la modélisation de nombreux processus physiques. En sciences de l ingénieur, on constate que la plupart des commandes actuellement implantées le sont sur des calculateurs numériques. Par conséquent, même si un processus à réguler ne contient pas de retard intrinsèque, bien souvent des retards apparaissent dans la boucle de commande par l intermédiaire : 1. Des temps de réaction des capteurs ou des actionneurs ; 2. Des temps de transmissions des informations ; 3. Des temps de calculs. La Figure 3.6 permet de localiser les lieux où apparaissent ces retards. Ces retards peuvent quelquefois être négliges, mais lorsque leur taille devient significative au regard des per- 42

3.4. Problématiques NCS formances temporelles du système (dynamiques en boucles ouverte et fermée) il n est plus possible de les ignorer. Un élément fondamental induit par la présence du réseau dans la boucle de commande est la présence de retards entre les capteurs et la commande, et entre la commande et les actionneurs. Dans ce cas, avec l existence d un lien de communication, on ne peut pas généralement ignorer le retard induit par le réseau lors d une communication (le transport d information impose dans ce cas un délai dû au temps de propagation). Fig. 3.6 Les différentes sources du retard dans une boucle de contrôle Dans un NCS il y a Deux types de retards [46] [26] : Retard de tranmission Bien sûr, le transfert informatique des données par le réseau nécessite un temps pour arriver au destinaraire. Ce retard doit impérativement être pris en compte. Retard d échantillonnage Le temps d échantillonnage correspond ainsi au temps nécessaire aux calculateurs et aux convertisseurs analogique-numerique pour passer d une valeur à la suivante. L impact des périodes d échantillonnage sur les performances d un processus doit également être évalué. De plus la périodicité de l échantillonnage n est qu une première approximation, qui ne peut pas être fondée dans le cas d un processus à dynamiques rapides commandé par un système temps réel. Des travaux récents ont montré qu un échantillonnage peut être assimilé à un retard additionnel variable dans le temps. La Figure 3.7 illustre le cas périodique classique pour deux périodes différentes (1s et 0.3s). Cette façon de modéliser l échantillonnage présente trois avantages : Elle permet de tenir compte d une période d échantillonnage éventuellement non constante (le système informatique peut produire un échantillonnage apériodique), c est-à-dire de considérer le cas où il n est pas où il n existe pas de période constante. Elle permet aussi de tenir compte de la perte de paquets, qui revient à un allongement de l intervalle d échantillonnage (si le i ieme échantillon t i le retard d échantillonnage devient t t i 1 au lieu de t t i ). Son écriture reste compatible avec les effets de retard de la ligne de transmission, sans ajouter de complexité supplémentaire. 43

3.4. Problématiques NCS Fig. 3.7 Echantillonnage périodique et le retard généré Lors de la phase de modélisation, au même titre que les matrices définissant un modèle, il est essentiel de déterminer le type de retard qui affecte le système. Plus précisément, les modèles de retard. Il y a cinq modèles de retards : Retards constants Les premières études sur la stabilité des systèmes à retards concernaient principalement des retards constants. On compte de nombreux critères fréquentiels développés pour des retards constants connus ou inconnus (à borne connue ou non). Depuis le milieu des 90, différentes conditions, présentées sous forme LMI, de stabilité robuste de systèmes linéaires à retards constants mais incertains ont été développées. Dans la plupart des cas réellement rencontrés, seule une partie récente du passé exerce une influence sur le comportement du système. On parle alors d équations à retards majorés ou bornés. Retards variables majorés Comme la constance du retard est une hypothèse rarement vérifiée dans la réalité, le cas des retards variables (connus ou inconnus) a fait lui aussi l objet de nombreuses recherches. On définit les retards majorés pour lesquels il existe un réel connu τ 2 > 0 tel que : 0 τ(t) τ 2 44

3.4. Problématiques NCS Certains auteurs rajoutent des conditions de régularité sur ces fonctions de retards, comme nous le verrons dans cette description. Retards variables bornés Une grande partie des résultats existant supposent que les retards varient dans un intervalle [0,τ 2 ]. Or les retards apparaissant dans des processus réels sont le plus souvent dus à des phénomènes de transfert d information ou de matière. Le fait d autoriser le retard à prendre la valeur 0 revient à supposer qu à un moment ce transfert se fait de manière instantanée. Dans ce contexte et à condition bien sur que cela conduise à des critères moins restrictifs, il parait intéressant de se donner une borne inférieure du retard pour ensuite se donner les moyens de mesurer son impact sur la stabilité du système. On définit alors les retards bornés, les retards τ(t) pour lesquels il existe deux réels τ 1 et τ 2 tels que : 0 < τ 1 τ(t) τ 2 Ce n est que récemment que des chercheurs ont obtenus des solutions à ce problème. La méthode proposée consiste à transformer le retard τ(t) en une somme de deux retards. Le premier peut etre assimilé à un retard nominal et le second comme étant une perturbation bornée par rapport au retard nominal. Retards variables avec contrainte sur la dérivée De nombreux résultats nécessitent une condition sur la dérivée de la fonction retard. On suppose alors qu il existe un réel d tel que : τ(t) d < 1 Retards variables continus par morceaux Ces retards apparaissent notamment lors de l échantillonnage d un signal. Ce cas particulier autorise notamment la dérivée du retard à prendre la valeur 1 : (critique au vu de la contrainte précédente). τ(t) < 1 Généralement, les contraintes faites sur les retards sont des combinaisons des différents modèles présentés. 3.4.4 Allocation de ressources et limite de bande passante Quant on a plusieurs capteurs et de contrôler d un système multi-actionneurs par le réseau, il faut prendre en considération la bande passante disponible dans le réseau. La présence sur le réseau de multiples utilisateurs suppose un partage et une redistribution des ressources, ainsi qu une limite de la bande passante disponible pour chacun des émetteurs. La bande passante minimum garantie détermine la qualité de service (QdS) assurée par le réseau. Celle-ci dépend de la gestion de la file d attente au niveau du routeur ainsi que de celle des émissions, effectuées par le contrôleur centralisé (par exemple au niveau du routeur). 45

3.4. Problématiques NCS Le problème d allocation de ressources est classiquement abordé en mathématiques discrètes afin d illustrer les solutions par programmation linéaire. L analyse d allocation de capacité dans un réseau Bluetooth (communication radio à courte distance pour systèmes mobiles) est formulée comme un problème d optimisation convexe dans [48], où une loi hybride de distribution de capacité est proposée. La QdS pour les réseaux locaux sans fil (WLAN, pour Wireless Local Area Network) répondant à la norme IEEE 802.llx (version sans fil de réseau Ethernet) avec une méthode d accès par fonction de coordination hybride est assurée dans [22]. L algorithme proposé prend en compte le retard induit par la file d attente désirée et utilise une loi de commande par retour d état proportionnel, les perturbations étant compensées par action anticipative. Le concept de réseau sous-jacent est utilisé afin de considérer plus généralement les réseaux sans fil avec architecture IP (Bluetooth, IEEE 802.11, Hyperplan II, UMTS, GPRS). Un module de commande de circulation incluant des buffers avec un contrôleur gérant les datagrammes IP entrant et sortant est inséré au niveau de l interface aérienne afin d assurer un équilibre idéal garantissant les performances requises. Une approche plus générale considère la commande sous contraintes de communication, où la commande s effectue de manière distribuée sur le réseau et où un critère de complexité de l information est défini. Un autre résultat d intérêt majeur est proposé, où la notion appelée anytime capacity est définie pour introduire une nouvelle qualité paramétrique du canal de communication, permettant de prendre en compte la présence de bruit. La richesse de l information peut ainsi intervenir directement dans la synthèse de loi de commande. Pour une QdS garantie, la contrainte de bande passante peut être prise en compte lors de la synthèse du contrôleur dédié au système commandé à travers le réseau. Dans ce cadre, une solution au problème d estimation de l état est proposée, où le concept de séquence récursive finie pour le codeur-estimateur est introduit et la convergence de l algorithme d estimation est proposée. Le problème de stabilisation avec information limitée est abordé, avec l introduction d un critère moins contraignant que celui de la stabilité classique la contenabilité, proche de la stabilité pratique. Un système de communication commandé est contenable si pour toute sphère N centrée sur l origine il existe un environnement ouvert centré sur l origine M et un codage et une loi de commande tels que toute trajectoire partant de M reste dans N pour tout temps. Cette notion diffère de la stabilité classique du fait que M est un sous-ensemble de N. Le résultat proposé permet de relier contenabilité, taux de transfert de données et variation de l état. 3.4.5 Sécurité des réseaux L importance des données de contrôle envoyer aux capteurs et aux actionneurs à travers le réseau nous amène à un aspect important de la sécurité dans le réseau. N importe quel liens de communication réseau et particulièrement le sans-fil peut être 46

3.5. Conclusion susceptible d une interception facilement ; il est extrêmement critique de protéger des données transmisses contre un accès non autorisé ou une modifications de paquet dans le système. Les utilisateurs malveillants peuvent intercepter et modifier les données transmises dans le canal de communication partagé. La sécurité des réseaux inclut les éléments essentiels dans les dispositifs de sécurité d Internet pour protéger le trafic. Ces éléments sont l intégrité, la confidentialité, et l authentification. La sécurité des données et des réseaux est plus concernée dans des applications des systèmes commandés en réseau distribué sensibles de temps. Dans des systèmes sans fil, plusieurs protocoles de sécurité ont été proposés tels que le 802.1x qui port un contrôle d accès avec un protocole extensible d authentification EAP (Extensible Authentication Protocol) est supposé pour les problèmes de sécurité. En plus, en raison de la forte sécurité fournie par le protocole de sécurité d IP (IPsec) dans les réseaux câblés, des solutions ont été proposées utilisant IPsec dans les réseau sans-fil. Cependant, les solutions proposées pour la protection des données et l intégrité des données n ont pas été suffisantes pour être appliquées dans un NCS en temps réel. 3.5 Conclusion Les NCSs sont des systèmes commandés en réseaux. La particularité de ce type des systèmes est l existence d un lien de communication entre les différentes parties du système (le contrôleur, le capteur, le processus et l actionneur). Ce lien de communication pose beaucoup de problématiques telles que la quantification et le codage, congestion et perte de paquet, la bande passante et présence de retard. Dans le prochain chapitre, on va traiter l estimation du retard dans une application en stéréovision. 47

4 Estimation du retard : Application en stéréovision Sommaire 4.1 Introduction............................. 49 4.2 Modèle de la caméra et la géométrie épipolaire........ 49 4.2.1 Modèle de la caméra........................ 49 4.2.2 Géométrie épipolaire........................ 51 4.2.3 Détermination de la matrice fondamentale............ 52 4.3 La rectification............................ 53 4.3.1 La rectification d un système calibré............... 55 4.3.2 La rectification d un système non-calibré............. 57 4.4 La mise en correspondance.................... 58 4.4.1 Les contraintes pour la mise en correspondance......... 59 4.4.2 Approche pour la mise en correspondance............ 62 4.5 Expérimentation........................... 63 4.6 Conclusion.............................. 65 48

4.1. Introduction 4.1 Introduction Le traitement d image consiste à améliorer le contenu d une image pour en extraire de l information : par exemple identifier une séquence de texte (OCR - Optical Character Recognition), éviter un obstacle (robotique), détecter des zones soumises à l érosion (télédétection). En bref traiter une image, c est lui ajouter du sens par un procédé automatique. Pour cela il peut être nécessaire de supprimer les facteurs de bruit, de rehausser les signaux utiles contribuant à une meilleure lisibilité. Nous examinerons donc différentes transformations. Certaines affectent tout (ou partie) des pixels de l image sans qu intervienne la notion de position spatiale des pixels, ce sont des transformations globales. Les opérations entre images permettent de traiter des séries d images relatives à la même scène. La rectification d image est une étape importante en stéréovision car elle autorise un gain de rapidité lors de la recherche de stéréo-correspondants. En effet, après rectification, la recherche se fait le long de droites horizontales communes aux deux images, appelées lignes épipolaires. Pour un point donné d une image, la droite épipolaire correspond au lieu géométrique auquel appartient son stéréo-correspondant dans l autre image. Ainsi, la rectification aligne les lignes épipolaires et les réoriente parallèlement aux lignes des images (i.e à l axe horizontal des caméras rectifiées). L objectif de la rectification est alors de déterminer une paire de transformations projectives, appelées homographies, qui génère deux nouvelles images à partir d images originelles. Dans le cas d images non calibrées, les paramètres des homographies sont estimés à partir de la connaissance de la géométrie épipolaire (description mathématique de la géométrie d un système de stéréovision) afin de maximiser les similitudes entre images d origine et images rectifiées. Cependant, les homographies ne sont pas uniques, le problème est alors de trouver une paire d homographies qui réduise le plus possible les déformations projectives des images rectifiées. Dans ce chapitre, on va traiter l estimation du retard dans la stéréovision où le retard existe lors de la mise en correspondance. En effet, le but de la mise en correspondance est d estimer le retard entre les niveaux de gris des deux lignes épipolaires correspondantes. 4.2 Modèle de la caméra et la géométrie épipolaire Cette section présente un brève rappel mathématique sur des projections de point nécessaires pour la rectification. 4.2.1 Modèle de la caméra Une caméra peut être modélisée par sa centre optique C (optical center) et sa plant rétinal ou plan image R. Un point à trois dimensions M est projeté dans un point d image m indiqué par l intersection de R avec la ligne contenant C et M. La ligne contenant C et orthogonal à R s appelle l axe optique et son intersection avec R est le point principal. La 49

distance entre C et R est la longueur focale (voir la figure 4.1). 4.2. Modèle de la caméra et la géométrie épipolaire Fig. 4.1 Le modèle géométrique d une caméra On pose [x y z] T les coordonnées de point M dans le repère de la mire et [u v] T les coordonnées de m dans le repère d image (repère rétinal) en pixels. La transformation des coordonnées 3-D en coordonnées 2-D est la projection perspective, qui est représentée par une transformation linéaire dans des coordonnées homogènes. On pose m = [u v 1] T M = [x y z 1] T les coordonnées homogènes de m et M respectivement ; ainsi la transformation projective est donnée par la matrice P : m P M (4.1) Où signifie égal avec un facteur proportionnel arbitraire. La caméra est donc modélisée par sa matrice de projection perspective (PPM Perspective Projection Matrix) P, qui peut être décomposée, en utilisant la factorisation QR, en produit : P = A[R T ] (4.2) Où la matrice A dépend des paramètres intrinsèques seulement, et a la forme suivante : α u γ u 0 A = 0 α v v 0 (4.3) 0 0 1 Où α u = f k u et α v = f k v sont les longueurs focales horizontaux et verticaux en pixels respectivement ( f est la longueur focale en millimètres, k u et k v sont le nombre de pixels 50

4.2. Modèle de la caméra et la géométrie épipolaire par millimètre le long des axes u et v), (u 0,v 0 ) sont les coordonnées du point principal, données par l intersection de l axe optique avec le plan image, et γ est un facteur de déviation modélisant les axes non orthogonaux u et v. La position et l orientation de la caméra (paramètres extrinsèques), sont encodées par la matrice de rotation R de dimension 3 3 et le vecteur de translation t, représentant la transformation rigide qui apporte le repère de référence de la caméra sur le repère de référence de la mire. On peut écrire la PPM comme : P = q T 1 q 14 q T 2 q 24 q T 3 q 34 = [Q q] (4.4) Dans des coordonnées cartésiennes, la projection 4.1 peut s écrire comme : u = qt 1 M+q 14 q T 3 M+q 34 v = qt 2 M+q 24 q T 3 M+q 34 (4.5) Le plan focal est le plan parallèle au plan image qui contient le centre optique C. Les coordonnées de C sont données par : Par conséquent P peut être écrite comme : C = Q 1 q (4.6) P = [Q QC] (4.7) Le rayon optique associé à un point d image m est la ligne mc, c est-à-dire l ensemble des points à trois dimensions (M : m P M). Sa équation paramétrique dans des coordonnées cartésiennes est écrite par : M = C + λq 1 m (4.8) Où λ R. 4.2.2 Géométrie épipolaire Avec une caméra, un pixel est l image d un point 3D qui se trouve sur une droite dans l espace. Avec un système stéréoscopique à 2 caméras, Il existe dans ce cas une contrainte forte liant les deux projections d un point de l espace dans les deux images. Comme le montre la figure 4.2, lorsqu un point M de la scène est visible simultanément par les deux caméras, sa projection dans les images nous donne deux points, notés m 1 pour la caméra gauche et m 2 pour la caméra droite. Pour un point m 1, le lieu géométrique où se situe son stéréocorrespondant dans l autre image est une droite appelée droite épipolaire issue de m 2 et notée D E 2. Cette droite est définie par l intersection du plan support du 51

4.2. Modèle de la caméra et la géométrie épipolaire Fig. 4.2 Géométrie épipolaire triangle (C 1,C 2,m 1 ) et du plan support de l image2. Toutes les droites épipolaires dans l image2 (resp.image1) convergent vers un point, qui est l intersection de la droite portant le segment (C 1,C 2 ) et du plan support de l image2 (resp. image1). Ce point est appelé, le centre épipolaire de l image2 CE 2 (resp.image1 CE 1 ) sur des propriétés physiques à conserver dans l image. La droite épipolaire dans l image2 (resp.image1), correspondant au pixel (m 1 = (u 1,v 1,1) T ) de l image1 (resp. (m 2 = (u 2,v 2,1) T ) de l image2), s obtient en résolvant l équation suivante : Pour image1 : m T 2 Fm 1 = 0 (4.9) Pour image2 : m T 1 Fm 2 = 0 (4.10) Où F est la matrice fondamentale qui représente l application, qui au point m 1 de l image1 associe une ligne épipolaire d équation Fm1 (où se situe le stéréo-correspondant m 2 dans la seconde image) [13]. Comment déterminer la matrice fondamentale?, c est le sujet de la prochaine paragraphe. 4.2.3 Détermination de la matrice fondamentale Ce paragraphe rappelle les fondements de la géométrie épipolaire avec le principe de calcul de la matrice fondamentale et de la rectification. En imagerie stéréoscopique, dans l espace projectif, à un point p de la première image est associé une ligne épipolaire dans la seconde image. Tous les points q dans la seconde image appartenant à la ligne épipolaire ont comme correspondant le point p. La matrice fondamentale F représente l application, qui au point p de la première image associe une ligne épipolaire d équation F p (où se situe le stéréo-correspondant q dans la seconde image). A partir de huit paires de stéréo-correspondants, notés (p k,q k ) k, 52

4.3. La rectification il est possible de déterminer la matrice F en résolvant les huit équations de la forme ci-dessous, qui exprime que les points q k appartiennent aux droites F p k : q t k F p k = 0 (4.11) En pratique, nous disposons d un nombre k bien plus grand d appariements et nous résolvons l équation 4.11 au sens des moindres carrés et nous minimisons le critère suivant : min F (q t k F p k) 2 (4.12) k En contexte d appariements bruités, il a été montré que cette méthode souffre de deux défauts : le premier est lié à l absence de contrainte sur le rang de la matrice recherchée et le second porte sur la non normalisation du critère[34]. Des critères non-linéaires ont donc été introduits qui reposent sur la distance d un point à la droite épipolaire de son stéréocorrespondant. Cette distance est calculée de manière symétrique sur les deux images et le critère non-linéaire est de la forme suivante : min F [d(q k,f p k ) 2 + d(p k,f t q k ) 2 )] (4.13) k La distance d d un point m de la seconde image à la droite épipolaire Fm s exprime dans R 2 comme suit : d( m,fm) 2 = mt Fm 2 Fm 2 (4.14) 2 De plus, ce critère peut être également pondéré par le gradient pour prendre en compte l incertitude suivant [34]. Le critère 4.13 s écrit : min F k q T k F p k 2 (F p k ) 2 2 + (FT q k ) 2 2 (4.15) Le critère représente donc le produit de la distance des points de l image gauche aux droites épipolaires associées dans l image droite par la distance des points de l image droite aux droites épipolaires associées dans l image gauche. 4.3 La rectification La méthode de rectification consiste à réorienter les lignes épipolaires pour qu elles soient parallèles avec l axe horizontale de l image comme illustré dans la figure 4.3 (Les images originales sont affichées en (a) et (b). Après rectification, les lignes épipolaires de ces deux images deviennent paralléles). Cette méthode est décrite par une transformation qui projette les épipoles à l infini et dont les points correspondants sont nécessairement sur la même ordonnée (voir la figure 4.4)[37]. Il existe deux types de rectification : la rectification d images avec un système déjà calibré et la rectification d images provenant d un système non calibré. Dans le cas où les 53

4.3. La rectification Fig. 4.3 Exemple d un processus de rectification deux images sont rectifiées, la matrice fondamentale, aussi appelée matrice fondamentale rectifiée, s écrit alors sous la forme suivante [33] : 0 0 0 F r = 0 0 1 (4.16) 0 1 0 D un point de vue purement algébrique, à partir de la connaissance de la matrice fondamentale F et de la matrice fondamentale rectifiée F r, pour rectifier deux images stéréoscopiques, il faut déterminer deux homographies H 1, H 2 telles que : F = H t 1 F rh 2 (4.17) De plus, soit un ensemble de couples de points (m 1,m 2 ) k qui se projettent en un ensemble de points ( m 1, m 2 ) k après rectification, la contrainte épipolaire est alors conservée et elle s écrit : m 1 t k F r m 2k = m 1 t k H t 1 F rh 2 m 2k = m 1 t k Fm 2k = 0 (4.18) 54

4.3. La rectification Fig. 4.4 Opération de rectification A partir de la connaissance de la géométrie épipolaire et donc de la matrice fondamentale, l objectif est de déterminer les homographies H 1 et H 2 satisfaisant l équation 4.18 qui réorientent les projections épipolaires parallèlement aux lignes des images, donc à l axe horizontal des caméras rectifiées. Les paramètres des homographies sont estimés afin de maximiser les similitudes entre images d origine et images rectifiées. Mais, le nombre de degrés de liberté est élevé et les homographies ne sont pas uniques ; le problème est alors de trouver une paire d homographies qui réduisent le plus possible les distorsions des images rectifiées. 4.3.1 La rectification d un système calibré Nous supposons que le système est calibré, c est-à-dire les PPMs P o1 et P o2 sont connus. L idée derrière la rectification est de définir deux nouveau PPMs P n1 et P n2 obtenus par la rotation des images autour de leurs centres optiques jusqu à ce que les plans focaux devienne coplanaires. Ceci s assure que les épipoles sont à l infini, par conséquent les lignes épipolaires sont parallèles. Pour avoir les épipolaires lignes épipolar horizontales. En outre, pour avoir une rectification appropriée, les points conjugués doivent avoir la même coordonnée verticale. Ceci est obtenu en exigeant que les nouveaux caméras ont les mêmes paramètres intrinsèques (c est-à-dire mêmes longueur focal f et les plans images coplanaires). En résumé : les positions (c est-à-dire, centres optiques) du nouveau PPMs sont identiques que les vieux caméras, tandis que la nouvelle orientation (la même pour les deux caméras) diffère de les vieux par des rotations appropriées ; les paramètres intrinsèques sont les mêmes pour les deux caméras. Par conséquent, les deux PPMs en résultant différeront seulement à leurs centres optiques, et ils peuvent être considérées comme une seule caméra traduit par un axe horizontale son système de référence très long. 55

4.3. La rectification On va écrire les nouveaux PPMs en termes de leur factorisation. A partire des équations 4.2 et 4.7 : P n1 = A[R R c1 ]; P n2 = A[R R c2 ] (4.19) La matrice de paramètres intrinsèques A est la même pour des les deux PPMs, et peut être choisie arbitrairement. Les centres optiques c 1 et c 2 sont donnés par les vieux centres optiques, calculés en utilisant l équation 4.6. La matrice R, qui donne la pose de la caméra, est la même pour des les deux PPMs. On le spécifiera au moyen de ses vecteurs lignes : R = r T 1 r T 2 r T 3 (4.20) ce sont les axes des X, des Y, et des Z, respectivement, du plan de référence de caméra, exprimé en coordonnées universelles. Selon les remarques précédentes, nous prenons : 1. Le nouvel axe des X parallèle à la ligne de base (la ligne de base est la ligne c 1 c 2 ) : r 1 = (c 1 c 2 )/ c 1 c 2. 2. Le nouvel axe des Y orthogonal à X (obligatoire) et à k : r 2 = K r 1. 3. Le nouvel axe des Z orthogonal à XY (obligatoire) :r 3 = r 1 r 2. Au point 2, k est un vecteur d unité arbitraire, qui fixe la position du nouvel axe des Y dans le plan orthogonal au X. Nous le prenons égal au vecteur d unité de Z de la vieille matrice gauche, de ce fait le nouvel axe des Y sera orthogonal aux le nouveau axe des X et le vieux axe des Z de caméra gauche. La transformation pour la rectification Pour la rectification, on a besoin de calculer la transformation qui appliquée au plan image de P o1 = [Q o1, q o1 ] pour avoir le plan image de P n1 = [Q n1, q n1 ]. Il est utile de penser à une image comme l intersection du plan image avec le cône des rayons entre les points dans l espace 3D et le centre optique. Nous déplaçons le plan image mais le cône des rayons reste fixe. Nous verrons que la transformation recherchée est linéaire (transformation linéaire du plan projectif) donnée par une matrice 3x3 T 1 = Q n1 Q 1 o1. Le même résultat s applique au plan image. Pour n importe quel point à trois dimensions M nous pouvons écrire : { mo1 P o1 M m n1 P n1 M (4.21) Selon l équation 4.8, les équations des rayons optiques sont les suivantes (puisque la rectification ne déplace pas le centre optique) : { M = c1 + λ o Q 1 o1 m o1 M = c 1 + λ n Q 1 n1 m n1 λ o R λ n R (4.22) 56

par conséquent : 4.3. La rectification m n1 = λq n1 Q 1 o1 m o1 (4.23) Noter que λ absorbe le facteur d échelle arbitraire, par conséquent nous utilisent le =. La transformation de T 1 est alors appliqué à l image gauche initiale pour produire l image rectifiée, comme illustré dans la figure 4.2. Noter que les pixels (positions ont des coordonnées nombre entiers)de l image rectifiée correspondent, généralement à des positions ont des cordonnées nombres non entieres sur le plan images originale. Par conséquent, les niveaux gris de l image rectifiée sont calculés par interpolation bilinéaire. 4.3.2 La rectification d un système non-calibré Nous introduisons ici la méthode de rectification déjà proposée dans [20]. Dans cette méthode, on va déterminer tout d abord deux homographies compatibles particulières H 1 et H 2. L objectif est de résoudre l équation : (H 1 m 1k ) t F r H 2 m 2k = 0 (4.24) La partie gauche de l équation 4.24 représente l erreur algébrique, c est-à-dire, il n a aucune signification géométrique, ainsi nous avons utilisé à la place l erreur de Sampson, qui est une première approximation de l erreur géométrique de reprojection. La matrice F = H T 1 F rh 2 peut être considéré comme la matrice fondamentale entre les images originales, donc, dans notre cas, l erreur de Sampson pour la k ime correspondance est définie comme : E k S = ( m 1 t k F m 2k ) 2 [u 3 ]F m 2k 2 + m 1k F[u 3 ] 2 (4.25) Où u 3 = (0,0,1) Comme cette équation doit être valide pour n importe quel k, on obtient un système des équations non linéaires E k S = 0 dont les inconnues sont H 1 et H 2. pour trouver les deux homographies H 1 et H 2, l équation 4.25 peut être alors résolue au sens des moindres carrés avec l algorithme de Levenberg-Marquardt. Nous forçons les homographies de rectification d avoir la même structure que dans le cas calibré (euclidien), c est-à-dire, pour être des homographies induits par le plan à l infini, à savoir H 1 = A n1 R 1 A T o1;h 2 = A n2 R 2 A T o2 (4.26) Les vieux paramètres intrinsèques (A o1,a o2 ) et les matrices de rotation (R 1,R 2 ) sont inconnus, tandis que les nouveaux paramètres intrinsèques (A n1,a n2 ) peuvent être prennes arbitrairement, à condition que la longueur focale verticale et la coordonnée verticale du point principal soient identiques. En effet, il est facile de vérifier que la matrice A 1 n1 [u 1]A n2 est égale à [u 1 ] (avec u 1 = (1,0,0)), à condition que la deuxième et troisième ligne de A n1 et A n2 sont identiques. Par conséquent il n est pas nécessaire d inclure les matrices A n1 et 57

4.4. La mise en correspondance A n2 dans la paramétrisation. Chaque homographie dépend en principe de cinq (intrinsèque) plus trois (rotation) paramètres inconnus. Cependant, on peut éliminer la rotation d une caméra autour de son axe des X. Considérons la matrice : F = A 1 o1 RT 1 [u 1 ]R 2 A 1 o2 (4.27) On pose R 1 et R 2 les mêmes matrices que R 1 et R 2 après prémultiplication avec une matrice arbitraire (mais la même matrice pour tous les deux) de rotation autour de l axe des X. l est facile de vérifier que R T 1 [u 1]R 2 = Ŕ T 1 [u 1] R 2. géométriquement, ceci coïncident avec la rotation d une paire rectifiée autour de la ligne de base, qui ne modifie pas la rectification, mais, dans une vrai caméra, elle affecte la partie de la scène. En conséquence, nous avons remis à zéro la rotation autour de l axe des X de la caméra gauche. Nous réduisons plus le nombre de paramètres en faisant des nouvelles suppositions sur les vieux paramètres intrinsèques : aucun biais, point principal au centre de l image, rapport hauteur/largeur égal à un. Les seuls inconnus restants sont les longueurs focales des deux caméras. Supposant qu ils sont identiques et égaux à α, nous obtenons : A o1 = A n1 = α 0 w/2 0 α h/2 0 0 1 Où w et h sont la largeur et la hauteur (en Pixel) de l image. (4.28) En résumé, les deux homographies sont caractérisées par les six inconnus : cinq angles et la longueur focale α.on peut prendre la longueur focale varie dans l intervalle [1/3(W + h),3(w + h)], ainsi nous considérons la variable ά = log 3 (a/(w + h)) qui varie dans l intervalle [ 1, 1]. En conclusion, les homographies de rectification sont calculés avec l équation 4.26. Les nouveaux paramètres intrinsèques (A n1 et A n2 ) sont prennes égal à le vieux : A n1 = A n2 = A 01, modulo un décalage du point principal, qui pourrait il nécessaire pour centrer les images rectifiées dans le plan usuelle de coordonnée d image. La traduction horizontale n a aucun effet sur la rectification, tandis que la traduction verticale doit être la même pour les deux images. 4.4 La mise en correspondance Un des objectifs de la vision par ordinateur est de reconstruire la structure tridimensionnelle (3D) de l espace à partir d une ou plusieurs images. La vision stéréoscopique utilise deux images prises avec deux caméras. Connaissant le modèle de projection de chaque caméra et la relation spatiale entre les deux caméras, il s agit de calculer les coordonnées 3D d un point à partir de ses deux projections dans les deux images. 58

4.4. La mise en correspondance Le problème d appariement ou de mise en correspondance consiste à trouver un ensemble de couples ou de paires, chaque couple étant formé d un point d une image apparié avec un point de l autre image. Ce problème a une nature combinatoire et la seule façon de réduire cette combinatoire est de définir une mesure de ressemblance entre un point d une image et un point de l autre image et de mettre en oeuvre des contraintes qui ont trait à la géométrie du capteur stéréoscopique et à la structure de la scène et des objets observés. 4.4.1 Les contraintes pour la mise en correspondance Les contraintes pour la mise en correspondance sont les critères à mettre en ouvre pour décider qu une paire de primitives gauche/droite est correcte ou pas? Il y a deux types de contraintes. Un premier type de contraintes nous permettra de valider un appariement primitive gauche/primitive droite. Il s agira des contraintes épipolaire et d orientation. Un deuxième type de contraintes nous permettra de valider la compatibilité entre deux appariements satisfaisant le premier type de contraintes. Il s agit des contraintes d ordre, d unicité, et de continuité figurale. La contrainte épipolaire La contrainte épipolaire est une contrainte géométrique intrinsèque au capteur stéréoscopique. La contrainte épipolaire peut s appliquer aux points et aux segments de droite. Soit P un point de la scène et soient p et ṕ ses projections dans les deux images. Comment se déplace ṕ le long de la ligne épipolaire lorsque C se trouve plus ou moins loin du capteur? Puisque le point p est fixe, P se déplace le long de la droite de vue passant par C et p, (figure 4.5). Lorsque le point C se trouve près du capteur tout en restant visible dans les deux images, il se projette en á. Lorsque CF se trouve très loin du capteur, il se projette en q défini tel que la droite Ć q soit parallèle à la droite Cp. Une analyse de la figure 4.5. révèle que les points de l image de gauche voisins du point a ont intrinsèquement moins de correspondants que les points de l image de gauche près du point b. Bien sur, l analyse gauche/droite que nous venons de faire est valide dans le cas droite/gauche. La contrainte épipolaire s applique facilement à des segments de droite. Il suffit pour cela de construire les droites épipolaires correspondant aux deux extrémités du segment. La contrainte d orientation Pour les primitives images auxquelles on s intéresse plus particulièrement (des points de contours et des segments de droite), il y a, en plus de l information de position dans l image, une information relative à son orientation par rapport au repère de l image. Il s agit de l angle entre le vecteur directeur associé à cette primitive (dans le cas des points 59

4.4. La mise en correspondance Fig. 4.5 Une vue d un plan épipolaire : le point ṕ est contraint d appartenir au segment á q de contour il s agit de la tangente au contour en ce point) et un des axes du repère de l image. La valeur de cet angle peut être définie à 2Π près en orientant le vecteur directeur par rapport aux valeurs moyennes des niveaux de gris de part et d autre du contour. Soit Fig. 4.6 La géométrie de la projection d un vecteur dans les images maintenant une primitive spatiale définie dans le repère de gauche par sa position (X, Y et Z) et son orientation donnée par son vecteur directeur V = (V x,v y,v z ) T. La projection de cette primitive (point et vecteur) dans une image donne naissance à un point p et un vecteur y = (v x,v y,0). On peut remarquer que le centre de projection C forme avec le point P et le vecteur V un plan, qu on appellera plan d interprétation. Le vecteur v est l intersection de ce plan avec le plan image (la figure 4.6). 60

4.4. La mise en correspondance La contrainte d ordre Nous allons nous intéresser à des primitives points. Soit P 1 un point et soient p 1 et ṕ 2 ses projections dans les deux images. Les directions de projection de ce point partitionnent le plan épipolaire en deux régions, une région (hachurée) intérieure et une région extérieure, la figure 4.7. Soient P 2 et P 3 deux points de l espace et soient p 2, p 3 et ṕ 2, ṕ 3 leurs projections respectives dans l image de gauche et de droite. Le point P 2 se trouve dans la région intérieure alors que le point P 3 se trouve dans la région extérieure. Regardons l ordre de projection de ces points dans les deux images (la figure 4.7). Dans l image de gauche l ordre est p 3, p 1, p 2. dans l image de droite l ordre est ṕ 3,ṕ 2, ṕ 1. Fig. 4.7 La contrainte d ordre Si on prend P 1 comme référence, les projections de P 3 apparaissent dans le même ordre dans les deux images alors que l ordre de projection de P 2 est inversé. La contrainte d unicité Considérons maintenant un cas limite de la contrainte d ordre. Ce cas est illustré par la figure 4.8. Le point P 2 se trouve sur la frontière des régions extérieure et intérieure du point P 1. Les deux points se projettent en un même point dans l image de gauche et en deux points différents dans l image de droite. Si on désigne par p la projection commune de P 1 et de P 2 dans l image de gauche et par ṕ 1 et ṕ 2 leurs projections dans l image de droite on doit avoir en même temps les appariements (p, ṕ 1 ) et (p, ṕ 2 ). Accepter que ces deux appariements soient compatibles revient à augmenter la difficulté de la mise en correspondance car, à l exception de l alignement 61

4.4. La mise en correspondance Fig. 4.8 La contrainte d unicité décrit plus haut, un point d une image devrait avoir un et un seul correspondant dans l autre image. En pratique nous verrons au paragraphe suivant que la contrainte d unicité peut, comme la contrainte d ordre, être exprimée analytiquement dans le cadre de la limite du gradient de disparité. La contrainte de continuité figurale La contrainte de continuité figurale est une contrainte simple et efficace lorsque les points à mettre en correspondance se trouvent le long de contours. La figure 4.9 montre deux images et des points le long de contours appartenant à ces images. Les lignes épipolaires sont également représentées sur cette figure. Les points appartenant à un contour de l image de gauche ont été mis en correspondance avec des points de l image de droite n appartenant pas nécessairement au même contour. Ce type d erreur peut être facilement corrigé en imposant aux points de l image de droite d appartenir au contour possédant déjà une majorité de points qui ont été mis en correspondance avec les points d un contour de l image de gauche. 4.4.2 Approche pour la mise en correspondance L approche présentée dans [28, 29] pour résoudre le problème de reconstruction de scène est de généraliser quelques techniques développées récemment qui donnent des résultats forts pour la mise en correspondance. Il est bien connu que le stéréo, comme beaucoup de problèmes dans la vision, puisse être d une manière élégante considéré comme un problème de minimisation d énergie. Le problème de minimisation d énergie a été traditionnellement résolu par l intermédiaire du recuit simulé, qui est extrêmement lent dans la pratique. L énergie que nous réduisons au minimum a trois propriétés importantes : 1. Elle traite les images d entrée symétriquement. 2. Elle manipule la visibilité correctement. 62

4.5. Expérimentation Fig. 4.9 La contrainte de continuité figurale 3. Elle impose la douceur spatiale tout en préservant des discontinuités. Dans les dernières années, des algorithmes fortes pour la minimisation d énergie ont été développés basés sur la coupure des graphes (graph cuts). Ces méthodes sont pratiquement assez rapide, et donnent des résultats expérimentaux tout à fait prometteurs pour le stéréo. À la différence du recuit simulé, des méthodes de la cupure des graphes ne peuvent pas être appliquées à une fonction arbitraire d énergie ; au lieu de cela, pour que chaque fonction d énergie soit réduite au minimum, une construction soigneuse de graphe doit être développée. Tandis que la minimisation d énergie a été employée couramment pour le stéréo, et quelques papiers ont l utilisé pour la reconstruction de scène. Le formalisme de minimisation d énergie a plusieurs avantages. Il permet à un cahier des charges propre du problème d être résolu, par opposition à l algorithme employé pour le résoudre. En outre, la minimisation d énergie permet naturellement l utilisation des contraintes douces, telles que la cohérence spatiale. Dans un cadre de minimisation d énergie, il est possible de causer des ambiguïtés qui peuvent être résolues en quelque sorte. En conclusion, la minimisation d énergie évite d être emprisonné par des premières décisions dures. 4.5 Expérimentation Pour cette expérimentation, on a utilisé une paire d images stéréo de la figure 4.10 (la taille de chaque image est 768 576). Cette paire d images est déjà calibrée et la matrice de projection perspective est donnée par : 63

4.5. Expérimentation Fig. 4.10 Images originaux Caméra gauche P o1 = Caméra droite P o2 = 9.765 10 2 5.382 10 2.398 10 2 3.875 10 5 9.849 10 9.333 10 2 1.574 10 2 2.428 10 5 5.790 10 1 1.108 10 1 8.077 10 1 1.118 10 3 9.767 10 2 5.376 10 2.400 10 2 4.003 10 4 9.868 10 9.310 10 2 1.567 10 2 2.517 10 5 5.766 10 1 1.141 10 1 8.089 10 1 1.174 10 3 (4.29) (4.30) La figure 4.11 représente la paire image de la figure 4.10 après un rectification calibrée. La même paire d images, on a fait une rectification sans l utilisation du matrice de projection perspective, c est-à-dire non calibrée. La figure 4.12 représente le résultat de telle rectification. Ensuite, les résultats de la rectification vont être mises en correspondance pour la reconstruction de la structure tridimensionnelle (3D) de l espace. La figure 4.13 représente le résultat de matching des deux paires d images rectifiée. L image (a) (à gauce) de la figure représente la reconstruction de la scéne 3D à partir d une paire d images rectifiées non-calibrée (de la figure 4.12) et l image (b) à (droite) de la figure représente la reconstruction de la scéne 3D à partir d une paire d images rectifiées calibrée (de la figure 4.11). 64

4.6. Conclusion Fig. 4.11 Images après rectification calibrée 4.6 Conclusion Fig. 4.12 Images après rectification non-calibrée On a donné dans ce chapitre un exemple d une application pour l estimation de retard. La stéréovision binoculaire qui permet la construction de la scène tridimensionnelle par vision. La notion de retard est intervenue dans la dernière étape c est-à-dire la mise en correspondance. Le modèle d un capteur qui comporte deux caméras ou capteur stéréoscopique permet de faciliter la tâche de mise en correspondance. Le problème d appariement ou de 65

4.6. Conclusion Fig. 4.13 Résultats de la mise en correspondance mise en correspondance consiste à trouver un ensemble de couples ou de paires, chaque couple étant formé d un point d une image apparié avec un point de l autre image. On peut considérer le problème de la mise en correspondance d une paire d images comme étant un problème d estimation du retard entre chaque pixel de première image et son correspondant dans l autre image. On a traité les deux types de le rectification : calibrée et non-calibrée et la mise en correspondance des paires d images déjà rectifiées. En suite, une expérimentation a été faite pour les deux types de rectification et la mise en correspondance. Dans le prochain chapitre, On va étudier une classe de systèmes non-linéaires en temps discret avec retard dont le but est la stabilisation et l observation. 66

5 Commande et observation d un système non-linéaire en temps discret avec retard Sommaire 5.1 Introduction............................. 68 5.2 Formulation du problème...................... 69 5.2.1 Stabilité de la dynamique libre.................. 69 5.3 Stabilisation par retour d état bornée.............. 71 5.4 Synthèse de l observateur..................... 74 5.5 Exemple d illustration........................ 77 5.6 Conclusion.............................. 81 67

5.1. Introduction 5.1 Introduction Dans ce chapitre, on va étudier une classe de systèmes non-linéaires en temps discret avec retard où on va présenter une loi de commande par retour d état et un observateur pour cette classe de systèmes. On va démontrer par la suite, la stabilisation en utilisant la loi de Lyapunov-Krasovskii. Les phénomènes de retard apparaissent naturellement dans la modélisation de nombreux processus physiques. La biologie, l écologie, les sciences de l ingénieur ou les télécommunications sont des domaines où interviennent des équations différentielles dont l évolution dépend non seulement de la valeur de leurs variables à l instant t, mais aussi d une partie de leur histoire, c est-à-dire des valeurs à un instant `t < t. Les systèmes avec retard (appelés également systèmes avec mémoire) représentent une classe des systèmes à dimension infinie [6](systèmes à temps continus) qui sont largement utilisés, pour décrire les phénomènes de transport et de propagation, ainsi que les dynamiques des populations (reproduction, développement ou extinction) [30, 35]. Des systèmes concrets dans lesquels apparaissent les retards d une manière naturelle sont les systèmes économiques. Dans ce genre de systèmes, les décisions et leurs effets sont séparés par des intervalles de temps, plus ou moins longs. On peut également citer les systèmes de communication où la transmission de données est toujours accompagnée par un intervalle de temps non nul entre l envoi et la réception d un message ou d un signal. Indépendamment de la représentation des systèmes, le problème des effets du retard sur la stabilité (de la boucle fermée) des systèmes (linéaires) qui incluent les retards dans l état et/ou dans la sortie est un problème d un grand intérêt. En effet, la présence du retard peut induire un comportement complexe (des oscillations, une instabilité, de mauvaises performances) sur le système (en boucle fermée) [24, 27] : les petits retards peuvent déstabiliser certains systèmes [24]. Deux principaux objectifs ont été le but de plusieurs études concernant les systèmes à retard : 1. Le premier est de comprendre comment ce retard peut détériorer le comportement du système. 2. Le deuxième étant de commander ses effets (du retard sur le système) pour améliorer les performances du système en boucle fermée ou en boucle ouverte. Dans cette étude, nous nous intéresserons au second objectif, qui est la commande et l observation des systèmes non-linéaires à temps discret avec retard. La littérature dédiée à l analyse, l observation et la commande des systèmes avec retard a été particulièrement abondante durant ces deux dernières décennies [36, 17, 19, 32, 45, 49, 7, 14]. La première raison de cet intérêt est, qu en plus des différents domaines cités précédemment dans lesquels intervient le retard, il est également très présent dans les industries 68

5.2. Formulation du problème chimiques, pneumatiques, hydrauliques et automobiles, dans les robots manipulateurs à axes flexibles et dans la commande des satellites. La seconde raison essentielle est les phénomènes d instabilité générés par l introduction du retard dans les systèmes dynamiques. Comme la plupart des systèmes physiques évolue naturellement en continu, il n est pas surprenant que la majorité des travaux cités jusqu ici ait été développée pour des systèmes continus. Une attention moindre a été accordée aux systèmes discrets. Moindre encore est l attention accordée aux systèmes non-linéaires en temps discret. Le problème de stabilisation d une classe de systèmes avec retard non-linéaires en temps discret, est le premier point abordé au cours de ce chapitre. 5.2 Formulation du problème Soit le système avec retard en temps discret suivant : x k+1 = Ax k + A d x k h + g(x k )u k (5.1) y k = Cx k (5.2) où x k R n, u k R m et y k R q représentent respectivement les vecteurs d état, d entrée et de sortie à l instant k. A, A d et C sont des matrices constantes avec les dimensions appropriées. g(x k ) est une fonction non-linéaire avec les dimensions appropriées et h un nombre positif représentant le retard. Afin de simplifier les notations, nous remplaçons, par la suite, g(x k ) par g k. 5.2.1 Stabilité de la dynamique libre On définit les dynamiques libres par : x k+1 = Ax k + A d x k h (5.3) Lemme 1. Une condition suffisante pour que 5.3 soit stable au sens de Lyapunov est qu il existe une matrice P (n n) définie positive et une matrice Q (n n) semi définie positive, telles que l hypothèse suivante est vérifiée : [ P A H1) T PA Q A T ] PA d A T d PA M 0 (5.4) où M = Q A T d PA d > 0 69

5.2. Formulation du problème Démonstration 1. Considérons le système 5.3, avec la fonction de Lyapunov-Krasovskii suivante : V k = x T k Px k + k 1 i=k h x T i Qx i (5.5) Notons que, puisque P est définie positive et que Q est semi définie positive, V k est par conséquent définie positive. Nous considérons la différence de la fonction de Lyapunov-Krasovskii 5.5, le long de la trajectoire de 5.3, c est-à-dire : ou d une manière équivalente : V k = V (x k+1 ) V (x k ) (5.6) alors, V k = V k+1 V k = x T k+1 Px k+1+ k i=k+1 h xi T Qx i xk T k 1 Px k xi T Qx i (5.7) i=k h V k = x T k+1 Px k+1 + x T k Qx k x T k Px k x T k h Qx k h = (Ax k + A d x k h ) T P(Ax k + A d x k h ) + x T k Qx k x T k Px k x T k h Qx k h (5.8) qui est aussi égale à : V k = x T k [AT PA P + Q]x k + 2x T k AT PA d x k h x T k h [Q AT d PA d]x k h (5.9) Soit M = Q A T d PA d. En ajoutant et en retranchant x T k AT PA d M 1 A T d PAx k, à l équation 5.9, nous obtenons après de simples regroupements : V k = xk T [AT PA P + Q + A T PA d M 1 A T d PA]x k [M 1/2 A T d PAx k M 1/2 x k h ] T [M 1/2 A T d PAx k M 1/2 x k h ] (5.10) Une condition suffisante pour que V (x k+1 ) V (x k ) 0 (5.11) 70

5.3. Stabilisation par retour d état bornée est A T PA P + Q + A T PA d M 1 A T d PA 0 (5.12) ou encore P A T PA Q A T PA d M 1 A T d PA 0 (5.13) qui est équivalente à l hypothèse H1) en utilisant le lemme de Schur. Pour présenter le résultat principal de ce chapitre, nous définissons les ensembles suivants : Ω = {x k R n : xk T ( A T PA P + Q +A T PA d M 1 A T d PA) x k = 0, k = 0,1,...} S1={x k R n : g T (x k )PAx k = 0, k = 0,1,...} S2={x k,x k h R n : A T d PAx k (Q A T d PA d)x k h = 0, k = h,h + 1,...} 5.3 Stabilisation par retour d état bornée Nous pouvons dès lors présenter le théorème suivant : Théorème 2. Nous supposons que le système 5.3 est stable au sens de Lyapunov, c està-dire, qu il existe une matrice P (n n) définie positive et une matrice Q (n n) semi définie positive, telles que l hypothèse H1) soit vérifiée. Si Ω S1 S2 = {0}, alors le système non-linéaire avec retard en temps discret 5.1 est globalement asymptotiquement stabilisable par le retour d état borné : u(x k ) = Kx k = α [ I+ g(x k ) T Pg(x k ) ] 1 g(x k ) T PAx k 1+ g(x k ) T PAx k (pour un 0 < α < 1) (5.14) Démonstration 2. Pour démontrer le théorème, nous allons choisir la même fonction de Lyapunov-Krasovskii que celle utilisée dans la démonstration précédente, c est-à-dire : V k = x T k Px k + k 1 i=k h x T i Qx i (5.15) En calculant la différence de cette fonction le long de la trajectoire de la boucle fermée (5.1)-(5.14) et en utilisant les mêmes développements que dans la démonstration précédente, nous obtenons : 71

5.3. Stabilisation par retour d état bornée V k = x T k [AT PA P + Q + à T PA d M 1 A T d PÃ]x k + 2u T k gt k PAx k + u T k [I + gt k Pg k]u k u T k u k [M 1/2 A T d PÃx k M 1/2 x k h ] T [M 1/2 A T d PÃx k M 1/2 x k h ] (5.16) où M = Q A T d PA d et à = A + g k K En utilisant le retour d état 5.14, V k devient : V k = xk T [AT PA P + Q + à T PA d M 1 A T d PÃ]x k α 2 1 + g T k PAx k xt k AT Pg k [I + g T k Pg k] 1 g T k PAx k ( ) α 2 + 1 + g T k PAx xk T k Pg k [I + g T k Pg k] 1 g T k PAx k u T k u k [M 1/2 A T d PÃx k M 1/2 x k h ] T [M 1/2 A T d PÃx k M 1/2 x k h ] (5.17) Puisque 0 < α < 1, alors V k x T k [AT PA P + Q + à T PA d M 1 A T d PÃ]x k 0 (5.18) Une condition suffisante pour avoir V k 0 est : Calculons maintenant Ã. A T PA P + Q + à T PA d M 1 A T d Pà 0 (5.19) à = A + g k K α à = A 1 + g T k PAx k g k[i + g T k Pg k] 1 g T k PA ( ) α à = I 1 + g T k PAx k g k[i + g T k Pg k] 1 g T k P A ) à = P (P 1 α 1 + g T k PAx k Pg k[i+g T k Pg k] 1 g T k P A Posons γ = α 1 + g T k PAx k, alors : à = P 1 ( P γpg k [I + g T k Pg k] 1 g T k P) A. 72

5.3. Stabilisation par retour d état bornée Par conséquent : A T PA P + Q + Ã T PA d M 1 A T d PÃ = AT PA P + Q + A T ( P γpg k [I + g T k Pg k] 1 g T k P) A d M 1 A T ( d P γpgk [I + g T k Pg k] 1 g T k P) A (5.20) alors Puisque P γpg k [I + g T k Pg k] 1 g T k P P A T PA P + Q + Ã T PA d M 1 A T d PÃ AT PA P + Q + A T PA d M 1 A T d PA (5.21) Donc, si l hypothèse H1) est vérifiée alors : V k = V k+1 V k 0 Ce qui prouve que le système en boucle fermée (5.1)-(5.14) est stable au sens de Lyapunov. Afin de montrer la stabilité asymptotique de l origine, il suffit de montrer que le plus grand sous ensemble où V k = 0, invariant sous les dynamiques de la boucle fermée, est {0}. Posons V k = 0, il s ensuit à partir de 5.17 que : x T k [AT PA P + Q + Ã T PA d M 1 A T d PÃ]x k = 0 (5.22) g T (x k )PAx k = 0 (5.23) M 1/2 A T d PÃx k M 1/2 x k h = 0 (5.24) u(x k ) = 0 (5.25) En utilisant 5.25, les équations 5.22, 5.23 et 5.24 deviennent : x T k [AT PA P + Q + A T PA d M 1 A T d PA]x k = 0 (5.26) g T (x k )PAx k = 0 (5.27) A T d PAx k (Q A T d PA d)x k h = 0 (5.28) Donc, nous pouvons déduire à partir de l hypothèse Ω S1 S2 = {0} 73

5.4. Synthèse de l observateur que : implique que V (x k ) = 0, pour k = 0,1,... x k 0 Puisque toutes les conditions du principe d invariance de LaSalle sont vérifiées, nous pouvons conclure que la stabilité asymptotique est prouvée. Par conséquent, l origine est un point d équilibre asymptotiquement stable du système en boucle fermée (5.1)-(5.14) puisque V (x k ) quand x k (V (x k ) est une fonction propre). 5.4 Synthèse de l observateur Dans cette section, une méthode simple de génération d un observateur, sans augmentation d état, pour une classe de systèmes non-linéaires avec retard en temps discret est présentée. Théorème 3. Supposons que la fonction g(x k ) est globalement Lipschitzienne sur R n n avec la constante de Lipschitz β, c est-à-dire que g(x 1 k ) g(x2 k ) β x1 k x2 k S il existe une matrice S (n n) définie positive, une matrice F (n n) définie nonnégative et une matrice R telles que la LMI suivante soit vérifiée : S A T SA F I n +A T RC+C T R T A A T SA d C T R T A d C T R T H2) A T d SA AT d RC N 0 >0 RC 0 S où alors l observateur suivant : N = F 2A T d SA d > 0 ξ k+1 = Aξ k + A d ξ k h + g(ξ k )u k + L(y k Cξ k ) (5.29) où u k est définie dans 5.14 et L = S 1 R, est un observateur asymptotique pour le système (5.1)-(5.2). Démonstration 3 : Soit e k = x k ξ k (5.30) 74

5.4. Synthèse de l observateur par conséquent e k+1 = (A LC)e k + A d e k h + [g(x k ) g(ξ k )]u k (5.31) Soit aussi  = A LC. La fonction de Lyapunov-Krasovskii est donnée alors par : Nous avons donc : ou de manière équivalente W k = e T k Se k + k 1 i=k h e T i Fe i (5.32) W k = W k+1 W k = e k+1 Se k+1 +e k Fe k e T k Se k e k h Fe k h (5.33) W k = e T [ÂT k S S + F ] e k + e k h [A T d SA d F]e k h + u T k φ T Sφu k + e T k ÂT Sφu k +u T k φ T SÂe k + e T k ÂT SA d e k h + e T k h AT d SÂe k + e T k h AT d Sφu k +u T k φst A d e k h (5.34) où φ = g(x k ) g(ξ k ), alors : W k = e T [ÂT k S S + F ] e k + u T k φ T Sφu k + 2e T k ÂT Sφu k e k h M1e k h +2e T k ÂT SA d e k h + 2u T k φ T SA d e k h (5.35) avec M1 = F A T d SA d. Puisque 2z T Dy z T Dz + y T Dy, nous avons : W k e T k S S + F ] e k + u T k φ T Sφu k + 2e T k ÂT Sφu k e k h M1e k h +2e T k ÂT SA d e k h + u T k φ T Sφu k + e T k h AT d SA de k h (5.36) donc : W k e T k S S + F ] e k + u T k (φ T Sφ + φ T Sφ)u k +2e T k ÂT Sφu k e k h (M1 A T d SA d)e k h + 2e T k ÂT SA d e k h (5.37) ou encore W k e T k S S + F ] e k + 2u T k φ T Sφu k + 2e T k ÂT Sφu k e k h Ne k h + 2e T k ÂT SA d e k h (5.38) avec N = M1 A T d SA d = F 2A T d SA d. 75

5.4. Synthèse de l observateur En ajoutant et en retranchant le terme nous obtenons : e T k ÂT SA d N 1 A T d SÂe k W k e T [ÂT k SÂ S + F + Â T SA d N 1 A T d SÂ] e k + 2u T k φ T Sφu k + 2e T k ÂT Sφu k [N 1/2 A T d SÂe k N 1/2 e k h ] T [N 1/2 A T d SÂe k N 1/2 e k h ] (5.39) Ceci implique aussi que : W k e T [ÂT k SÂ S + F + Â T SA d N 1 A T d SÂ] e k + 2u T k φ T Sφu k + 2e T k ÂT Sφu k (5.40) En utilisant l hypothèse H2), nous obtenons : W k e T k e k + 2u T k φ T Sφu k + 2e T k ÂT Sφu k (5.41) ou encore W k < e T k e k + 2u T k [g(x k) g(ξ k )] T S[g(x k ) g(ξ k )]u k + 2e T k ÂT S[g(x k ) g(ξ k )]u k (5.42) A partir de la condition de Lipschitz de la fonction g(.) et de la bornitude de la commande u k ( u k < α), nous pouvons déduire que : W k < e k 2 (1 2β 2 α 2 S 2βα (A LC)S ) (5.43) où β est la constante de Lipschitz associée à la fonction g(.). Il est alors, évident que nous pouvons choisir α > 0 suffisamment petit tel que pour un 0 < θ < 1 : W k = W k+1 W k < θe T k Se k (5.44) Par conséquent la stabilité asymptotique globale du système 5.31 est prouvée. Remarque : La condition Ω S1 S2 = {0} apparaît comme une condition de commandabilité au sens du rang dans la stabilisation des systèmes non-linéaires avec retard. Pour les systèmes standard, cette propriété est prouvée en utilisant la théorie de la passivité [8][9]. 76

5.5. Exemple d illustration 5.5 Exemple d illustration Cette section est consacrée à tester les résultats théoriquement obtenus par simulation. Donc, la loi de commande et l observateur proposés sont appliqués à un exemple intéressant, afin d illustrer les bonnes performances des deux approches. Nous pourrons ainsi constater qu il y a stabilisation de l état et convergence asymptotique de l erreur d observation vers 0. Dans une première étape, on a définit le système non-linéaires avec retard en temps discret (5.1)-(5.2) avec les matrices suivantes : [ ] [ ] 0.73624 0.0452 0.2456 0.0151 A =, A 0.0915 0.4462 d = 0.0305 0.1487 ( ) g1 (x g(x k ) = k ) g 2 (x k ) et où g 1 (x k ) = x 1 (k) x 2 (k) 1 + x1 2(k)x2 2 (k) et g 2 (x k ) = 1 + x1 2(k)x2 2 (k) C = [1 0] Les conditions initiales sont : ( ) 2 x 0 = 1.3 et ξ 0 = ( 1 1.6 ) et h = 4. Ensuite, on a appliqué le lemme 1 avec la résolution de la LMI H1), on obtient les résultats suivants : [ ] [ ] 614.0062 48.2905 162.4833 41.6186 P =, Q = 48.2905 456.6416 41.6186 212.3097 avec les valeurs propres de H1) : v. p.(h1) = [0.0000 150.2716 195.9584 257.3000] et l utilisation du théorème 2 ( résolution de H2)), donne les réultats suivants : v. p.(h2) = [13.8094 10.1584 0.1643 5.6384 3.2062 3.4061] [ ] [ ] 10.8280 1.6816 3.2677 0.7105 S =, F = 1.6816 12.6643 0.7105 5.5583 ( ) 0.75 et R = 1.9 77

5.5. Exemple d illustration ce qui permet de calculer le gain de l observateur L : ( ) 0.0945 L = 0.1626 Le calcul de l ensemble [ Ω donne : Ω = {x k R n : xk T 121.2471 29.7144 29.7047 154.0977 Cette équation s écrit aussi : ] x k = 0, k = 0,1,...} autrement : 121.2471x 2 1 59.4191x 1 x 2 + 154.0977x 2 = 0 (x 1 x 2 ) 2 + 1.0405 x 2 1 + 1.5934 x 2 2 = 0 Comme solutions de cette équation, nous avons : [ 0.245 x2 1.100 i x 2 x 2 Donc, la seule solution réelle possible est : x k = 0 Nous pouvons donc conclure, que l unique point d intersection des ensembles Ω, S 1 et S 2 est le point : x k 0 ] Après la simulation, on obtient les résultats présentées sur les figures 5.1-5.6. Les figures 5.1 et 5.2 montrent la convergence des fonctions de Lyapunov V (x k ) et W(x k ) en fonction de k vers le point d équilibre 0. Les figures 5.3 et 5.4 présentent l état réel (x 1 (k) et x 2 (k)) et l état observé (ξ 1 (k) et ξ 2 (k)) en fonction de k. On remarque que x i (k) et ξ i (k) convergent vers le point d équilibre 0. Les figures 5.5 et 5.6 montrent la décroissance de l erreur de l observation (e i (k) = x i (k) ξ i (k) pour i = 1,2) vers le point d équilibre 0. 78

5.5. Exemple d illustration Fig. 5.1 V (x k ) en fonction de k Fig. 5.2 W(e k ) en fonction de k Fig. 5.3 x 1 (k) et ξ 1 (k) en fonction de k 79

5.5. Exemple d illustration Fig. 5.4 x 2 (k) et ξ 2 (k)en fonction de k Fig. 5.5 e 1 (k) en fonction de k Fig. 5.6 e 2 (k) en fonction de k 80

5.6. Conclusion 5.6 Conclusion On a présenté dans ce chapitre une loi de commande d une classe de systèmes nonlinéaires avec retard, basée sur une technique de Jurdjevic-Quinn établies par Lin et Byrnes [9]. Cette commande générée est basée sur un observateur où le retard est supposé constant et symétrique. On a proposé aussi des conditions suffisantes de la stabilité au sens de Lyapunov de la dynamique libre de cette classe de système, sous forme de LMI simples à vérifier. Les approches développées dans ce chapitre sont simples (sans augmentation de l état) et efficaces comme le montre l exemple illustratif. Le prochain chapitre sera consacré à la mise en oeuvre d une plate forme de commande d un système commandé en réseau appliquée à un système de télé-opération. 81

6 Mise en oeuvre d une plate forme de commande d un système en réseau Sommaire 6.1 Introduction............................. 83 6.2 Présentation du système...................... 83 6.2.1 Déroulement du système...................... 85 6.2.2 Conception du gain du contrôleur et de l observateur...... 86 6.2.3 Stabilité globale du système commandé en réseau........ 89 6.2.4 Utilisation du NTP......................... 90 6.3 Le choix du langage utilisé..................... 91 6.3.1 Les S-Functions........................... 92 6.4 Implémentation du système de contrôle............. 93 6.4.1 Structure du maître........................ 93 6.4.2 Structure de l esclave........................ 94 6.4.3 Lien de communication...................... 94 6.4.4 Structure de paquets........................ 95 6.4.5 Blocs Simulink utilisés....................... 95 6.5 Description du logiciel....................... 96 6.6 conclusion............................... 99 82

6.1. Introduction 6.1 Introduction L objectif de toute conception est de produire un outil logiciel pour prouver et confirmer nos déclarations théoriques. En ce qui concerne notre conception une phase d implémentation est nécessaire pour concrétiser les différentes étapes de conception de notre travail. Le but de ce chapitre est la mise en oeuvre d une plate forme pour les systèmes commandés en réseau. Il s agit d une implémentation informatique d un système de type Maître-Esclave communiquant à distance par le moyen d un réseau de type Internet (la figure 6.11). Notre plate forme consiste en une simulation sous Matlab Simulink d un comportement de processus esclave (un robot mobile par exemple) dont on connaît son modèle. Ce processus va être commandé à distance à travers un réseau par le maître. Ce dernier sera aussi simulé en utilisant le même outil. Le problème posé dans ce type de système est la présence du retard qui est à la fois variable, inconnu et non symétriques. Un enjeu principal de la synthèse de commande est ici de pouvoir garantir des performances (stabilité, rapidité, robustesse) malgré les perturbations générées par l utilisation du réseau (retards variables et asymétriques, perte de paquets et échantillonnage). Fig. 6.1 système Maître-Esclave 6.2 Présentation du système Le système est de type Maître-Esclave, donc il est composé de trois éléments : le maître, l esclave et le lient de communication. La figure 6.2 présente la structure plus détaillée du système simulé. On va donner les principes de système avec quelques hypothèses. L esclave est supposé n avoir qu une puissance de calcul limitée et il ne lui est pas possible de calculer sa propre loi de commande. Le maître calcule et lui transmet la commande à appliquer. La transmission ne se fait pas instantanément, les lignes de communication introduisent un délai h 1 (t). De même, l échantillonnage des données génère un retard additionnel τ 1 (t). Le retard résultant est noté δ 1 (t) = h 1 (t) + τ 1 (t). Le modèle de l esclave est un système linéaire commandable et observable, à entrée retardée et dont le modèle 83

6.2. Présentation du système Fig. 6.2 Structure du système Maître-Esclave (A ;B ;C) est connu : { ẋ(t) = Ax(t) + Bu(t δ1 (t)) y(t) = Cx(t) (6.1) L esclave mesure sa sortie y(t) de manière échantillonnée, information que le maître reçoit après un retard h 2 (t). Un autre retard τ 2 (t), induit par l échantillonnage, intervient aussi, ce qui signifie que le maître n a accès qu à l information y(t δ 2 (t)), où δ 2 (t) = h 2 (t) + τ 2 (t) correspond au retard résultant. Dans le maître, un observateur a été implanté ayant pour objectif de calculer une estimation de l état x(t) de l esclave au temps présent, estimation notée ˆx(t). Le maître compose sa loi de commande, de type retour d état, à partir de cette estimation. Les instants d échantillonnage t k ne sont pas forcement périodiques, c est-à-dire qu il n existe pas de période T telle que chaque temps d échantillonnage vèrifie t k = kt. En revanche, nous supposons que la différence entre deux instants d échantillonnage consécutifs est bornée par une valeur connue T, soit : 0 < t k+1 t k T (6.2) Les deux retards δ 1 et δ 2 résultant des transmissions et des effets de l échantillonnage ont une borne maximale connue δ m i = h m i + T, telle que la relation : soit satisfaite et la variation de ce retard est contrainte par : 0 < δ i (t) δ m i (6.3) δ i (t) 1 (6.4) Cette inégalité signifie que les paquets seront pris dans l ordre chronologique de leur emission. Dans un contexte de commande à travers un réseau, cela veut dire que si un paquet de données est perdu, il n est pas ré-émis. Nous utiliserons pour cela le protocole UDP 84

6.2. Présentation du système (User Datagram Protocol). En termes de retards, UDP sera moins pénalisant que TCP. Il faudra par contre que, sous UDP, les paquets soient remis dans l ordre chronologique par le maître et par l esclave, ce qui implique d associer à chaque paquet son instant d émission (par ajout d une datation, ou time stamp). La solution technique proposée est basée sur l utilisation d un protocole de synchronisation NTP (Network Time Protocol). Ce protocole permet aux deux unités de synchroniser leurs horloges internes. Les paquets envoyés par le maître ou par l esclave contiennent plus des commandes et données de capteur, la date de leurs envois. Avec cette méthode, on peut avoir le retard de transmission de chaque paquet. 6.2.1 Déroulement du système Le contrôleur calcule une commande qui sera envoyée et utilisée par l esclave. La commande par retour d état u(t) est calculée à partir de l estimation de l état ˆx délivrée par l observateur, soit : u(t) = K ˆx(t) (6.5) Le k ieme paquet envoyé par le maître contient la valeur de la commande u(t 1,k ) qu il vient juste de calculer, ainsi que la date t 1,k de ce calcul. Ce paquet traverse alors le réseau et est reçu par l esclave à un instant noté t1,k r. Grâce à l utilisation de protocole NTP, ce temps possède la même signification pour l esclave et pour le maître. Ainsi t1,k r t 1,k correspond au retard de transmission et d échantillonnage, connu par l esclave dès qu il a reçu le paquet. La commande, envoyée par le maître à l instant t 1,k, est reçue par l esclave à l instant t1,k r > t 1,k. Elle sera utilisée par le processus esclave seulement à l instant prédéfini, appelé instant cible t1,k cible = t 1,k + h m 1. La durée d attente hm 1 est représentée dans la figure 6.3. Ceci est réalisable puisque le délai de transmission est borné par une valeur connue. De cette manière, le maître connaît la commande u(t 1,k ) effectivement appliquée à l entrée du processus esclave à l instant courant t 1,k. D autre part au niveau de l esclave, on procède de la même manière que la commande : Un paquet de sortie contient la valeur de la variable y(t ) ainsi que l instant t 2,ḱ 2,ḱ, qui représente le k ieme échantillon capté par l esclave. Le maître reçoit ce paquet à l instant t r 2,ḱ. Une fois que le paquet a atteint le maître, celui-ci connaît la valeur du retard tr 2,ḱ t 2,ḱ grâce au système NTP. Pour l observation du processus, l observateur est alors défini comme suit, pour tout t ]t 1,k + h 1m,t 1,k+1 + h 1m [ : { ˆx(t) = A ˆx(t) + Bu(t 1,k ) L[y(t ) ŷ(t 2,ḱ 2,ḱ )] (6.6) ŷ(t) = C ˆx(t) Où t 1,k est le k ieme instant d échantillonnage de cette commande. L indexation ḱ correspond à l instant d échantillonnage t 2,ḱ, le plus récent qu a reçu le maître à l instant t. 85

6.2. Présentation du système Fig. 6.3 Traitement de la commande Dans ce système, deux types de paquets seront transmet : des paquets contient les commandes (envoyer du maître vers l esclave) et des paquets contient les données capturées (de l esclave vers le Maitre). En utilisant le protocole UDP, on ne peut pas garantir que les données seront reçues d une manière ordonnée. Pour cela, on va ajouter dans chaque paquet envoyé un numéro de séquence. Ce numéro est initialisé à zéro au début de la simulation dans les deux parties. Chaque partie (maître et esclave) a son numéro. A chaque fois qu un paquet est envoyé, le numéro de séquence sera incrémenté par 1. Au niveau de récepteur, s il reçoit un paquet avec un numéro de séquence est inférieur à un numéro qui a déjà reçu, ce paquet sera rejeté. 6.2.2 Conception du gain du contrôleur et de l observateur La principale difficulté théorique sera de déterminer un gain K de contrôleur et L un gain de l observateur garantissant la stabilité (exponentielle) des dynamiques de l esclave en dépit de la valeur du retard variable δ i. Les gains K du contrôleur (6.5) et L de l observateur (6.6) doivent être déterminés de façon à garantir un degré de convergence exponentielle α le plus grand possible. La performance de rapidité sera alors assurée malgré la présence des retards et de l échantillonnage. Ce paragraphe propose une condition de stabilité exponentielle. Soit le système linéaire à retards δ i (t) variables et bornés : { ẋ(t) = A0 x(t) + A 1 x(t δ 1 (t)) + Bu(t δ 2 (t)) x(t) = φ(t),t [ h,0] (6.7) δ i (t) = δ i + η i (t), avec η i (t) µ i η i (t) < 1, i 1,2 (6.8) On note que les retards possèdent en général une borne inférieure δ i µ i > 0 non nulle (cas appelé non small delays ). Le théorème suivant utilise une représentation polytopique 86

6.2. Présentation du système dépendant des bornes des retards. Les coefficients qui vont définir les polytopes sont : { β11 = exp α(δ 1 µ 1 ), β 12 = exp α(δ 1+µ 1 ) β 21 = exp α(δ 2 µ 2 ), β 22 = exp α(δ 2+µ 2 ) (6.9) Un retour d état u(t) = Kx(t) conduit au système bouclé suivant : { ˆx(t) = A 0 ˆx(t) + A 1 x(t δ 1 (t)) + BKx(t δ 2 (t)) x(t) = φ(t),t [ h,0] (6.10) Théorème 4 ([46]). Pour un gain matriciel K donné, le système 6.7 est α-stable s il existe des (n n)-matrices < 0 P 1, P 2, P 3, S k, Y k1, Y k2, Z k1, Z k2, Z k3, R k et R kα telles que, pour k = 1,2 qui satisfont aux conditions LMI : [ ] [ ] [ ] [ ] Ψ 1 P T 0 Y β 1i A 1 T P T 0 Y 1 β 2 j BK T2 µ 1 P T 0 µ 2 P T 0 β1ia1 β ji BK Γ i j = S 1 0 0 0 S 2 0 0 < 0 µ 1 R kα 0 µ 2 R kα (i, j) {1,2} 2 (6.11) R k Y k1 Y k2 Z k1 Z k2 Z k3 0, k = 1,2 (6.12) [ P1 0 P = P 2 P 3 ] [ Zk1 Z, Z k = k2 Zk2 T Z k3 ], Y k = [ Y k1 Y k2 ] (6.13) Ψ 1 = P T [ + 2 k=1 ( [ Yk 0 O A 0 + αi n ] + [ Yk 0 ] [ ] T I n O I + n P I n A 0 + αi n I n ] T [ Sk 0 + δ k Z k + 0 δ k R k + 2µ k R kα ] ) (6.14) Conception du gain de l observateur Sachant que la paire (A,C) est observable, il est possible de déterminer un gain L tel que l état x(t) de l observateur (6.6) converge exponentiellement vers l état non retardé x(t) du système. Le théorème qui suit permet d obtenir ce gain L de façon à ce que la convergence soit α-exponentielle et ce, malgré le retard variable sur la sortie. On définit alors l erreur d estimation e(t) = x(t) ˆx(t), et par consequence, la dérivée ė(t) est définie comme : ė(t) = Ae(t) LCe(t δ 2 (t)) (6.15) 87

6.2. Présentation du système Théorème 5 ([46]). On considère l observateur (6.6) et on suppose que, pour des réels positifs α et ε, il existe des (n n)-matrices O < P 1, P, S, Y 1, Y 2, Z 1, Z 2, Z 3, R, R α et une matrice X de dimensions appropriées telles que les conditions LMI (6.16) et (6.17) soient satisfaites pour j = 1,2 : ] ] [ [ β2 Ψ j XC Y 1 XC 2 µ εβ 2 j XC Y 2 β 2 j 2 εxc S 0 µ 2 R α R Y 1 Y 2 Z 1 Z 2 Z 3 < 0 (6.16) 0 (6.17) Où les constantes β 2 j ( j = 1,2) sont définies en (6.9) et la matrice symétrique Ψ 2 est définie par : Ψ 2 = [ Ψ 11 2 Ψ 12 ] 2 Ψ 22 2 Ψ 11 2 = P T (A 0 + αi n ) + (A 0 + αi n ) T P + S + δ 2 Z 1 +Y 1 +Y1 T (6.18) Ψ 12 2 = P 1 P + εp T (A 0 + αi n ) T + δ 2 Z 2 +Ȳ 2 Ψ 22 2 = ε(p + P T ) + δ 2 (Z 3 + R) + 2µ 2 R α Alors, la convergence exponentielle (vers 0 et à taux α) de l erreur (6.15) est assurée grâce au gain : Conception de la loi de commande L = (P T ) 1 X (6.19) Dans cette section, on va déterminer un gain de la loi de commande par retour d état (u(t) = Kx(t)). Pour cela, on s intéresse au système en boucle fermé : ẋ(t) = Ax(t) + BKx(t δ 1 (t)) (6.20) Théorème 6 ([46]). Supposons que, pour des réels positifs α et ε, il existe des (n n)- matrices symétriques définies positives P 1, S, R, R α et des matrices P, Z 1, Z 2, Z 3, Ȳ 1, Ȳ 2, W de dimensions appropriées telles que les conditions suivantes soient satisfaites pour i = 1,2 : ] ] [ β1i BW Ȳ Ψ T [ 1 β1i BW 3 εβ 1i BW Ȳ2 T µ 1 εβ 1i BW S 0 µ 1 R α < 0 (6.21) 88

6.2. Présentation du système R Ȳ 1 Ȳ 2 Z 1 Z 2 0 (6.22) Z 3 Où les constantes β 1i (i = 1,2) sont définies en (6.9) et où, similairement à (refsic), la matrice symétrique Ψ 3 est définie par les blocs : Ψ 11 3 = (A 0 + αi n ) P + P T (A 0 + αi n ) T + S + δ 2 Z 1 +Ȳ 1 +Ȳ1 T (6.23) Ψ 12 3 = P 1 P + ε P T (A 0 + αi n ) T + δ 1 Z 2 +Ȳ 2 Ψ 22 3 = ε( P + P T ) + δ 2 ( Z 3 + R) + 2µ 1 R α Alors, pour tout retard δ 1 (t) de la forme (6.8), la stabilité exponentielle (à taux α) du système (6.20) est assurée grâce au gain : K = W P 1 (6.24) Remarque : La démonstration des théorèmes 4, 5 et 6 est dans [46]. 6.2.3 Stabilité globale du système commandé en réseau La dynamique du système global (maître, esclave, réseau, échantillonnage et observateur), intégrant les gains K, L et les retards δ 1, δ 2, est donnée par : { ẋ(t) = Ax(t) + BK ˆx(t δ1 (t)) (6.25) ė(t) = Ae(t) LCe(t δ 2 (t)) qui se développe sous la forme : { ẋ(t) = Ax(t) + BKx(t δ1 (t)) BKe(t δ 1 (t)) ė(t) = Ae(t) LCe(t δ 2 (t)) (6.26) ou encore, en introduisant la nouvelle variable ē = col{x(t), e(t)} : ē(t) = Ā 0 ē(t) + Ā 1 ē(t δ 1 (t)) + Ā 2 ē(t δ 2 (t)) (6.27) Avec : Ā 0 = [ A 0 0 A ] [ BK BK,Ā 1 = 0 0 ] [ 0 0,Ā 2 = 0 LC ] (6.28) Le Théorème 4 permettra donc l analyse de la stabilité exponentielle du système global. La conception des gains K et L peut, quant à elle, être menée selon le mode opératoire suivant : 1. Étape 1 : Identifier les paramètres h m i, T pour déterminer les caractéristiques de retard global βi m et µ i. 89

6.2. Présentation du système 2. Étape 2 : Appliquer le théorème 5 au système 6.15 pour déterminer le gain de lobservateur L. 3. Étape 3 : Appliquer le théorème 6 au système 6.20 pour déterminer le gain du du retour d état K. 4. Étape 4 : Vérifier la stabilité exponentielle du système global 6.27 en utilisant le théorème 4. Ceci donne le taux α garanti. 6.2.4 Utilisation du NTP Le Protocole d Heure Réseau ou NTP est un protocole qui permet de synchroniser, via un réseau informatique, l horloge locale d ordinateurs sur une référence d heure. Cette section décri les étapes à suivre pour configurer les systèmes d exploitation (dans note cas Windows XP) afin de rendre l horloge des postes à jour. Une station cliente qui a un accès à Internet peut synchronise sur des serveurs de temps publics. Fig. 6.4 Utilisation du NTP Windows XP dispose d un client NTP intégré. Les instructions suivantes décrivent comment le configurer et l activer. Ces opérations doivent être exécutées en tant qu administrateur : Dans une fenêtre d invite de commande (menu démarrer/programmes/accessoires/invite de commande), exécutez : net time /setsntp :ntp-serveur (ntp-serveur : un serveur NTP à acès publique). 90

6.3. Le choix du langage utilisé Ouvrez le gestionnaire des services (menu démarrer/paramètres/panneau de configuration/outils d administration/services). Double-cliquez sur le service Horloge Windows pour ouvrir ses propriétés, Click sur Onglet Temps Internet et renseigne le champ Serveur par un serveur NTP ( ntp.ensma.fr par exemple) et click sur le bouton Mettre à jour (voir la figure 6.4). Onglet Général, dans la case Type de démarrage, replacez Manuel par Automatique. Si l ordinateur est déjà configuré et connecté au réseau, cliquez sur la case Démarrer. Si l opération réussit, la synchronisation d horloge doit être constatable immédiatement. Terminez en validant par OK. Remarque : Le protocole NTP utilise le port UDP 123. le poste client doit avoir accès au port UDP 123 de serveur-ntp. 6.3 Le choix du langage utilisé L application est développé sous Matlab\ simulink [40]. MATLAB dont le nom provient de MATrix LABoratory Né au début des années 80 dans le milieu universitaire, MATLAB est maintenant développé et commercialisé par la société THE MATHWORKS INC. IL est un environnement d évaluation de modèles numériques, il inclut une interface avec le langage C permettant une ouverture sur d autres types de langages. C est un environnement de travail complet, puissant et performant, ouvert et extensible qui permet de remarquables gains de productivité et de créativité. Le langage MATLAB est intuitif et naturel. Bien qu il soit interprété, il permet de résoudre des problèmes de calcul numérique bien plus rapidement que les langages de programmation traditionnels, tels que C, C++ et Fortran. Dans le domaine des systèmes de traitement du signal Matlab est utilisé en conjonction avec l environnement SIMULINK, option venant compléter le noyau MATLAB. Simulink fourni une interface graphique pour la modélisation de systèmes dynamiques sous forme de schémas-blocs. Grâce aux nombreux blocs de base fournis, il est possible de créer des modèles rapidement et clairement, sans écrire une seule ligne de code. A partir des modèles Simulink, des fonctions sophistiquées de simulation et d analyse permettent d obtenir des résultats rapides et précis [5]. Simulink est un logiciel qui permet de modéliser, simuler et analyser des systèmes dynamiques (système dont les sorties et les états évoluent au cours du temps). Il supporte des systèmes linéaires et non linéaires, en temps continu, discret, ou un hybride des deux. Ce logiciel a été produit par la société The MathWorks Inc. C est un outil totalement intégré au noyau de calcul de Matlab qui procure un environnement de modélisation basé sur des schémas-blocs. Il possède aussi un environnement de simulation dynamique, principalement destiné aux systèmes qui peuvent être décrits à l aide d équations différentielles. Simulink possède une interface graphique qui facilite l analyse de systèmes dans le 91

6.3. Le choix du langage utilisé domaine temporel et fréquentiel. Cette approche est en effet facilitée dans le sens où les systèmes ne sont plus décrits par des lignes de codes Matlab mais simplement définis par des schémas-blocs dont tous les éléments sont prédéfinis dans des bibliothèques de blocs élémentaires qu il suffit d assembler. Le système modélisé sous Simulink peut recevoir des données de l espace de travail de Matlab ou y envoyer des données de sortie. L échange de données entre Simulink et l espace de travail Matlab peut se faire à l aide de variables communes ou par l intermédiaire de fichiers MAT (fichier Matlab). Au niveau de modélisation, Simulink met à disposition : - Un éditeur graphique, dans lequel les blocs sont disposés et reliés entre eux avec des fils de connexion ; - Des bibliothèques de blocs paramétrables (Figure 6.5). Fig. 6.5 Interface Simunik 6.3.1 Les S-Functions Une S-Function est formée de deux objets indissociables : un bloc Simulink de type S-Function et un programme. Le bloc Simulink est l objet qui va présenter le système spécifique que l on a voulu ajouter à Simulink. Le programme décrit le comportement dynamique de ce système. Lors d une simulation, Simulink va dialoguer avec le programme 92

6.4. Implémentation du système de contrôle par l intermédiaire du bloc S-Function pour aller chercher les éléments nécessaires à l évaluation de la sortie du bloc S-Function. Les S-Functions emploient une syntaxe d appel spéciale qui permet d interagir avec Simulink. La forme d une S-Function est très générale, elle s adapte facilement aux systèmes continus, discrets ou hybrides. Fig. 6.6 Un bloc de Simulink Pour simplifier la structure du programme décrivant la S-Function et ainsi pouvoir appréhender dans un cadre imposé le plus grand nombre possible de modèles, tout système (qu il soit continu, discret, hybride, monovariables ou multivariables) doit être décrit de façon à entrer dans le cadre suivant : Le bloc S-Function doit être vu comme un vecteur d entrée u et un vecteur de sortie y (voir la figure 6.6 ) et dont les caractéristiques internes sont gouvernées par l évolution de son vecteur d état x = [x c x d ] T. Où x c représente la partie continue du vecteur d état à l instant courant et x d représente la partie discrète du vecteur d état à l instant courant. La sortie à l instant courant est fonction de x, de u et du temps y = f (t,x,u). 6.4 Implémentation du système de contrôle Nous avons choisi d utiliser MATLAB\Simulink pour simuler le système. Pour cela, on a utilisé un poste qui va jouer le rôle du maître et de l esclave et on va simuler le réseau de communication en introduisant le retard (variable, inconnu et borné) et le perte de paquets. Pour l échange des paquets entre les deux parties (maître et esclave), on a utilisé une bibliothèque Instrument control toolbox qui fournie les blocs nécessaires pour l émission et la réception des paquets (dans notre application, on utilise les blocs UDP Send et UDP receive ). Le système est composé de trois éléments : le maître, l esclave et le lient de communication. 6.4.1 Structure du maître Le maître est composé essentiellement de cinq blocs comme illustré dans la figure 6.7. Le récepteur de paquets qui reçoit les paquets envoyés par l esclave en utilisant l UDP 93

6.4. Implémentation du système de contrôle comme protocole de communication. Ces paquets contiennent les sorties mesurées y(t). L observateur est implémenté pour calculer une estimation d état courant de l esclave. Il travail d une manière continue. Le rôle du contrôleur est de délivrer la commande à envoyer. Cette commande qui est calculée d une manière continue doit être échantillonnée ; c est le rôle de l échantillonneur. Le dernier bloc est l émetteur qui sert à envoyer les commandes échantillonnées. Fig. 6.7 Structure du maître 6.4.2 Structure de l esclave L esclave est composé essentiellement de quatre blocs (voir la figure 6.8). Le récepteur des paquets qui reçoit les commandes envoyées par le maître. Il s agit d un modèle linéaire en temps continu. En même temps, il joue le rôle du capteur car il délivre y(t) qui correspond à la sortie capturée. L échantillonneur et l émetteur jouent les mêmes rôles que dans le maître. Fig. 6.8 Structure de l esclave 6.4.3 Lien de communication Le lien de communication dans notre système est une source de retards et de perte de paquets. Le retard est variable, inconnu, non symétrique et borné. Pour le simuler, il suffit d ajouter un retard aléatoire et borné pour chaque paquet envoyé avec la possibilité 94

6.4. Implémentation du système de contrôle de perte de paquets. 6.4.4 Structure de paquets Dans ce système, deux types de paquets seront transmis : des paquets qui contiennent les commandes (envoyés du maître vers l esclave) et des paquets qui contiennent les données capturées (de l esclave vers le maître). Ces paquets ont la même structure qui est présentée dans la figure 6.9. Fig. 6.9 Composants d un paquet Chaque paquet envoyé contient trois champs de données. Le premier champ pour la date de l envoi (time stamp). Le deuxième est réservé au numéro de séquence qui est initialisé à 0 au début de simulation et incrémenté de 1 à chaque opération d envoi. Le dernier champ représente la donnée (la commande ou la sortie capturée selon le type du paquet). 6.4.5 Blocs Simulink utilisés Simulink fourni une interface graphique pour la modélisation de systèmes dynamiques sous forme de schémas-blocs. Dans ce paragraphe, on va présenter quelques blocs Simulink utilisés dans l application. Pour l échange des paquets entre les deux parties (maître et esclave), on a utilisé une bibliothèque Instrument control toolbox qui fournie les blocs nécessaires pour l émission et la réception des paquets (dans notre cas, les blocs UDP Send et UDP Receive ). Pour simuler le comportement dynamique du processus esclave et de l observateur, on a utilisé les S-Function. Une S-Function est formée d un bloc Simulink de type S-Function et un programme. Le programme décrit le comportement dynamique du système. Plusieurs langages peuvent être utilisés pour écrire un programme d une S-Function. Nous avons utilisé le C. Pour l échantillonnage, le bloc utilisé est Zero-Order Hold. Dans ce bloc, on doit introduire la période d échantillonnage T (on a pris T = 0.05s). Pour visualiser les résultats, on utilise le bloc Scope. Ce bloc nous permet de montrer la variation de la variable en entrée de ce bloc pendant la simulation. 95

6.5. Description du logiciel 6.5 Description du logiciel Dans la partie esclave, on a implémenté un système linéaire (sous Matlab/simulink) en utilisant une S-Function, dont la représentation d état est : [ ] [ ] 0 1 0 ẋ(t) = x(t) + u(t δ 0 11.32 11.32 1 (t)) y(t) = [ 1 0 ] (6.29) x(t) Ce processus correspond à un robot mobile capable de se déplacer dans une direction ([46]). Notons que ce modèle est complètement observable et commandable. Fig. 6.10 Structure en blocs Simulink de l esclave La figure 6.10 répresente la structure en blocs de l esclave. Avant de calculer le gain d observateur, on doit donner les bornes de retard h m i et T, qui à leur tour fournissent les δi m et µ i (correspand à la notion 6.8) définissant les caractéristiques de retard global. Dans notre exemple, on a pris δ 1 = δ 2 = 0.5s et µ 1 = µ 2 = 0.2s (on définit µ i et δ i telque δ i µ i δ i (t) δ i + µ i ). Le théorème 5 appliqué à notre exemple assure la convergence exponentielle de l observateur vers la solution e(t) = 0 avec taux α = 0.7 et ε = 3 pour le gain d observateur suivant : [ ] 0.6943 L = (6.30) 0.2946 Le théorème 6 appliqué à l exemple garantit que la loi de commande par retour d état stabilisera exponentiellement le système vers sa consigne, avec un taux α = 0.75 et ε = 96

6.5. Description du logiciel 3.64, pour le gain K suivant : K = [ 0.8264 0.3568 ] (6.31) Après avoir calculer les gains K et L, on a implémenté l observateur : [ ] 0 1 ˆx(t) = 0 11.32 ŷ(t) = [ 1 0 ] ˆx(t) [ 0 ˆx(t) + 11.32 ] [ 0.9173 u(t δ 1 (t)) 0.3187 au niveau du maître pour estimer l état courant de l esclave. La figure 6.11 répresente la structure en blocs du maître. ] [y(t δ 2 (t)) ŷ(t δ 2 (t))] (6.32) Fig. 6.11 Structure en blocs Simulink du maître Après la simulation, on obtient les résultats présentées sur les figures 6.12-6.16. Les résultats dans la figure 6.12 et la figure 6.13 représentent la variation des variables d état x 1 (t) et x 2 (t) (à gauche) délivrées par le processus esclave et leurs estimations ˆx 1 (t) et ˆx 2 (t) (à droite) délivrée par l observateur durant la simulation. Malgré l existence de retards, ces deux figures (6.12 et 6.13) montrent la convergence des x i et ˆx i vers le point d équilibre 0. 97

6.5. Description du logiciel Fig. 6.12 résultat de simulation des variables x 1 et ˆx 1 Fig. 6.13 résultat de simulation des varibles x 2 et ˆx 2 Fig. 6.14 résultat de simulation pour l erreur de l observation e 1 et e 2 La figure 6.14 montre la décroissance de l erreur de l observation (e i (t) = x i (t) ˆx i (t) 98

6.6. conclusion pour i = 1,2) vers le point d équilibre 0. Fig. 6.15 résultat de simulation de la sortie y et ŷ La figure 6.15 montre la convergence de la sortie estimée ŷ(t) délivrée par l observateur (à droite) vers la sortie réel du processus esclave y(t) (à gauche). Fig. 6.16 la commande u(t) et u k La figure 6.16 représente la valeur de la commande en temps continu u(t) délivrée par le maître (à gauche) et la commande échantillonnée et retardée u k qui appliquée à l entrée du processus esclave (à droite) durant la simulation. 6.6 conclusion Dans ce chapitre, on a présenté une plate forme de commande d un système en réseau avec une application au système de télé-opération. Ce système est composé de deux parties : partie maître et partie esclave reliés par un lien de communication de type Internet. 99

6.6. conclusion L idée était de concevoir un maître qui travaille d une manière continu (en temps continu) qui commande d une manière discrète l esclave. Ce dernier délivre une sortie échantillonnée. Au niveau du maître, on a ajouté un observateur qui permet d estimer l état courant du processus esclave à partir des données échantillonnées et retardées. Cette estimation est ensuite utilisée par le contrôleur (situé au niveau du maître toujours) pour calculer la commande avant d être envoyer. Au niveau de l esclave, la commande reçue va être exécutée dans le processus. Des données capturées par l esclave seront envoyées au maître. Cette stratégie de commande considère des retards variables, non symétriques et inconnus dont la borne minimale n est pas forcément nulle. 100

Conclusions et perspectives les systèmes à retards (ou héréditaires) sont des systèmes dont la dynamique ne dépend plus uniquement de la valeur du vecteur d état exprimée à l instant pressent, mais aussi des valeurs passées de ce vecteur prises sur un certain horizon temporel. Dans le cas où ce retard vient des liens de communication on parle alors des systèmes commandées en réseau qui présentent un axe de recherche très important. Dans ce mémoire, nous avons abordé deux problèmes : Le premier concerne la reconstruction de la structure 3D à partir une paire d images (calibrée ou non-calibrée ). Le deuxième concerne la stabilisation des systèmes commandées par réseaux. Pour le premier problème, il s agit d une procédure qui englobe : la connaissance de la géométrie épipolaire, la rectification selon les données existants (calibrée ou non-calibrée) et le matching. Pour le deuxième problème, il s agit de mettre en oeuvre d une plate forme de commande d un système en réseau. Autrement dit, un système de type Maître-Esclave commandé à distance par le moyen d un réseau. Un enjeu principal dans ce type de système a été le retard. Dans notre cas, le retard a été considéré variable, non symétrique, inconnu dont les bornes sont connues. Pour une continuation de notre travail, plusieurs perspectives peuvent être envisagées : Utiliser des simulateurs dédiés tels que TrueTime pour comparer les résultats. L extension des approches vues aux cas des systèmes non linéaires complexes. Implémenter les résultats dans un vrai système de télé-opération. Utiliser d autres types de réseau tels que le sans-fil par exemple. Penser à utiliser les résultats de la stéréovision pour commander un système en réseau. 101

Bibliographie [1] A. Akhenak. Conception d observateurs non linéaires par approche multimodèle : application au diagnostic. PhD thesis, Ecole doctorale IAEM Lorraine, décembre 2004. [2] M. Alamir and C. Commault. A new equal-partition measurement encoding scheme for networked control systems. In Proceedings of the 2004 NOLCOS Symposium on Nonlinear Control Systems, Stuttgart, Germany, 2004. [3] Y. Ariba. Sur la stabilité des systèmes à retards variant dans le temps : théorie et application au contrôle de congestion d un routeur. PhD thesis, Université Toulouse 3 Paul Sabatier, 2009. [4] I. R. Belousov, J. Tan, and G. J. Clapworthy. Teleoperation and java3d visualization of a robot manipulator over the world wide web. In Proceedings of IEEE International Conference on Information Visualization, London, England, 1999. [5] A. Bennadji. Implémentation de modèles comportementaux d amplificateurs de puissance dans des environnements de simulation système et co-simulation circuit système. PhD thesis, Universite De Limoges, 2006. [6] A. Benssoussan, G. Da Prato, M. C. Defour, and S. K. Mitter. Representation and control of infinite dimensional systems, Systems and Control : Foundation and Applicatoins. Birkhauser, 1993. [7] M. Boutayeb and M. Darouach. Observers for discrete-time systems with multiple delays. 46 :746 750, 2001. [8] C.I. Byrnes, A. Isidori, and J.C. Willems. Passivity, feedback equivalence, and the global stabilization of of minimum phase nonlinear systems. 36 :1228 1240, 1994. [9] C.I. Byrnes, W. Lin, and B.K. Ghosh. Stabilization of discrete-time nonlinear systems by smooth state feedback. 21 :255 263, 1993. [10] C. K. Chang, J. M. Overhage, and J. Huang. An application of sensor networks for syndromic surveillance. In Proceedings of IEEE Networking, Sensing and Control, Tuscon, 2005. [11] M. Y. Chow and Y. Tipsuwan. Time sensitive network-based control systems and applications. IEEE IES Network Based Control Newsletter, 5(2) :13 18, 2005. [12] P. I. Corkey and P. Ridley. Steering kinematics for a center-articulated mobile robot. IEEE transactions on Robotics and Automations, 17(2) :215 218, 2001. 102

[13] B. Ducarouge, T. Sentenac, F. Bugarin, and M. Devy. Rectification projective d images stéréo non calibrées infrarouges avec prise en compte globale de la minimisation des distorsions. In Congrès des jeunes chercheurs en vision par ordinateur, Trégastel, France, 2009. [14] L. Dugard and E. I. Verriest. Stability and Control of Time Delay Systems. Springer- Verlag : New York, 1997. [15] D. Durrant-Whyte. Data fusion in sensor networks. In Proceedings of the IEEE International Conference on Video and Signal Based Surveillance, Sydney, Australia, 2006. [16] N. Van Foreest. Queues with Congestion-dependent Feedback. PhD thesis, the faculty of mathematical sciences, University of Twente, Enschede, The Netherlands, 2004. [17] E. Fridman. New-lyapunov-krasovskii functionals for stability of linear retarded and neutral type systems. 43 :309 319, 2001. [18] E. Fridman, A. Seuret, and J. P. Richard. Robust sampled-data stabilization of linear systems : an input delay approach. Automatica, 40(8) :1441 1446, 2004. [19] E. Fridman and U. Shaked. An improved stabilization method for linear systems with time-delay. 42 :1931 1937, 2002. [20] A. Fusiello and L. Irsara. Quasi-euclidean uncalibrated epipolar rectification. In International Conference on Pattern Recognition (ICPR), Tampa, FL, 2008. [21] V. Y. Glizr. Observability of singularly perturbed linear time-dependent differential systems with small delay. Journal of Dynamical and Control Systems, 10(3) :329 363, July 2004. [22] L. A. Grieco, G. Boggia, S. Mascolo, and P. Camarda. A control theoretic approach for supporting quality of service in ieee 802.11e wlans with hcf. In Proc. of the 42 nd IEEE Conference on Decision and Control, Maui, Hawaii USA, 2003. [23] R. A. Gupta and M. Y. Chow. Networkrd Control System Theory and Applications, chapter Overview of Networked Control Systems. Springer, january 2008. [24] J. K. Hale. Effects of delays on stability and control. Report CDSN97-270, Center for Dynamical Systems and Nonlinear Studies, Georgia Institute of Technology, 1997. [25] T. T. Hsieh. Using sensor networks for highway and traffic applications. IEEE Potentials, 23(2) :13 16, 2004. [26] W. Jiang, J-P. Richard, and A. Toguyeni. Implementation of an internet-based remote controlled robot with guaranteed exponential stabilization. In ICA08 Proceedings of the 7th IEEE World Congress on Intelligent Control and Automation, 2008. [27] V. B. Kalmanovski and A. D. Myshkis. Applied theory of functional differential equations. Kluwer, Dordrecht, The Netherlands, 1992. [28] V. Kolmogorov. Graph Based Algorithms For Scene Reconstruction From Two Or More Views. PhD thesis, Cornell University, 2004. [29] V. Kolmogorov and R. Zabih. Multi-camera scene reconstruction via graph cuts. In European Conference on Computer Vision (ECCV), 2002. 103

[30] Y. Kuang. Delay differential equations with applications in population dynamics. Academic Press, Boston, 1993. [31] W. L. D. Leung, R. Vanijjirattikhan, Z. Li, L. Xu, T. Richards, B. Ayhan, and M. Y. Chow. Intelligent space with time-sensitive application. In Proceedings IEEE/ASME International Conference on Advanced Intelligent Mechatronics, pages 1413 1418, Monterey, CA, 2005. [32] X. Li and D. de Souza. Criteria for robust stability and stabilization of uncertain linear systems with state delay. 33 :1657 1662, 1997. [33] S. Liansheng, Z. Jiulong, and C. Duwu. Image rectification using affine epipolar geometric constraint. [34] Q. T. Luong. Matrice Fondalmentale et calibration visuelle sur l environnement vers une plus grande autonomie des systemes robotiques. PhD thesis, Université de Parissud, centre d Orsay, Décembre 1992. [35] N. MacDonald. Biological delay systems : linear stability theory. Cambridge University Press, 1989. [36] M. S. Mahmoud. Robust control and filtering for time-delay systems. New York : Marcel-Dekker, 1999. [37] J. Mallon and F. Whelan. Projective rectification from the fundamental matrix. Image and Vision Computing, 2005. [38] S. Mascolo. Congestion control in high-speed communication networks using the smith principle. Automatica, 35(12) :1921 1935, 1999. [39] D. L. Mills. Improved algorithms for synchronizing computer network clocks. IEEE/ACM Transactions On Networking, pages 245 254, 1995. [40] Site official de Matlab : www.mathworks.com. [41] Site official de NTP : www.ntp.com. [42] S. Olariu and Q. Xu. Information assurance in wireless sensor networks. In Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium, Denver, 2005. [43] S. Park, J. W. Kim, K. Lee, K. Y. Shin, and D. Kim. Embedded sensor networked operating system. In Proceedings of Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing, Gyeongju, Korea, 2006. [44] S. Park, J. W. Kim, K. Y. Shin, and D. Kim. A nano operating system for wireless sensor networks. In Proceedings of the 8th International Conference on Advanced Communication Technology, Phoenix Park, Korea, 2006. [45] J. P. Richard. Time-delay systems : an overview of some recent advances and open problems. 39 :1667 1694, 2003. [46] A. Seuret. Commande et observation des systèmes à retards variables : thèorie et applications. PhD thesis, Ecole Centrale de Lille, 2006. [47] T. B. Sheridan. Telerobotics, automation, and human supervisory control. The MIT Press, 1992. 104

[48] L. T. Son, H. Schioler, and O. B. Madsen. Hybrid distributed iterative capacity allocation over bluetooth network. In 8th IEEE International Conference on Communication Systems (ICCS2002), Singapore, 2002. [49] H. Trinh and M. Aldeen. A memoryless state observer for discrete time-delay systems. 42 :1572 1577, 1997. [50] D. Williamson. Finite wordlength design of digital kalman filters for state estimation. IEEE Transactions on Automatic Control, 30, 1990. [51] E. Witrant. Stabilisation des systèmes commandés par réseaux. PhD thesis, Institut National Polytechnique de Grenoble, 2005. 105

Résumé Les systèmes commandés en réseau sont des systèmes automatiques (ou automatisés) traditionnels où les capteurs, contrôleurs, actionneurs et autres composants sont distribués autour d un medium de communication et échangent des informations en respect de protocoles de communication. Toutefois, l insertion de réseau de communication dans les chaînes d action et de mesure des systèmes commandés en réseau induit une certaine complexité dans leur analyse (en terme de stabilité, robustesse et qualité de service,...) et leur conception. Ces problèmes relèvent, des inéluctables délais de communication, et des pertes de données pouvant survenir durant leurs transferts. Le but de ce mémoire est la mise en oeuvre d une plate forme de commande d un système en réseau. Il s agit d une implémentation informatique d un système de type Maître-Esclave communiquant à distance par le moyen d un réseau de type Internet. Notre plateforme consiste en une simulation sous Matlab Simulink d un comportement de processus esclave (un robot mobile par exemple) dont on connaît son modèle. Ce processus va être commandé à distance à travers un réseau par le maître. Le réseau dans cette stratégie est une source du retard variable (retard de transmission et de l échantillonnage) et de perte de paquets. Pour connaître le retard en utilisant le protocole NTP (Network Time Protocol) qui permet de synchroniser les deux horloges (du maître et de l esclave). Les paquets sont transmis avec un horodateur en utilisant l UDP comme protocole de communication. Mots clés : Systèmes commandés en réseau (NCS), NTP, UDP, retard, stabilité, Matlab/Simulink, Systèmes linéaires, Echantillonnage, Observateur. 106

Abstract The networked control systems are traditional automatic (or automated) systems where the sensors, controllers, actuators and other components are distributed around a medium of communication and exchange information in respect of communication protocols. However, the insertion of the communication network in the channel of control and measurement for Network controlled systems results in some complexity over their analysis (in terms of stability, performance and service quality) and design. These problems might lead to inevitable communication delays and loss of data during their transfers. Our aim, in this works is the implementation of a platform to a system control over a network. It is about a master-slave system implementation witch communicated remotely by using an Internet network. Our aim, in this work is the implementation of a platform to a system control over a network. It is about a master-slave system implementation witch communicated remotely by using an Internet network. Our platform consists of a simulation under Matlab Simulink of a slave process behavior (a mobile robot for example) witch one knows its model. The slave process will be controlled remotely through a network by the Master. Internet remote systems are subject to variable time delays (including communication and data-sampling delays) and data packets losses (due to the unstable Internet network). In order to guarantee the master and slave clocks to be synchronized, the NTP (Network Time Protocol) is used. The packets are sent together with time-stamps using the UDP as a communication protocol. Keywords : Networked Control Systems (NCS), NTP, UDP, delay, stability, Matlab/Simulink, Linear systems, Sampling, Observer. 107