Back to Home Page

Comment utiliser Orccad pour la Vision


  1. Présentation de l'Application
  2. Application de télésurveillance avec suivi de personne dans un environnement d'intérieur.
    Deux étapes nécessaires:
    • une étape préliminaire (off-line), qui consiste à calibrer la caméra et à établir une carte de l'environnement.
    • une étape de calcul (on-line), qui va effectuer le suivi temps réel.

  3. Description du Hardware
  4. Robot-Caméra type pan-tiltt.
    Le robot-caméra est relié à une station SUN par une liaison série (type RS232). La carte d'aquisition de la caméra est pilotée par l'API xil de SUN.
    Station de travail de type SPARC SUN ULTRA-1, SunOS 5.6, non dédiée à la gestion du robot-caméra.

  5. Algorithmes Utilisés

  6. Dans la suite de ce tutoriel, nous allons focaliser notre étude sur l'étape de suivi temps réel.
    La figure ci-dessous représente la suite de traitements à mettre en oeuvre pour réaliser un suivi de mouvement.
    Cette suite de traitements doit se faire périodiquement suivant la cadence imposée par la dynamique de la scène (i.e. vitesse de la cible).
    Les traitements sont fortement paramétrés. Ces paramètres peuvent être fournis:
    • par une valeur fixée à l'avance
    • par un traitement particulier d'évaluation/adaptation sur le résultat d'un traitement particulier de la chaîne
    • par des processus extérieurs à la chaîne de calcul (ex. une IHM)
    La caméra est fixe.
    Détails des traitements:
    • Acquisition d'image par le robot caméra. Cette image est accessible via l'API xil de SUN.
    • Lissage de l'image en utilisant un filtre de Sobel. Ce lissage est fait directement au niveau de la xil en appelant la routine de la bibliothèque xil correspondante au lissage de Sobel.
      Ce traitement est paramétré par w, la taille de la fenêtre de lissage.
    • Différence d'image. Cette différence se fait entre l'image à t et l'image à t-1
    • Pondération de l'image au niveau de la fovea. Cette pondération va permettre de privilégier le centre de l'image par rapport aux bords.
      Ce traitement est paramétré par a, la taille de la zone autour de la fovea.
    • Détection des zones en mouvement. Cette détection se fait par un algorithme à balayage qui fournit la taille et la position des zones qui ont bougé.
      Ce traitement est paramétré par g, l'ecart minimal entre deux zones.
    • Analyse des zones en mouvement. On choisira la zone qui correspond le plus à la cible recherchée.
      Ce traitement est paramétré par s, la taille minimale d'une région.
    Interaction avec des processus extérieurs:
    Le processus extérieur envisagé ici est une IHM qui se connecte à l'application et qui va lui fournir des paramètres ou encore des événements logiques. L'application en retour peut donner des informations à l'IHM.
    Cette IHM a été réalisée en
    Java

  7. Mise en Oeuvre avec Orccad
  8. Correspondance Application -> Orccad
    Orccad est un environnement logiciel permettant de concevoir et de mettre en oeuvre le contrôle et la commande d'un système robotique complexe. Il permet également la spécification et la validation des missions à réaliser par ce système.

    Terminologie OrccadEntité en Vision
    Ressource PhysiqueArgès
    Tâche Robot (TR)chaîne de traitements périodique
    Ex: suivi de mouvement
    Procédure Robot (PR)arrangement logique de chaînes de traitements périodiques
    Ex: une application est spécifiée par une PR
    Moduletraitement algorithmique qui est composé d'une phase d'initialisation, de calcul nominal et de terminaison.
    Ex: Analyse des zones en mouvement
    Automate de la TRComportement logique associé à la chaîne de traitement.
    Ce comportement correspond à des informations logiques de type préconditions, postconditions ou encore exceptions. Ces informations ou "événements" conditionnent respectivement le démarrage de la chaîne, sa terminaison ou encore signalent les dysfonctionnements éventuels pendant le traitement
    MaestRo
    Langage de programmation de mission robotique
    langage spécialisé qui permet de spécifier l'application comme un arrangement logique de TRs et de PRs
    Spécification des algorithmes
    Spécification d'une TR pour le suivi de mouvement
    Spécification et Implantation d'un module
    Spécification de l'application avec MaestRo
    Vérification de l'Application
    La vérification d'une application se fait à deux niveaux: de la TR et de la PR. Cette vérification ne porte que sur la partie logique, ou comportementale de ces deux entités. Ce comportement est formalisé de manière sous-jacente en langage Esterel.
    On peut alors:
    • soit observé l'automate résultant de cette partie comportement (pour une TR ou à une PR) exprimé en Esterel:
      Automate de la TR de suivi
    • soit utilisé l'outil XES qui permet de simuler interactivement la partie Esterel
      Simulation interactive de programme Esterel avec XES
      Génération de l'Exécutable
      Panel pour générer le code
      Panel pour tracer des données, des paramètres et les événements

  9. Application en Images
  10. Une Demo de l'exécutable généré par Orccad

Back to Home Page
Soraya Arias
Last modified: Wed Sep 18 15:14:45 MET DST 2004