Modelisation Par Reseaux de Petri Pour Une Program

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 8

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/240609638

Modélisation par réseaux de Petri pour une programmation VHDL. Exemple


d'application en robotique mobile d'assistance au handicap

Article · January 2004

CITATIONS READS

0 793

4 authors, including:

Mohamed Moncef Ben Khelifa Moez Bouchouicha


Université de Toulon Université de Toulon
47 PUBLICATIONS   183 CITATIONS    37 PUBLICATIONS   271 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

M.A.R.H. , Mobile Autonome Robotisé pour Handicapés View project

INTELECON « INTelligent Evaluation in LEarning CONtext » View project

All content following this page was uploaded by Mohamed Moncef Ben Khelifa on 26 April 2016.

The user has requested enhancement of the downloaded file.


MODELISATION PAR RESEAUX DE PETRI POUR UNE PROGRAMMATION VHDL.
EXEMPLE D’APPLICATION EN ROBOTIQUE MOBILE D’ASSISTANCE AU HANDICAP

Alexandre Abellard,
Doctorant en Traitement de l’Image et du Signal
[email protected] , + 33 4 94 14 22 48

Mohamed Ben Khelifa,


Maître de conférences en Génie Automatique et Traitement du Signal
[email protected] +33 4 94 14 20 77

Moez Bouchouicha,
Attaché Temporaire d’Enseignement et de Recherche en Génie Automatique et Traitement du Signal
[email protected] +33 4 94 14 24 93

Patrick Abellard,
Professeur des Universités en Génie Automatique et Traitement du Signal
[email protected] +33 4 94 14 22 48

Adresse professionnelle
Laboratoire SIS/AI Ì Université de Toulon-Var Ì BP 20132 Ì F-83957 La Garde Cedex Ì France

Résumé : La recherche des solutions au problème de la conception conjointe matériel/logiciel est une
tâche majeure dans la définition d’une méthodologie unique, structurée et automatique, permettant
l’accélération du processus de conception et l’évaluation dynamique de différents compromis . Les
Réseaux de Petri à Flux de Données sont une solution efficace pour y parvenir, ainsi que leur
implantation sur circuits programmables. Nous décrivons une application relative à un fauteuil roulant
contrôlé par une manette gérée par réseau neuronal.

Summary : The research of solutions to the problem of hardware/software codesign is a major task in
the definition of a unique, structured and automatic methodology. Data Flow Petri Nets can be an
efficient way to do this. Thus, it is possible to write a program and to compile it in order to implement
it on programmable chips. The following paper describes their implementation in a wheelchair, whose
lever is handled by a neural network.

Mots clés : Réseaux de Petri, réseaux de neurones, VHDL, fauteuil roulant.

1
Modélisation par réseaux de Petri pour une programmation VHDL.
Exemple d’application en robotique mobile d’assistance au handicap

