3.3.1 État de l'art des logi iels de simulatio pour des robots
A tuellement,lesrobots(ouautomates)sontdeplusenplusprésentsenindustrie.En onséquen e,leslogi ielsde simulationde etypede systèmess'avèrenttrès utilisés.Ilexiste unelargegammede logi ielsdesimulationsdes robots.Ilspermettentl'étudegéométrique,statique, inématique,etdynamiquedusystème.Lelogi ieldesimulation permetégalementdepiloterdesma hines.Lasimulationpeutsefairehorsligne(dans e as,lasimulationn'apas réper ussiondire tesurlama hine)ouenligne.
Parmis eslogi ielsdesimulation,ontrouve:
Toolbox RobotiqueofMATLAB rééparP.I.Corke[34℄,quipermetlasimulation inématiqueetdynamique desrobotssérie
1
.
EROS duJPlRoboti setFLakey quisontdeslogi ielspourlasimulationderobotsmobiles[35℄.
A Virtual World for an Autonomous Underwater Vehi ule, est utilisé pourla simulationdes robots
sous-marins.Ilpeutenparti uliermodéliseren3Dles ara téristiquesdumilieumarin[36℄.
Rob ad deTe nomatix[37℄, ouSilma XG deMetrologi Group,sontdeslogi ielsutilisésdansl'industrie [38℄ pourlasimulationdusoudage parpointset par ordonde soudure,lapeinture,latéléopération,leforage, et ...
ADAMS,permet defairedessimulationsdynamiques,maisaussi inématiques,statiquesouquasi-statiquesde robotsmobiles[39℄.
SimMe hani s est unlogi ieldesimulationquifaitpartiedumodèlephysiquedeSimulink-MATLAB[40℄. Ilpeutmodéliserdemanièredynamique unema hinerigide.
Ilexisteaussideslogi ielsdéveloppéspardesuniversitésen ollaborationave despartenairesindustriels, omme parexemple:
KADMOS logi iel réalisé par l'université de LAVAL [41℄. Ce logi iel permet la visualisation, l'analyse et la on eptiondessimulateursdevol.Ave e logi iel,diérentstypesdegéométriesdusimulateurd'avionpeuvent êtredéveloppés.Ilpermetd'identierlagéométrielaplusadaptéeàson ahierdes harges.Desalgorithmessont utiliséspourrésoudredesproblèmesgéométriques, inématiqueset dynamiques.
SYMORO (Système pour la modélisation des robots) développé par L'IRCCyN (L'Institut de Re her he en
Communi ationsetCybernétiquedeNantes)dansledomainedelamodélisationdesrobotsmanipulateurspermet le al ulgéométrique, inématiqueetdynamique desystèmessimples,arbores entsetfermés [42℄.
Del'ensemblede eslogi ielsmentionnéspré édemmentADAMS,SimMe hani s,KADMOSetSYMOROsontdes
logi ielsquipeuventêtreutiliséspourlasimulationdesrobotsparallèles.KADMOSetSYMOROétantdeslogi iels
1
quiprimentlesétudesgéométriques, inématiquesetdynamiquesdesrobots,lamodélisationdesa tionneursréalisés estgénéralementsimpliée.L'utilisationdeADAMSpourraitêtreunesolution, arilpeutêtreasso iéàMATLAB pourl'asservissementdusystème.Mais,étantdonnéquenoussouhaitonsmodéliserlesa tionneurshydrauliquesdu robothexapodeenréalisantetenvisualisant omplètementlemodèlemathématique,nousavons hoisid'utiliserle logi ielMATLAB(Simulink-SimMe hani s)[43℄, arilvanouspermettre:
- lamodélisation,la mise en pla e des équations mathématiques (en utilisant Simulink), le positionne-
mentdansl'espa ed'unobjetave toutes les ara téristiquesphysiquesné essaires pourlasimulation dynamique (en utilisant SimMe hani s) et la visualisation en 3 dimensions des données (en utilisant VirtualRealityToolbox)grâ eàsalargegammed'outils.
- l'obtentiondess hémas fon tionnels(SimMe hani s)desensemblesréalisésenCAOàpartirde Solid-
work,pouvantinteragirave lemodèledévelopperenSimulink.
Pour plus de rapidité de al ul, MATLAB propose une interfa e vers des programmes é rits en langages C ou FORTRAM.
3.3.2 MATLAB, Simulink, et SimMe hanique
3.3.2.1 MATLAB (MATrix LABoratory)
MATLABpeutêtre onsidéré ommeunlangagedeprogrammationmaisaussiunenvironnementdedéveloppement destinéauxingénieurset auxs ientiques. Ilest utilisédans l'édu ation,la re her heetl'industrie. Sonavantage prin ipalparrapportauxautreslogi ielsestlasimpli itéave laquelleunproblèmepeutêtreexpriméetrésolu.
Lagure3.1présente lesintera tionsdel'interpréteurMATLABave toutes es omposantes(Toolbox, hierM, et ).
Fig.3.1Fon tionnementdel'environnementMATLAB.
MATLABpossèdediérentesfon tionsspé ialisées ommeparexemple:le al ulmatri iel,lesfon tionsd'analyse numérique,letraitementdesignal,lavisualisationgraphique2Det3D.MATLABadeuxmodesdefon tionnement: le mode intera tif où lesinstru tions sont exé utées au furet àmesure qu'elles sont insérées parl'utilisateur, et le mode programmationoùuns ript, rééà partird'un hier *.m, est exé utélignepar ligne.Ce dernier mode permetl'extensiondeMATLABàpartirdefon tions rééesparl'utilisateurduprogramme.
Demultiples boîtesàoutils(Toolbox) omposentégalementl'environnementdeMATLAB. Cesboîtesregroupent unensemblede hiers*.Mdéveloppéspourdesdomainestrèsvariés.Parmi esboîtesàoutils,ontrouveControl System Toolbox,Optimization Toolbox, SignalPro esing Toolbox,Virtual Reality, et . MATLABpeut avoirdes fon tions odéesàpartird'autreslangages(MexFiles) ommeleslangagesC,C++,FORTRAM,et ...
L'utilisateurpeutinteragirave l'interpréteurMATLABàpartirdediérentesinterfa esàsavoir:
la fenêtre de Commande (Command Windows) qui permet la relation entre l'utilisateur et l'environnement
MATLAB.
l'espa edetravail(Workspa e)quisto ketouteslesvariablesetquipermetd'utiliser esvariablesultérieurement.
L'environnement MATLAB possède un outil graphique qui permet de travailler ave des diagrammes de blo s,
appelé Simulink.
3.3.2.2 Simulink
SimulinkestunprogrammeadjointàMATLAButilisépourlasimulationdynamique[43,44℄.Ilpermetdereprésen- terdesfon tionsmathématiquesetdessystèmes sousformedediagrammedeblo s.Unevisualisation instantanée dusystèmepeutêtrefaiteenutilisantdesinstrumentsvisuels.
L'exé ution d'unmodèleSimulink réeun hierdefon tion,dit fon tionS(S-fun tion); ettefon tionpeutêtre
appelée parMATLAB.
Simulinkpeutre evoiretenvoyerdesdonnéesdansl'espa edetravaildeMATLAB.Ce isefaitàpartirdesvariables ommunesou parintermédiairedes hiers *.mat.Simulink possède une bibliothèquede blo s,parmi lesquelson trouve des générateurs de signaux, des opérateurs logiques ou en ore des fon tions de transfert. Notre système dynamiqueseraréaliséàpartirde ettebibliothèque.
Paramètres de Simulation
Avant de lan er une simulation, il est important de ongurer les paramètres de ette simulation en parti ulier le solveur (Solver). Le solveur est un programme qui permet de résoudre des équations diérentielles.Parmi les problèmesdiérentiels,ontrouve[45,46℄:
les équation diérentielles ordinaires (ODE, Ordinary Dierential Equation) qui présente laforme suivante :
F (x, y, y′, ..., y(n))
leséquationsauxdérivéespartielles(PDE,PartialDierentialEquation)
leséquationsdiérentiellesdéniesave unevaleurinitiale(IVP,Initial ValueProblem) ommeparexemplele
problèmedeCau hy
lesproblèmesauxvaleurslimites (BVP,Boundary ValueProblem)pourlesquelslesvaleurssontae téessur lalimitedudomaine.
Larésolutionnumériqueestréaliséepardis rétisationendénissantuns hémanumérique.Ilexisteplusieurstypes dedis rétisationàsavoir:
ladis rétisationdesvariablesetdesfon tions.
ladis rétisationdesfon tions.Dans e as, lesfon tionsre her héessontappro héessurunensembledepoints dis rets.
ladis rétisationdesopérateursdedérivation.L'équationdiérentielle ontinueestrempla éepardesformulations algébriquesdis rètesplusoumoinssimplesàrésoudre.
Less hémasnumériquessontregroupéesendeux atégories;less hémasexpli ites etimpli ites. Pourless hémas expli ites,lesvariables(
Xn+1
)se al ulentdire tementàpartirdesvaleurspré édentes(Xn, Xn−1...)
.Dansle as dess hémasimpli ites, le al ul desvariables (Xn+1
)né essitede résoudreune équationsupplémentaire (souvent non-linéaire).Deuxtypesderésolutionssontutilisésparlessolveursàsavoirless hémasàunpas(séparéoulibre) etless hémasàpasliés.Lorsd'unerésolutionàunpas,lesvariablesXn+1
dépendentuniquementde(Xn
)lorsque l'on utilise un s héma expli ite alors qu'elles dépendent deXn
et deXn+1
pour un s héma impli ite. Pour une résolutionàpasliés,lesvariablesXn+1
dépendentdetoutouunepartiedesvaleurspré édentes,jusqu'àn
,dansle asdess hémasexpli itesetimpli ites;pour edernier,ellesdépendentenplusdeXn+1
.En général,le solveur ODE45 est leplus ouramment utilisé pour larésolution de la plupart des problèmes dif- férentiels.Dans nostravaux,on utiliseradon e typedesolveur.Ilest basé sur laméthode deRungeKutta. Sa résolutionnumériqueàunpasutiliseuns hémaexpli ite(
Xn+1
est al uléeàpartirdelavaleurpré édenteXn
). S-fun tionsAu momentdela réationd'un modèleSimulink,une fon tionappelée S-fun tionsoufon tionS est généréesous MATLAB.Elledénitladynamiquedusystème.Lasyntaxeutiliséeparlafon tionSpermetuneintera tionfa ile ave le solveurde Simulink. La formede lafon tion S est très générale et peut a ueillir des systèmes ontinus, dis rets,et hybrides.
Lesfon tionsSpermettentd'ajouterdenouveaux blo sdeSimulink réésparl'utilisateur.Ces blo speuventêtre réésàpartirdulangagepropreàMATLABainsiqueleslangagesC,C++,FORTRAM,ouADA.Ensuivantun ensemblederèglessimples,denouveaux algorithmespeuventêtre rééset misenoeuvredansunefon tionS.
L'appeldes programmes onçu àpartirdes fon tionsSdénies ave MATLAB oud'autreslangages deprogram-
mation( C, C+ +,ADA, ouFORTRAM) est réalisé àpartir des hiers*.MEX. Ces hiers*.MEX sonttout
simplementdesprogrammesé ritsenlangagesC,C++etFortran ompilésàl'aidedu ompilateurmex( mexpour lesfon tionsMEX é ritesenCet fmexpourlesfon tionsMEXé ritesenFORTRAM).Le odeobjetdes hiers *.MEXestliédynamiquementave MATLAB, equipermet sontexé utionautomatique, ommedesfon tionsdu
noyaudeMATLAB.
3.3.2.3 SimMe hani s
SimMe hani sestunprogrammequiappartientàlafamilledesprogrammesdemodélisationphysiquedeSimulink [40℄.Ilpermetlamodélisationetlasimulationdessystèmesmé aniquesquipeuventêtre onne tésàunmodèlede systèmede ommande onçuàl'aidedesblo sSimulinktraditionnels.
Lesprin ipales fon tionnalitésdeSimMe hani ssontlessuivantes:
- lamodélisation etlasimulationdes orpsrigides.
- labibliothèqued'arti ulationset de ontraintes.
- lamodélisation desmouvementslinéairesetangulairesainsiquedesfor es etdes ouples.
- lavisualisationetl'animationdessystèmesmé aniquesaumoyendelaboiteàoutilsderéalitévirtuelle (VirtualsRealityToolbox)oudesgraphiquesMATLAB.
- l'analysedynamiqueet inématique,dire teetinversedessystèmesmé aniques.
- lessystèmesde oordonnéeslo alespourladénition desmodèles.
Les systèmes onçus par SimMe hani s peuventêtre animés en 3Den utilisant la boîte à outilsToolbox Virtual RealityToolbox.Ce ipermetde réerdesgraphiquesévoluésetanimésdefaçonréaliste,and'analyserlesrésultats numériquesenquantiantlemouvementdusystème.
Interfa eentreSimMe hani setCAO
SimMe hani semploieuneappro hedes hémafon tionnel(imbri ationdesboîtes)poursimulerladynamiquedu dispositif expérimental,mais etteappro he n'in luepastoute l'information géométriquedusystème, e que fait
un programme de CAO. An de pouvoir on evoir une piè e en CAO et d'introduire sa géométrie omplète en
plusdesamasseet desonvolumedansless hémasfon tionnels,Matworksa rééuntradu teur entrelelogi iel SolidWorks (Logi ieldeCAO)et SimMe hani s[47℄.
L'ensemble(systèmephysique)estréalisédansSolidWorksetàl'aidedel'interfa e.L'ensembleestsauvegardéave l'extension*.xml, ommelemontrelagure3.2suivante.
Fig.3.2Exportationd'unensemble(systèmephysique)deSolidWorks.
A partir du hier *.xml et en utilisant la ommande import_physmod de MATLAB, on génère le s héma
Fig.3.3Importationdumodèlephysiqueetgénérationd'un s hémafon tionneldansSimMe hani s.
3.3.2.4 Virtual Reality Toolbox
La boîte à outils de réalité virtuelle (Virtual Reality Toolbox) permet de visualiser et d'interagir ave système dynamique dans un environnement 3-D de la réalité virtuelle
2
[48℄. Cette boîte à outils permet le lien entre MATLABet Simulink ave unenvironnementgraphiquederéalité virtuelle.Elle ontrle laposition,la rotation, etlesdimensionsdesimages 3-D e quipermetuneprésentationet uneanimationdequalitéen3-D.
Cesprin ipales ara téristiquessont:
*Lesliensentrelessignauxdesortieet d'entréeSimulinketlemondederéalitévirtuelle,permettentde ontrler lesmouvementsdesobjetsvirtuels.
*Desoutilspourlavisualisationet la onstru tiondesmondesderéalitévirtuelle.
*Unear hite ture lient/serveurandepermettrela ollaborationentre plusieurssites.
*Desenregistrementsvidéo(AVIetWRL).
*L'intera tionentempsréeldessimulations.
La boîte de réalité virtuellepermet de relier unmodèle Simulink au monde de réalité virtuellepar le biais d'un hier standard-look-up de dialogue. La boîte à outils fournit une interfa epour attribuer des signaux Simulink an de ontrlerla réalité virtuelleet de paramétrerdes images et des vues dénies dans e hier. En utilisant etteappro he,onpeut ontrlerlaposition,larotationet latailled'uneimagepourreprésenterlemouvementet la déformationd'un objetphysiquevirtuel. On peut ajusterla position et l'orientationde la vuepour suivreles mouvementsdesobjetsdanslemondevirtuel.
Onpeut réerdesmondesvirtuelsenutilisantlelangagestandardVirtual RealityModelingLanguage (VRML)
3
. Laboîte àoutils de réalitévirtuelle fournit unenvironnementde travailde langage VRML très omplet,ave un éditeurde VRML, un importateur desobjets 3D enCAO, mais aussides visualisateurs très performants qui permettentdevoirl'animationd'unmondevirtueldansunnavigateurweb.
Laréalité virtuelledelaboîteàoutils fournitune interfa esouple. Laboîteàoutilspermet d'orienterdesobjets pour réerdesfon tionsde ontrleet lemonde virtuel.À partirdeMATLAB,lespositions et lespropriétésdes objetsVRMLpeuventêtre onguréesetdesinterfa esutilisateursgraphiques(GUI),peuventêtre réées.