La recherche des solutions au problème de la l’ensemble des solutions est une tâche majeure
conception conjointe matériel/logiciel est une dans la définition d’une méthodologie unique,
tâche majeure dans la définition d’une structurée et automatique car elle permet de
méthodologie unique, structurée et définir des caractéristiques fondamentales
automatique, permettant l’accélération du telles que le coût et les performances
processus de conception et l’évaluation temporelles.
dynamique de différents compromis . Les
Les avantages de cette intégration de
Réseaux de Petri à Flux de Données (RdPFD)
conception matérielle et logicielle sont
sont une solution efficace pour y parvenir, et
l’accélération du processus de conception et la
l’utilisation d’un langage comme VHDL
possibilité d’évaluer dynamiquement les
permet ensuite leur implantation sur circuits
différents compromis possibles comme l’a fait
programmables.
Rompaey (1996). Par exemple, dans le cas de
L’exemple qui est décrit concerne un fauteuil DSP et de circuits spécifiques, le processus de
roulant ergonomique et à commande adaptable conception doit supprimer l’écart existant entre
au handicap. Pour certains handicapés, la spécification fonctionnelle hétérogène et son
l’utilisation d’un fauteuil roulant peut être implantation. Au niveau système, Rubini et
difficile du fait de capacités physiques trop Lavenier (1997) ont démontré que les DSP ont
faibles ou de troubles cognitifs. L’interface besoin d’une combinaison entre les modèles
homme - machine doit donc être modulaire et flots de données et les modèles flots de
configurable, facile à mettre en place, apporter contrôle pour leur spécification complète.
une grande fiabilité, et utiliser le plus souvent L’utilisation des Réseaux de Petri à Flux de
possible du matériel non spécifique. Le projet Données (RdPFD) est une solution efficace
FRACAH (Fauteuil Roulant A Commande pour y parvenir. En effet, l’algorithme à
Adaptée au Handicap) a été ainsi développé. implanter est facilement décrit par RdPFD et
Sa manette est gérée par un réseau de neurones simulé avec n’importe quel outil standard.
artificiels qui enregistre les limitations C’est à partir des résultats des simulations,
fonctionnelles de la main puis qui les qu’il est alors possible d’écrire un programme
compense. Les expériences pratiquées avec des VHDL et de le compiler pour son implantation
personnes présentant un handicap plus léger sur circuits programmables comme le propose
ont montré que la rentabilité dans l’exécution Belhadj (1994).
des tâches à accomplir était accrue, avec une
sécurité maximale. 2 - LES RESEAUX DE PETRI A FLUX DE
DONNEES
1 - INTRODUCTION
Ils ont été définis par J. Alhmana (1983) et
La conception conjointe de systèmes permettent de modéliser efficacement les
matériel/logiciel (hardware/software codesign) machines multiprocesseurs de type flux de
désigne la conception de systèmes comportant données / flux de contrôle, dans lesquelles la
une partie matérielle avec un ou plusieurs recherche des performances nécessite que
circuits spécifiques (ASIC, composants soient supprimées des difficultés aussi diverses
reconfigurables...) et une partie logicielle qui que : partage de bus, conflits d’accès mémoire,
est exécutée sur une architecture à base de échanges inter-processeurs.... Ce type
processeurs standards ou spécifiques d’architecture est structurellement différent des
(microcontrôleurs, DSP...). Elle englobe la multiprocesseurs classiques car il ne comporte
spécification, la validation et l’exploration des ni processeur central, ni mémoire centrale. Ce
différentes possibilités de conception d’un sont les données qui dirigent les opérations.
système mixte dans le but d’optimiser des Abellard et Grall (2000) ont recensé un certain
critères de coût et/ou de performances. Dias nombre de réalisations qui existent avec des
(2000) a montré que la recherche de modèles de fonctionnement variés.

2
Les Réseaux de Petri à Flux de Données ψ est une application qui permet de poser
(RdPFD) réalisent la combinaison en un des conditions sur le franchissement d’une
modèle, de flots de données et de flots de transition ψ : T → C.
contrôle. Abellard (2001) les utilise comme
X = {x1, x2, ... xs} est un ensemble de
outil de spécification, de simulation et
variables (réelles, entières, logiques…)
validation d’architectures à flux de données.
prenant leurs valeurs respectivement dans
Ce modèle, basé sur la notion de places
les domaines D1, D2, … Du.
biparties (opérateurs Po et variables Pv) permet
de modéliser de nombreuses structures : O = {o1, o2, ... ov} est un ensemble fini
synchrones, asynchrones, systoliques, d’opérateurs définis comme des
neuronales... (figure 1). applications internes de D1 x D2 x … x Du.
C = {c1, c2, ... cr} est un ensemble de
prédicats sur les variables de X.

3 - EXEMPLE D’APPLICATION

3.1 - Présentation
L’exemple qui est décrit concerne une
réflexion sur la mise au point d’un fauteuil
roulant ergonomique et à commande adaptable
au handicap. Le fauteuil roulant électrique est
Figure 1 : Réseau de Petri à Flux de Données un élément essentiel pour l’autonomie des
personnes handicapées. Mais pour certaines,
Un RdPFD est un septuplet (R, ϕ, ξ, ψ, X, O,
l’utilisation peut parfois être difficile, voire
C) défini de la façon suivante :
impossible, du fait de capacités physiques
résiduelles trop faibles, d’une trop grande
spasticité, d’une fatigabilité importante ou de
R est un Réseau de Petri à Places bi-Parties
troubles cognitifs. Par exemple, certaines
(RdP PbP) conforme.
personnes ne peuvent actionner qu’un simple
ϕ est une application capteur tout ou rien, ce qui rend difficile la
commande d’un fauteuil roulant comme l’a
ϕ PV : P → X expliqué Bourhis (2000). On peut alors
apporter des améliorations à l’interface homme
ϕ PO : P → O - machine standard de type joystick en utilisant
des asservissements locaux ou des
telle que fonctionnalités intelligentes empruntées à la
∀pi ∈ PO , p j ∈ PO et ϕ ( pi ) = ϕ ( p j ) pour i ≠ j robotique : détection et évitement d’obstacles,
accostage et passage de portes, suivi de
parcours, planification de trajectoires... comme
alors
ceux réalisés par Ben Khelifa (2001) dans son
{( ) ( )}
∀t l ∈o pi et t k ∈o p j , ϕ o t l ≠ ϕ o t k . travail de thèse.
La robotique mobile de réadaptation et l’étude
Ainsi, deux opérateurs identiques ne peuvent de fauteuils roulants intelligents s’apparentent
pas travailler sur le même ensemble de au domaine de la robotique de service qui
données. présente deux caractéristiques importantes :
ξ est une application injective d’une part le robot partage son espace
d’évolution avec les personnes et d’autre part,
ξ : X → M = {ME1 , ME2 ,..., ME} l’utilisateur n’est pas à priori compétent dans
telle que : le domaine technologique, ce qui montre
l’importance de l’interface homme - machine.
∀p ∈ PV , ∃ ME ∈ M avec ME = ξ (ϕ ( p ))
La grande diversité des utilisateurs et des
M est appelé ensemble de zones mémoires. structures est une caractéristique importante de
l’application. Par exemple, l’environnement

3
peut être le domicile, un centre de 10. Haut-parleur droit (synthèse vocale)
réadaptation, un hôpital.... et l’encombrement 11. Commande par la tête
potentiel des chemins ainsi que les distances à 12. Haut-parleur gauche (synthèse vocale)
parcourir sont de ce fait, très variables. Par 13. Caméra (états des yeux, mouvements de tête,
suivi du regard, expressions du visage), guidage
ailleurs, les patients en fauteuil ont des
automatique
possibilités physiques et cognitives très 14. Commande par le souffle (Arrière et Gauche)
différentes. 15. Microphone pour commande vocale
L’interface homme - machine doit donc être 16. Détecteurs de proximité Avant Gauche
modulaire et configurable, tant du point de vue 17. Détecteurs de proximité Avant Droit
18. Servo-moteur de direction
logiciel que des capteurs de commande. Elle
19. Moteur de propulsion
doit être facile à mettre en place et apporter
une sécurité maximale avec une grande
fiabilité. Par ailleurs, pour optimiser le rapport Figure 2 : Fauteuil roulant appareillé
coût / performances, il est important d’utiliser
chaque fois que possible, du matériel non
spécifique à l’application, comme par exemple, La manette est gérée par un réseau de neurones
une base de fauteuil roulant du commerce. artificiels qui enregistre les limitations
fonctionnelles de la main en phase
Le projet FRACAH (Fauteuil Roulant A d’apprentissage, puis qui compense tous les
Commande Adaptée au Handicap) a été gestes incomplets et élimine les tremblements
développé en respectant ces exigences. La base et les mouvements involontaires désordonnés.
est un ancien fauteuil roulant 3 roues qui a été En plus des capteurs actifs de sécurité, une
restauré mais n’importe quel fauteuil du caméra embarquée surveille l’état des yeux de
commerce peut convenir. Elle fournit un l’enfant qui ne doit pas s’attarder trop
support expérimental de tests de différentes longtemps à regarder sa manette, et les
solutions techniques d’aide au pilotage : expressions de son visage (inquiétude,
bouton - poussoir, joystick, commande par la angoisse, peur...).
tête, par le pied, le souffle, la voix.... (figure 2).
3.2 - Commande par manette neuronale
Pour prendre en compte les limitations
fonctionnelles d’un enfant IMC (Infirme
Moteur Cérébral), un réseau de neurones
réalise la compensation automatique du geste
après une phase d’apprentissage de la manette
de contrôle pour que le matériel s’adapte à
l’enfant handicapé et non pas le contraire.
Après plusieurs tests en simulation, le réseau
de neurones retenu est constitué de 3 couches :
- une couche d’entrée qui reçoit la position
(x,y) de la manette,
- une couche cachée,
- une couche de sortie qui fournit la direction
appropriée à la commande du fauteuil et sa
propulsion

1. Commande par pédales Parmi les différentes architectures neuronales


2. Détecteurs de proximité droite possibles et compte - tenu de la nature du
3. Compartiment batteries problème, l’algorithme de fonctionnement est
4. Compartiment cartes électroniques basé sur la rétro-propagation du gradient. La
5. Micro-ordinateur figure 3 en donne la structure avec vi[0] les
6. Siège motorisé en rotation et élévation données d’entrée, wij[k] les poids synaptiques,
7. Commande par manette neuronale vi[1] les potentiels de la couche cachée, vi[2] les
8. Voyants - guides directionnels sorties obtenues, et k l’indice de couche.
9. Commande par le souffle (Avant et Droite)

4
Chaque opérateur élémentaire est décrit
suivant le principe de la figure 5. Cette
description est répétée pour couvrir
l’intégralité du RdPFD, comme indiqué figure
6 sur laquelle 3 opérateurs sont pris en compte
pour le calcul de a1 = w11 .v1 + w12 .v2 .
[1] [1] [ 0 ] [1] [ 0 ]

Figure 3 : Réseau de neurones


Les calculs à réaliser sont classiques :
[ 0]
1 - présentation de la donnée d’entrée vi
2 - calcul des potentiels
 nk −1 
vi[ k ] = F ∑ wij[ k ] .v[jk −1] 
 j =1 
3 - calcul des gradients :
Figure 5 : Description VHDL d’un opérateur
- pour les cellules de sortie :
 nk −1 
δ i[ k ] = 2 F ' ∑ wij[ k ] .v[jk −1] .(sdi[ k ] − si[ k ] )
 j =1 
- pour les autres cellules :
 n k −1  nk
δ i[ k −1] = F '  ∑ wij[ k ] .v [jk −1] .∑ wmi
[k ]
.δ m[ k ]
 j =1  m =1
avec λ le pas du gradient, F la fonction
d’activation et F’ sa dérivée.
4 - modification des poids synaptiques :
Figure 6 : Description de plusieurs opérateurs
wij[ k ] ← wij[ k ] + λ.δ i[ k ] .v[jk −1]
Le programme peut alors être testé et simulé
Pour illustrer ces calculs par un exemple, nous pour une implantation sur diverses cartes
nous limitons dans le cadre de cet article à la commerciales ou personnelles utilisant des
modélisation du calcul du potentiel du premier composants programmables. La figure 7 donne
neurone (figure 4). un exemple de résultats obtenus par Abellard
(2002) avec un ensemble logiciel et matériel
Altera, après apprentissage dans différentes
directions de la manette du fauteuil roulant.

Figure 7 : Exemple de résultats obtenus après


apprentissage

3.3 - Résultats
Figure 4 : Réseau de Petri à Flux de Données du Sur le plan de l’application, pour amener
calcul du potentiel d’un neurone l’enfant lourdement handicapé et souvent

5
limité intellectuellement à apprendre comment
utiliser fonctionnellement une manette dans la
perspective d’une commande de fauteuil
roulant électrique, l’ergothérapeute doit
impérativement procéder par étapes : étapes
progressives, voire parfois régressives dans
lesquelles un certain nombre de paramètres
doivent être considérés. Une méthodologie de
quantification de l’évolution de l’apprentissage
a donc été mise au point par J.P. Belheur
(2002). Elle repose sur 5 phases :
- Evaluation fonctionnelle des possibilités de la
main de l’enfant (figure 8),
- Chronologie rééducative pour la préparation Figure 10 : Jeux sensoriels
au maniement de la manette (figure 9),
- Exploitation des feedbacks multisensoriels
pour l’orientation cardinale optimale du levier
de la manette (figure 10),
- Réglages progressifs des paramètres de
fonctionnalités de la manette (figure 9),
- Quantification et analyse des progrès /
régressions (figure 11).

Figure 11 : Analyse de résultats par superposition


de zones (A : zone gestuelle fonctionnelle, B : zone
difficile à atteindre, C : évolution gestuelle)

4 - CONCLUSION

Les RdPFD constituent un outil efficace de


description du parallélisme d’un algorithme de
Figure 8 : Evaluation fonctionnelle initiale avant calcul. L’implantation sur une architecture
rééducation (A : zone gestuelle fonctionnelle, B : parallèle utilisant des composants
zone difficile à atteindre) programmables est obtenue facilement à partir
d’une description VHDL.
Pour l’application décrite, l’architecture
neuronale est une bonne solution pour la prise
en compte des progressions/régressions. Le
rôle des ergothérapeutes est d’aller encore plus
loin dans les interventions et les investigations
afin de faciliter la vie des enfants IMC.
L’ensemble de ces actions devrait permettre
d’améliorer l’existant de façon significative car
pour certains jeunes IMC, ce n’est pas toujours
le temps qui aide le mieux à accéder à
l’autonomie, mais plutôt le choix des stratégies
rééducatives et des outils mis en oeuvre. Les
expériences pratiquées avec des personnes
présentant un handicap plus léger ont montré
que l’approche innovante de ces travaux
accroît la rentabilité dans l’exécution des
Figure 9 : Chronologie de rééducation gestuelle tâches à accomplir (réduction du temps de

6
réponse, limitation des erreurs, diminution du Belhadj, M. (1994) : “Conception d’architectures en
facteur émotionnel...) avec une sécurité utilisant SIGNAL et VHDL”, Thèse
maximale. de Doctorat, Rennes 1.

L’électronique et l’informatique sont des outils Belheur J.P, Pailloux M., Petitprez B., Abellard A.,
qui nous conduisent à réfléchir et voir que Abellard P. (2002), “Aides
d’autres personnes adultes lourdement techniques d’éducation gestuelle pour
handicapées, même avec des pathologies enfants IMC”, Colloque HANDICAP
différentes peuvent elles aussi, accéder à 2002, Paris.
l’autonomie.
Ben Khelifa, M. (2001), “Vision par ordinateur et
robotique mobile d’assistance.
REMERCIEMENTS
Application au projet MARH, Mobile
Autonome Robotisé pour
Les auteurs remercient le Conseil Régional Handicapés”, Thèse de doctorat,
PACA pour la bourse d’étude attribuée pour ce Université de Toulon.
travail, la Chambre de Commerce et
d’Industrie du Var et le Centre d’Etudes et de Bourhis, G., Gelin, R., Pruski, A. (2000), Robotique
Recherches de Toulon et du Var pour leur d'aide aux personnes handicapées.
contribution financière, et M. J.P. Belheur, Applications non manufacturières de
ergothérapeute à l’Institut Pomponiana-Olbia la robotique mobile, pp. 193-238, Ed.
(Hyères) et Président de l’Association Hermès.
TROPHEE d’aide à la personne handicapée,
pour ses conseils et la fourniture du matériel. Dias, A.F., “Contribution à l’implantation
optimisée d’algorithmes bas niveau
de traitement du signal et des images
BIBLIOGRAPHIE sur des architectures mono-FPGA à
l’aide d’une méthodologie
Abellard, P., Grall, P. (2000), “A low cost data flow d’Adéquation Algorithmes
architecture”, ACIDCA, Monastir. Architectures”. Thèse de Doctorat,
Paris XI Orsay.
Abellard, P., Grall, P., Abellard, A. (2001),
“Adéquation algorithme Rompaey, K., Verkest, D., Bolsens, I., Deman,
architectures”, CNR’IUT 2001, H. (1996) : “Coware : a design
Roanne. environment for heterogenous
hardware/software systems” in
Abellard, A., Enéa, G., Abellard, P., Belheur, J.P., Design Automation for Embedded
Nolibé, G. (2002) : “Aides techniques Systems, vol 1, n° 4, pp 357-362.
en appareillage pour handicapés : de
l’éducation gestuelle au projet Rubini, S, Lavenier, D. (1997) : Les architectures
FRACAH”, Colloque Recherche et reconfigurables. Les calculateurs
Handicap, Lyon. parallèles, Vol 9, n°1.
Alhmana, J. (1983) : “Modélisation par Réseaux de
Petri à Flux de Données. Application
à la synthèse de l’opérateur de Riccati
rapide”, Thèse de Doctorat,
Université de Marseille III.

View publication stats

Vous aimerez peut-être aussi