Home
Rapport de stage - LaRA
Contents
1. Des codeurs incr mentaux g n ralement fix s sur les roues des v hicules ils donnent l indication du nombre de tours de roues effectu s par chaque roue Selon la qualit du capteur la pr cision est de l ordre d un 500 me de tour de roue Certaines techniques permettent de multiplier la pr cision par 4 Cela permet donc par une technique d int gration d obtenir la position du v hicule Ces capteurs permettent une excellente pr cision mais ont l inconv nient d avoir une erreur qui s accumule et doivent donc r guli rement tre recal s par un autre capteur le GPS RTK Global Positioning System Real Time Kine matic Bas sur un syst me classique de GPS le capteur est coupl une antenne fixe dont la position est connue de fa on extr mement pr cise et qui re oit galement le signal GPS De cette fa on l antenne calcule l erreur du GPS sur sa propre position et la transmet au v hicule qui peut compenser sa propre erreur de position La encore la pr cision est excellente mais n cessite d tre port e de l antenne RTK 1 1 4 Un logiciel pour tout assembler Intempora RT Maps TMaps Studio 5 x File View Actions Tools Diagram Help il ll aa i ld le li a A a SGEN Xx Overview Component list i ji Available components a RecFie_45 E p 2l 2 rare Prosi
2. ES Simulateur Vehiclelobs script The cameras There are three cameras scripts one basic with three cameras for the first vehicle The others add a fourth camera with a top view useful to watch the vehicle s trajectory but the good one to use depends whether there is a single or several cars run Simulateur Cameras script run Simulateur CamerasVoiture2 script if there are at least two cars run Simulateur CamerasSansVoiture2 script if there is only one car A crucial element sivicTime To be able to use the memory interface it is necessary to create a sivicTime object In every scenario it is called time new sivicTime time A simple script example ScenarioU followController script This paragraph will detail the ScenarioU followController script and its code As the name explains it is a scenario designed to be used with the follow controller and it uses an urban environment ScenarioU This is design to prepare the control algorithms that will be used with the linear camera As the linear camera doesn t exist in SiVIC there are only observers and the linear camera data is calculated in RTMaps from the positions of the cars these four scripts come with SiVIC and create an Urban environment run scenario urbain SiVIC Environnement Urbain script run scenario urbain objet script run scenario urbain skate script run scenario urbain batiment texture script now we need
3. WAINRIA ParisTech Rapport de stage Guillaume de Cagny Du 22 Mars au 27 Ao t 2010 REMERCIEMENTS Je tiens remercier toutes les personnes avec qui j ai travaill tout au long de ces quelques mois notamment Armand Yvet Cristian Sandu S bastien Chau rin Vincent Ducrot Francois Charlot Mohamed Marouf Paulo Resende et bien entendu tout particuli rement mon tuteur de stage Cl ment Boussard ainsi que ma tutrice Brigitte d Andr a Novel du c t de l cole des Mines De fa on g n rale je remercie l ensemble de l quipe IMARA pour ces quelques mois agr ables et enrichissants Table des mati res Introduction 4 1 1 L rcontexte in i vue nu ne ee une mm au Lt RL A A 4 1 1 1 L INRIA et le projet IMARA 4 1 1 2 Les v hicules te Sica toe hk es nent ras au 6 LES Les capt urs bu Sia dE ARE dise mas nd 8 1 1 4 Un logiciel pour tout assembler Intempora RTMaps 9 1 22 Lia missionitzi i ed eh he LUN haw ok E Aero lens lie 10 1 2 1 Int r t d une telle plate forme de simulation 10 1 2 2 Le simulateur Pro SiVIC 11 1 2 3 Contenu de la mission 12 Organisation technique et applications de la plate forme de si mulation 14 2 1 Des scripts Pro SiVIC modulaires 14 2 1 1 Des scripts l mentaires 14 2 1 2 Des scripts sc narios assemblant les pr c dents 15 2 1
4. le parking automatique dont la simulation a permis de corriger les bugs le suivi de trajectoire qui a pu tre am lior le suivi monotrace pour la conduite en peloton dont un probleme a pu tre mis en vidence et pour lequel des tentatives d am liorations ont pu tre faites 2 3 2 Une exploitation plus pouss e de la simulation Un autre des avantages de la simulation est que chaque donn e peut tre exploit e Ainsi il est possible d enregistrer les trajectoires des v hicules ce qui permet ensuite de les comparer dans le cas du suivi de trajectoire ou du 17 suivi monotrace Dans le cas du SLAM la simulation pourrait tre exploit e en enregistrant les positions r elles du v hicules et celles donn es par le SLAM ce qui permettrait de v rifier la pr cision de la localisation Par ailleurs il est galement possible de produire des vid os des simulations ce qui a t fait pour les quatre exemples cit s ci dessus De telles vid os ont un int r t ind niable de d monstration ou de pr sentation des travaux de INRIA 2 3 3 Quelques probl mes r siduels D des probl mes de performances graphiques de Pro SiVIC il n est pas possible d obtenir une simulation satisfaisante en temps r els sur les trois crans comme ce qui tait pr vu au d part En effet l utilisation syst matique d effets graphiques sur tout l environnement demande une puissance de calcul colossale que m me les de
5. sivic_low2high W rtmaps_RoutePlanner pck rimane SMIC nel 4 m In ProSiVIC_Image_47 image_multiplexer_21 ImageViewer_VMR9_22 ProSiVIC_Image_48 This product is licensed to INRIA IMARA m The objects names To link an RTMaps module to its corresponding Sivic object the name of the Sivic object has to be provided in the RTMaps module properties The pre created sivic scripts gives the following names The vehicles car car2 car3 car4 no matter the vehicle type The observers obs obs2 obs3 obs4 The cameras view viewg left viewd view2 view from the second vehicle vct top view The telemeters laser laser2 laser3 laser4 12 3 RTMaps Studio Diagram H Data conversion Data processing Diagnostic Generators Image processing Miscellaneous i Players Recorders Ports interfaces Sensors Viewers rtmaps_ControllerDeMux pck rtmaps_Cybercars pck rtmaps_Path2TrajectoryPlanner pck rtmaps_ProSiVIC pck i rtmaps_RoutePlanner pck rtmaps_SiVIC pck rtmaps_SimpleController pck rtmaps_VehicleState pck gt Ole C diagrams s cycab_position_play rtd m Tr hy D VectorViewer_28 A ProSiVIC_Braquage_41 ProSiVIC_Braquage H CH threaded SimpleController lanner_23 Kill component ProSiVIC_Acceleration
6. in Pro SiVIC Scenario followController script 4 vehicles or Scenario followController2 script 2 vehicles in RTMaps sivic_cycab_manual_play_follow_rec rtd e trajectory replay in Pro SiVIC Scenario replay script in RTMaps sivic_cycab_trajectory_replay rtd e trajectory replay 1 1 2 On Pro SiVIC To launch an scenario you need to launch Pro SiVIC do not forget to have the SG Lock dongle plugged in and type run scenario script in the console This will load the environment and create all the objects needed for the chosen scenario It is also possible to run a script with the Open button in Pro SiVIC In that case the files are located in C ProgramFiles x86 Pro SiVIC scripts when you are ready to connect SiVIC with RTMaps type run goRTMaps in the console The goRTMaps and stopRTMaps scripts These are general scripts goRTMaps puts every created object to its RT Maps mode Every car every sensor will be RTMaps enabled They contain com mands for every possible object but some scenarios don t use some of these objects In that case Pro SiVIC will give you Object not found errors This is normal stopRTMaps puts every component to the Off mode 1 1 3 On RTMaps Load the diagram in RTMaps then run it Do not forget to run goRTMaps in Pro SiVIC before this i ea Scenario Simulation Help move rotate in world s un scen
7. script RI Bureau Emplacements r cer l T l chargements A Biblioth ques B Documents E Images d Musique B Vid os 1 Ordinateur amp os c 23 Lecteur DVD RW D ca OS X Ga R seau 2470 88FPS 100 21 realtime Figure 1 2 or open it with the menu The cars The pre created elements contain up to four vehicles The scripts are named Vehiculei script to Vehicule4 script run Simulateur Vehiculei script for a Cycab run Simulateur Vehiculeimini script for a mini run Simulateur Vehiculeibus script for a CyBus There are scripts that can add several sensors to the vehicle The telemeters odometers To add telemeters to a vehicle the scripts are named VehiculeXYZ script where X is the vehicle number ie Vehicule 1 Y is the type of vehicle and Z is the sensor For example to add laser telemeters to the 2nd vehicle which is a CyBus type run Simulateur Vehicule2Cybuslaser script The observers For almost all simulations an observer for each vehicle will be required This observer is a component which monitors every aspect of the vehicle speed and position vectors heading and steering angles each wheel speed and radius and more It is needed to control the vehicle with RTMaps As for telemeters and odometers There are scripts for each of the four vehicles but there is no need to provide the type of vehicle
8. COLLADA 1 4 dae DEC Object File Format off DirectX x Lightwave Iwo F3 Lightwave Motion mot Ctrl F5 M3G mag java Ctrl Shift F3 MD2 md2 OpenFlight ft Ctri U Openinventor Civ Quake 3 map Shift F1 Raw Faces raw GA Save Current Theme Softimage XSI xsi Stanford PLY ply VRML97 rl vertex Keyframe Animation mdo Ctrl Q Wavefront obj Ctrl W mgEngine m SR2 Model___ X s scescene Figure 2 3 Set the directory and filename 26 The child files A child file is a file with raw 3D data like vertices triangles and quads There is little modification possible to do to those files one would rather edit the 3D model directly in Blender but sometimes it is useful to read the file to understand some problems Here is an example mgEngine mesh file exported from Blender mgEngine mesh import export script version 0 4 written by Christophe Braillon HHH HH HH Mesh name Formi2_Formi2 mesh closed surface false clock wise false this is the only interesting thing the associated material file color shininess material Formi2 material nb vertices 100 Gravity center 0 201807 0 272015 0 447231 vertex coordinates 0 000000 0 003447 0 009883 0 002450 0 003447 0 009573 0 002450 0 004432 0 009573 0 000000 0 004432 0 009883 0 004750 0 003447 0 008663 0 00
9. On 0 00 960 600 camd Capteurs sivicVueCamera camera2 cap 25 000000 0 040000 0 040000 pen 0 0 0 00 960 600 camg Capteurs sivicVueCamera camera2 cap 25 000000 0 040000 0 040000 pen 0 0 Object cont with type mgPositionController this allows to control the camera position with A pad 2 4 amp 6 S T3 79 AttachTo SetXPosController SetYPosController SetZPosController SetXRotController SetYRotController SetZRotController SetTranslationSpeed SetRotationSpeed SetMode x_trans2 y_trans2 z_trans2 T roOt2 y_rot2 Zero 1 000000 1 000000 Fly Q and on the num 2 1 2 This scripts creates vehicle names it car attaches it to the Cycab 3D model and sets its physical properties This script is useful to understand to add a The Vehicule1 script fifth car or to add a new car model 3D and physics 444444444 444444444844 VEHICULE 1 HEHHEEHEE HERRERA REESE the sivicVueCar object displays the speed and steering values in the SiVIC window new s ivicVueCar vc Sivic Car Objects creation mgMeshActor are 3D objects in the simulated environment the others are the 3D models of each wheel 3D model of the car new mgMeshActor chassis new mgMeshActor 1 new mgMeshActor fr 22 chassis is the car SetHauteurRoues 0 100000 0 100000 car SetRayonRoues 0 200000 the wheel radius for the physical simulation the
10. 4444444444444 4444 HEH internal sight from the first vehicle new sivicCamera cam new sivicVueCamera view left and right views new sivicCamera camg new sivicCamera camd new sivicVueCamera viewg new sivicVueCamera viewd this is used to control cameras with the keyboard inside SiVIC and is also used to control the cars when they are in mode 0 new mgPositionController cont first settings to do with the camera the Global position isn t used because it will then be attached to the car 20 cam SetGlobalPosition 250 0 70 0 4 cam LocalRotate 90 0 0 0 0 0 cam Rotate 00008070 cam SetZFar 5000 cam SetFocale 2 0 camg SetGlobalPosition 1250 0 70 0 4 camg LocalRotate 90 0 0 0 020 camg Rotate 0 0 0 0 0 0 camg SetZFar 5000 camg SetFocale 2 0 camd LocalRotate 90 0 0 0 0 0 camd Rotate 0 0 0 0 0 0 camd SetZFar 5000 camd SetFocale 2 0 this attaches the camera to the vehicle cam MakeChildOf chassis this puts the camera in the right way cam LocalPostRotate 070 90 0 070 the camera looks a little down cam LocalPostRotate 100000 this line decides of the position of the camera inside the vehicle cam SetLocalPosition 288534 0 1 3 same thing for the others cameras camg MakeChildOf chassis camg LocalPostRotate 0 0 90 0 0 0 camg LocalPostRotate 1e Om 00 020 camg SetLocalPosition 288534 0 1 3 camg LocalRotate 0 0 70 camd MakeChildOf chassis camd LocalPostRotate 0 0 90 0 0 0 camd LocalPostRotate mil
11. AO KO 0070 camd SetLocalPosition 288534 0 1 3 camd LocalRotate 0 0 79 Objects view viewi et view2 with type sivicVueCamera this is an image buffer where the camera image is put view SetViewport 0 0 00 00 we cannot see the camera inside SiVIC display through RTMaps view SetRenderSize view SetCamera view SetPath 960 600 resolution cam attach the view to the camera Capteurs sivicVueCamera if one want to record the images with SiVIC SetFileName SetExtension SetFrequence SetPeriodeOn view SetPeriodeRecord view SetRecordFormat view SetImageType view SetRenderer view view view view camera cap 25 000000 25 fps 0 040000 0 040000 pam rgb r the renderer is created at the beginning of the scenario and every view must be attached to it view SetColorMask view On i ah ol 21 viewd viewd viewd viewd viewd viewd viewd viewd viewd viewd viewd viewd viewd viewd viewg viewg viewg viewg viewg viewg viewg viewg viewg viewg viewg viewg viewg viewg SetViewport SetRenderSize SetCamera SetPath SetFileName SetExtension SetFrequence SetPeriodeOn SetPeriodeRecord SetRecordFormat SetImageType SetRenderer SetColorMask On SetViewport SetRenderSize SetCamera SetPath SetFileName SetExtension SetFrequence SetPeriodeOn SetPeriodeRecord SetRecordFormat SetImageType SetRenderer SetColorMask
12. angle de braquage 21 40 c MUsers Simmlateur Desktop enregistrenents wvoiturel n using 74 c AUsers Simulatear Desktop enrezistrenents voiture2 n using 3 4 20 0 20 FIGURE 3 2 Avec l angle de braquage 22 40 c Wsers Simelateur Desktop enregist renents voi turel c AUsers Simlatenr Desktop enregistrenents voiture2 100 80 60 40 20 0 FIGURE 3 3 Sans l angle de braquage 23 c Wsers Simelateur Desktop enregistrenents voiturel a using 3 c AUsers Simlatenr Desktop enrezistrenents voiture2 n using 3 4 100 80 60 40 20 0 20 FIGURE 3 4 Avec l angle de braquage 24 On constate bien une am lioration du suivi de trajectoire Dans ce cas pr cis il serait sans doute facile de montrer math matiquement que la seconde m thode est meilleure que la premi re En revanche pour des situations plus complexes l int r t de la simulation appara t de fa on claire puisqu une simple simula tion renseigne l utilisateur sur l int r t d un algorithme par rapport un autre Dans le cas o a se r v le concluant il peut tre int ressant d approfondir les math matiques sous jacentes dans le cas contraire cela permet de se rendre compte instantan ment que la piste suivie n est pas la bonne L utilisation du simulateur r sulte donc encore une fois dans un gain de temps 3 2 Le suivi monotrace Je vais maintenant
13. d ProSiVIC_VecteurDoubleVersRtMaps_39 ProSiVIC_Odometre_23 mei T mi This product is licensed to INRIA IMARA SivicLow2High_38 m Figure 1 3 Put the Sivic clock as Main Clock e SiVIC pck which contains basic control algorithms PI control which al lows to control vehicles with a speed rather than a couple which is more adapted to CyCabs and CyBus The Pro SiVIC clock First the Pro SiVIC clock is required to ensure that RTMaps and SiVIC are well synchronized First add the clock from Pro SiVIC package and then define it as the main clock Pro SiVIC modules Here is the list of the modules included in the Pro SiVIC package 10 e ProSiVIC_VecteurDoubleVersRtMaps This module gives the information from a sivicCarObserver sivic object e ProSiVIC_Accelerations This module allow to transmit an acceleration value to the specified car It s possible to set which wheels are subject to this acceleration Do not use ProSiVIC_Acceleration without an s as it sets the acceleration on the front left wheel only e ProSiVIC_View This modules has an image output that is the specified view e TempsProSiVIC This is a RTMaps clock It has no input nor output but needs to be set as main clock in RTMaps e ProSiVIC_Braquage This module controls a car s steering angle At tention SiVIC uses positive values to turn right and negatives to turn left so it s often n
14. de petits outils per mettant de substituer les programmes entre un v ritable v hicule et un sc nario simul Je vais maintenant pr senter tous ces outils que j ai pu r aliser pour rendre l utilisation de la plate forme la plus simple possible 2 1 Des scripts Pro SiVIC modulaires Basiquement Pro SiVIC fonctionne avec une ligne de commande qui permet de lui ajouter des objets de r gler leur propri t s d appeler leurs fonctions Pour obtenir un sc nario il faut regrouper toutes les commandes cr ant le sc nario cr ation de voiture choix du mod le r glage des param tres dans un fichier texte appel script Il me fallait crire tous les scripts permettant d obtenir les sc narios usuels et notamment ceux qui m ont servi par la suite savoir le suivi de trajectoire le suivi monotrace et d autres 2 1 1 Des scripts l mentaires Pour que ces scripts soit r utilisables au maximum ils ont t cr s de fa on modulaire c est dire divis s en petits scripts En effet comme il existe une com mande qui ex cute toutes les commandes d un script run fichier script il est facile de diviser le code en plusieurs morceaux r utilisables Ainsi de nom breux scripts l mentaires ont t cr s 14 des scripts environnement permettant de choisir entre un environnement vide plus l ger ou urbain 4 scripts cr ant une voiture un CyBus ou un CyCab A scripts ajoutant un t l m tre
15. displayed radius is the one of the 3D model car SetPosition 143 753 301 858 0 157 the position of the car car SetAngle 0 000000 0 000000 0 0000 the heading of the car the following concern the trajectory replay when car is in mode i or 25 car SetPath Trajectoires car SetFileNameTrajectory horseringi car SetExtensionTrajectory trj car SetFileNameTrack horsering car SetExtensionTrack trk the modes 0 controlled by keyboard 1 trajectory replay 2 trajectory replay with acceleration controlled by RTMaps 3 controlled by RTMaps car SetMode 0 car SetSpeed 0 physical parameters car SetIndice 1 car SetTyreGrip 162 car SetShockAbsorberFR 4000 6000 car SetShockAbsorberFL 4000 6000 car SetShockAbsorberRR 4000 6000 car SetShockAbsorberRL 4000 6000 car SetCarMasses 300 300 300 Objects vc with type sivicVueCar oe ee ee this displays the vehicle data ve SetViewport 0 0 100 80 vc SetCar car vc SetPosition 0 0 vc SetSize 100 vc SetDigitWidth 0 150000 vc SetPositionUnit 0 600000 vc Filigrane vc Braquage vc SetPeriode0On 1 000000 vc SetPeriodeRecord 1 000000 ve On 2 2 How to add a new car model to SiVIC This is a difficult operation which does not always work To implement a new 3D model in SiVIC one needs to open it in Blender Blender is absolety zero tolerant to faults and errors in 3D files so sometimes it is difficult to open the files The best way to open a 3D file i
16. en th se pose n cessairement des probl mes de transfert de comp tences plus ou moins long terme M me si je n ai pas t affect par le probl me d autres personnes autour de moi ont t g n es par un manque de donn es sur leur probl me alors que plusieurs personnes avaient 31 trait le sujet auparavant Ce probleme ci est probablement intrins que la fonction publique qui recrute sur concours ses permanents et n ouvre que peu de postes De mani re g n rale ce contact avec la recherche aura t enrichissant tout en me permettant de produire moi m me un projet fonctionnel et qui peut tre utile beaucoup ce qui est toujours agr able et int ressant 32 Chapitre 5 Annexe Mode d emploi du simulateur GS id Scenario Simulation Help H O move rotate in world s ans _SetIndiceTrajectory z 0 000000 posl 2 0 800000 t 0 000000 Dans lf 28 54FPS 57 14 realtime INRIA Simulator User Manual Guillaume de Cagny August 24th 2010 0 1 Introduction This document provides the files to use and how to use all the software to make physically realistic simulations using RTMaps and Pro SiVIC In this document which is part of my internship report I will provide every piece of technical information I used or gathered during my internship so that new users can find quickly all the information needed to run or modify the simulation platform We will assume that the reader has b
17. enregistrements voitured m using 3 4 220 F 200 F 190 F 180 170 290 310 320 330 340 350 FIGURE 3 6 La trajectoire suivie par quatre v hicules en peloton Correction du probl me Pass cette remarque nous avons essay plusieurs m thodes pour tenter de corriger le probl me faire varier le point d accroche entre les voitures ins rer un deuxi me point d accroche et d autres Une m thode a donn quelques r sultats il s agit de v rifier dans le composant que la commande volant que l on souhaite appliquer n est pas contradictoire c est dire ne va pas amplifier Verreur eg Cela r sulte dans une tr s bonne am lioration de l entr e de virage En revanche le fait de refuser de tourner dans le sens de eg est nuisible au suivi monotrace puisque les corrections ne peuvent se faire que dans un sens Cette m thode donne toutefois de tr s bon r sultats dans certains cas notamment lorsque la trajectoire du v hicule leader est simple avancer tourner avancer tourner 28 360 370 FIGURE 3 7 Illustration du d port lors des changements de courbure Si on consid re que les deux v hicules suivent exactement la m me trace sur une portion de courbure constante un arc de cercle les accroches vont suivre une trajectoire concentrique celle du v hicule Lors d un changement de courbure l attache du v hicule avant va suivre la trace rouge alor
18. laser la voiture concern e des scripts ajoutant des odom tres chacun des v hicules Ces odom tres ont t r gl s pour le projet AMARE et contiennent de cette fa on le m me nombre de ticks par tour de roue que ceux utilis s dans ce projet des cam ras des observeurs Ces composants sont sp cifiques au simulateur SiVIC et permettent de transmettre toutes les donn es concernant un v hicule rayon sous charge des roues vitesse instantan e de chaque roue mais aussi les valeurs exactes de param tres plus usuels tels que la position ou la vitesse du v hicule Ensuite tous ces scripts ont t r utilis s dans des scripts correspondants cette fois des sc narios qui peuvent tre mis en place et directement utilis s 2 1 2 Des scripts sc narios assemblant les pr c dents Voici une liste non exhaustive des sc narios cr s Scenarios de suivi de trajectoire en enregistrement et en rejeu comportant un unique v hicule en environnement urbain ou vide Scenarios de suivi monotrace environnement urbain ou vide avec deux ou quatre v hicules Scenario de SLAM celui ci a besoin par nature de l environnement urbain puisque le SLAM doit en dresser la carte Scenario de parking automatique celui ci a t cr pour tester des algo rithmes de cr neau automatique Scenario comportant une voiture avec des odom tres qui a t utilis pour AMARE pour compar la po
19. o l oeil nu ne permet pas d appr cier cette pr cision Par ailleurs le logiciel Pro SiVIC tant con u pour fonctionner en parall le avec RTMaps il lui transmet toutes ses informations et peut recevoir des com mandes d RTMaps il est un parall le tout a fait naturel avec le mat riel de VINRIA c est pourquoi j ai essay d exploiter au maximum cette possibilit afin de pouvoir interchanger les l ments simul s sous Pro SiVIC avec les v ritables v hicules capteurs de l INRIA notamment en leur donnant le m me format pour les entr es et sorties Enfin signalons qu un tel simulateur offre des possibilit s importantes de d monstration Si le d placement d un v hicule et l organisation d une v ritable d monstration rel ve d un projet part enti re la d monstration d une simu lation est d une simplicit presque enfantine dans la mesure o il est possible d enregistrer des vid os et que la seule chose transporter est un fichier Dans le cas o l on souhaiterait faire une d monstration du simulateur en conservant les possibilit s d interaction et ne pas se contenter d une vid o fig e il suffi rait alors de d placer l ordinateur constituant la plate forme de simulation pour pouvoir tablir une d monstration 1 2 2 Le simulateur Pro SiVIC Le logiciel Pro SiVIC est issu du logiciel Sivic d velopp conjointement par plusieurs laboratoires de recherche pour la plupart pa
20. pr senter un algorithme que j ai pu tudier d apr s l ar ticle de Michel Parent et Plamen Petrov Nonlinear Adaptive Control for Au tonomous Vehicle Following Cet article pr sente une m thode de suivi qui permet d obtenir sous certaines conditions le suivi monotrace 3 2 1 Pr sentation de l algorithme FIGURE 3 5 Algorithme de suivi monotrace Il s agit plut t que de recourir un asservissement de la distance autour d une valeur fix e ce qui pose des probl mes de cutting the corner d asservir la position d un point fictif de la voiture avant sur celle d un autre point fictif 25 de la voiture arri re En l occurrence on choisit un point en arri re du v hicule avant le point R r et un point en avant du v hicule arri re le point Ro On asservit alors la position de R2 sur celle de R1 et si Ly et Lo sont les longueurs de la figure alors pour L L le suivi monotrace sera obtenu en courbe stable Par courbe stable on entend lorsque le rayon de courbure est constant et tabli Pr sentons maintenant l algorithme en d tail on se place dans le rep re local du v hicule de t te On y calcule les quations diff rentielles r gissant les erreurs e erreur en distance ey erreur lat rale et eg 02 61 attention eg n est pas une erreur au sens o on ne cherche pas l annuler en courbe cette valeur n est pas nulle Ces equations sont Ex cose
21. using 3 4 gnuplot http u c Users Simulateur Desktop enregistrements woiture2 m using 3 4 mailing gnuplot faq bu etc type he immediate help type he plot window hit h Terminal type set to wxt ignuplot gt load plotscript2 txt ignuplot gt 60 L 100 120 224979 181 833 Figure 1 9 Plotting the trajectory 1 3 2 How to make a video of the simulation As for the trajectories the recorder will record the images coming from the SivicCamera component Create a recorder and plug the output of the sivic Camera In the properties windows select jpg files and check the two boxes This will create one jpg file per image coming from sivic Run the simulation and wait a little before launching the interesting if there is a controlled vehicle wait about 30 seconds before moving it 4 Record options Record options Select recording method jpeg RecFile_21 v Enable options for data co v Never skipping d 7 Use timestamp ProSiVIC_viewg Figure 1 10 Recording the images 18 When the simulation is finished stop it In the folder you specified there will be a lot of jpg files mencoder is installed on the simulator to make a video from the jpg files Then open a Windows shell cmd exe and go to the jpg files directory ie if the files are in C videofiles type cd C videofiles then run the following
22. 1 0 1 Introduction This section will describe the organisation of the RTMaps Pro SiVIC simulation platform Pro SiVIC is a simulation software that is designed to make physically real istic simulations with cars It comes with several included car physical models and 3D models It allows the user to manually control the car load a recorded trajectory without physics and to control the car with RTMaps modules This last possibility is the most useful because it will allow to control it with con trol algorithms with the exactly same modules which are used to control a real CyCab 1 1 How to use Existing Sivic Scenarios 1 1 1 Locate Needed Files To play a scenario we need two things e The RTMaps diagram with the desired modules e The Pro SiVIC script that creates a simulation with the desired environ ment the desired vehicles with proper equipment cameras laser teleme ters here is a list of the existing scenarios All RTMaps diagrams in relation with sivic have a name beginning with sivic_ whereas the SiVIC scripts begin with Scenario To execute those scripts in an urban environment with buildings replace Scenario with ScenarioU The scenarios are located in the SVN so if X is the SVN directory all the needed objects are located in X scenarios _internal Sivic The di agrams are in the diagrams subfolder The Pro SiVIC scripts are located in C Pro SiVIC scripts in the simulator e single trace following
23. 3 Ajout facile de nouveaux sc narios 15 2 2 Une forte interchangeabilit 16 22 SivicLow2High st 2 42 Pf 24 4b bas EN 16 2 227 SivicHigh2bow Ms e io Sal Oa Bad ee eS ee alee 16 2 2 3 Des composants capteurs ayant la m me forme que leurs quivalents r els 17 2 3 Une plate forme op rationnelle malgr quelques probl mes r siduels 17 2 3 1 Des algorithmes test s et valid s 17 2 3 2 Une exploitation plus pouss e de la simulation 17 2 3 3 Quelques probl mes r siduels 18 Exploitation du simulateur pour am liorer des algorithmes de contr le 19 3 1 Le suivi de trajectoire 19 3 2 Le suivi monotrace 25 3 2 1 Pr sentation de l algorithme 25 3 2 2 Int r t de l algorithme et perspectives de r alisation 26 3 2 3 fabrication d un composant RTMaps mettant en oeuvre Palgorithme seta ia pp a De us le ad 3 2 4 le d port entr e de virage 4 Conclusion 5 Annexe Mode d emploi du simulateur Chapitre 1 Introduction Ce rapport pr sente l int gralit du travail effectu lors de mon stage de fin d tudes l INRIA Rocquencourt Dans un premier temps il pr sentera l IN RIA et plus particuli rement le projet IMARA dont j ai fait partie ainsi que le contexte du stage et les missions qui m ont t affect es pu
24. 4750 0 004432 0 008663 0 006750 0 003447 0 007203 et caetera The parent files The parents mesh files are much more interesting because they are a efficient way to make simple modifications to the models scale rotation translation The parent mesh files are files where the 3D raw data is not present but is rather called by listing several child files as part of a bigger model So if one has a good model and wishes to scale it it is possible to create a parent file with the good model as child with a scale coefficient Here is an example of a mesh parent script childs are called with the child keyword with several parameters Lehildl I fil Translation l rotation I scale X Y Z I XYZ X Y Z child 16_3 mesh 0 418 0 200 0 098 000 1 00 1 00 1 00 child 16_2 mesh 0 429 0 200 0 096 000 1 00 T O0 100 child 16_1 mesh 0 422 0 256 0 100 000 10010000 etc 27 The material files The material files are located in the material subfolder of Pro SiVIC They define material s color shininess transparency There are many properties that can be set One can find those properties in SiVIC manual or in existing files 28
25. DLL cod s en C et peuvent donc interagir librement avec le syst me RT Maps fournit simplement un cadre pour l ex cution et la forme de ces com posants De ce fait ce logiciel offre des possibilit s tr s larges puisque l on peut rajouter n importe quel composant ex cutant n importe quelle action et offre galement une grande modularit car tous les composants sont r utilisables et il est tr s facile de modifier un diagramme pour cr er un sc nario l g rement diff rent Ce logiciel est omnipr sent dans le projet IMARA ce qui fait que toutes les briques de code d velopp es dans l quipe sont facilement assemblables en dia grammes et r utilisables y compris par d autres En association avec le syst me SVN install dans l quipe les composants sont de plus accessibles tous 1 2 La mission L intitul de mon stage tait Installation mise en oeuvre d une plate forme de simulation physique r aliste pour valider des algorithmes de platooning Cela a consist mettre en oeuvre le logiciel de simulation physique de v hicule Pro SiVIC et l interfacer avec RTMaps de telle sorte qu il soit facile de passer d un sc nario r el un sc nario simul De fa on obtenir un moyen simple de valider des algorithmes de contr le de v hicule ou des algorithmes de traitement de donn es capteurs Par la suite il me fallait impl menter un algorithme de platooning tel que d crit da
26. La cam ra lin aire Le projet de cam ra lin aire est un projet de d veloppement de capteur qui permet de d terminer avec pr cision la po sition x y 0 d un metteur dans le rep re du r cepteur ce qui permet dans la pratique de d terminer la position d un v hicule par rapport un autre ainsi que son orientation ce qui permet par exemple de d tecter si un v hicule est en train de tourner Le suivi de v hicules en peloton C est un des projets sur lequel j ai le plus travaill Il s agit de faire se suivre des v hicules pour former un peloton La contrainte principale tant d avoir l erreur lat rale la plus faible possible c est dire que les v hicules doivent reproduire le plus fid lement possible la trajectoire du pr c dent pour ne pas d border dans les virages par exemple Ici il s agit de suivi sans communication c est dire que les v hicules ne communiquent pas entre eux leur position par des moyens de communications informatiques La d tection doit se faire soit au moyen de capteurs embarqu s sur un v hicule tel qu un t l m tre laser ou sur les deux v hicules tel que la cam ra lin aire Le SLAM laser Simultaneous Localization and Mapping Ce projet est maintenant l un des plus aboutis de l quipe IMARA Il consiste au moyen d un ou plusieurs t l m tre s laser de d tecter la forme de l en vironnement d un v hicule et de cr er une carte de cet environ
27. a position relative des points fictifs En l oc currence cet algorithme a t mis en place pour tester la mise des v hicules en peloton Cet algorithme a pour int r t majeur de ne n cessiter pour sa mise en place que tr s peu d information seules la position et l orientation du v hicule de t te dans le rep re du v hicule suiveur sont requises Or ces informations sont exactement celles qui sont donn es par la cam ra lin aire c est pourquoi il appara t tr s int ressant de d velopper cet algorithme avec ce capteur 3 2 3 fabrication d un composant RTMaps mettant en oeuvre l algorithme Dans la mesure o l algorithme a besoin d informations sur la distance et Vorientation du v hicule suiveur dans le rep re du leader et dans la mesure o le capteur cam ra lin aire n est pas pr sent dans SiVIC ces informations ont t r cup r es dans les observeurs de SiVIC Ce qui constitue une facilit puisqu on r cup re position et orientations r elles de chaque v hicule avant de calculer les informations qui nous int ressent Cela vite les erreurs de mesure et de capteurs En revanche pour impl menter cet algorithme sur v hicule il faudra comprendre le fonctionnement des estim es et les impl menter Les premiers r sultats de simulation confirment le bon fonctionnement de Valgorithme on constate bien un suivi monotrace dans les courbes stables 3 2 4 le d port a l entr e de virage Il y a tou
28. ariou followcontroller script Figure 1 1 type run scenario script W Select script file gO gt Ordinateur OS C Pro SiVIC scripts Rechercher dans scripts p J MIC gt scripts i 2 Organiser Nouveau dossier fl Faoi Nom Modifi le Type a ITSTO9 script 04 12 2009 08 11 Fichier SCRIPT 2 orsay script 28 07 2010 16 06 Fichier SCRIPT F Scenario basic script 21 07 2010 15 00 Fichier SCRIPT Eil Scenario cycab script 21 07 2010 14 53 Fichier SCRIPT E Scenario cycab parking script 27 07 2010 16 53 Fichier SCRIPT F Scenario followController script 26 05 2010 13 55 Fichier SCRIPT 3 Scenario followController2 script 28 07 2010 16 13 Fichier SCRIPT F Scenario horsering Copie script 02 04 2010 14 16 Fichier SCRIPT F Scenario horsering script 31 05 2010 15 48 Fichier SCRIPT F Scenario odo script 05 07 2010 15 06 Fichier SCRIPT I Scenario positionPlay script 05 05 2010 15 10 Fichier SCRIPT A Scenario positionRec script 04 05 2010 11 29 Fichier SCRIPT ScenarioU followController script 26 05 2010 14 15 Fichier SCRIPT F ScenarioU followC Type Fichier SCRIPT 6 2010 16 48 Fichier SCRIPT si ScenarioU follo i Fichier SCRIPT Fichier SCRIPT ScenarioU positionPlay script 25 06 2010 10 45 Fichier SCRIPT Scenario urbain script 04 12 2009 10 54 Fichier SCRIPT Scenario urbain pieton script 28 05 2010 17 50 Fichier SCRIPT r Nom du fichier Script files
29. asic knowledge of how to use RT Maps For most operations screenshots are provided to make it as easy as possible Grey boxes present code samples commands to type or script files They present the code needed to make an operation or the code used to build this operation Contents OL Introductions s siete eee we BRA heni ak a ete ek The Basics how to use the Inria Simulator 1 0 1 Introduction i ip ee RR ANAL Bo at eS 1 1 How to use Existing Sivic Scenarios 1 1 1 Locate Needed Files 1 1 2 On Pro SiVIC oe sut fa de Mao en ee ue aa kko Or RI Maps 24 04 eee a 8 Dei dus lat plate ts 1 2 How to create new SiVIC Scenarios with existing elements 1 2 1 Create a new Pro SiVIC script 1 2 2 Pro SiVIC RTMaps modules 1 3 How to exploit the simulation data 1 3 1 How to plot the trajectory of the simulated car 1 3 2 How to make a video of the simulation How to make enhancements to the simulation platform 2 1 How to add new elements to SiVIC non existing elements to build more complex simulations 2 1 1 The camera script 2 1 2 The Vehiculel script 2 2 How to add a new car model to SiVIC 2 2 1 mesh files the 3D files used by SiVIC ONNEKRWBWwWww Chapter 1 The Basics how to use the Inria Simulator
30. avantages et ses inconv nients dont je vais d crire ce que j ai per u D une fa on g n rale l INRIA dispose d un excellent confort mat riel le budget pour l achat de mat riel est tr s large et plusieurs d penses importantes ont pu tre faites autour de moi lors de mon stage J ai moi m me eu l occasion de commander du mat riel certes pour un budget limit environ 1000 euros mais qui n a pos aucun probl me de v rification Par ailleurs la r putation de l INRIA lui permet de travailler avec de nombreux partenaires et sur de nombreux projets En revanche l INRIA comme la plupart des instances publiques souffre du cloisonnement des budgets c est dire que m me si le budget allou au mat riel est tr s important le budget humain est beaucoup plus strict M me la pro longation d un mois du stage d un de mes coll gues cette fois doit tre pes e avant d tre valid e D une fa on g n rale j ai cru comprendre que le projet IMARA manque de main d oeuvre qualifi e sur les sujets techniques autres que la recherche pure aussit t embauch un coll gue lectronicien a eu une charge de travail importante et a pu d bloquer des projets pour lesquels il manquait justement cette comp tence ou du moins les personnes qualifi es taient d j charg es de plusieurs autres projets Par ailleurs le fort taux de renouvellement du au fait que l essentiel des per sonnels sont en CDD en stage ou
31. command line vcodec mpeg4 o output avi mencoder mf jpg mf w 320 h 240 fps 25 type jpeg ovc lavc lavcopts F gt E C Windows system32 cmd exe Sto Microsoft Windows version 6 1 76661 Copyright lt c 2009 Microsoft Corporation Tous droits r serv s iC Users Simulateur gt cd c Program Files x86 gt Intempora RIMaps 3 4 bin demo lund i 20100611 170335 Video Copie c Program Files x86 gt Intempora RIMaps 3 4 binX XdemolundiX 20190611_179335 Video Copie gt mencoder mf jpg mf w 326 h 246 fps 25 type jpeg ovc lave lavcopts vcodec mpeg4 o output avi Figure 1 11 Encoding the video 19 Chapter 2 How to make enhancements to the simulation platform 2 1 How to add new elements to SiVIC non existing elements to build more complex simulations For particular simulations there could be a need of elements which are not yet coded in scripts like more vehicles different cameras or cameras used as sensors new 3D models Here will be explained and commented how the scripts were created and how to modify them This will not be exhaustive there are more information in the Pro SiVIC manual But most of the code can be re used and many upgrades can be done by duplicating the script files and modifying them 2 1 1 The camera script Here is the description of the Cameras script script 4 444 444444444444 44444444 VEHICULE 1 d4 4 4444
32. e Control adaptation de la vitesse en fonction du v hicule pr c dent etc 1 1 2 Les v hicules Le projet IMARA dispose d un mat riel important notamment au niveau des v hicules 4 Citro n C3 FIGURE 1 1 Les v hicules C3 Appartenant la Joint Research Unit LaRA ces voitures ne peuvent pas tre modifi es dans leur motorisation mais servent tester des capteurs et les quipements de communication Ainsi une des C3 est notamment utilis e pour d velopper l algorithme de SLAM 4 CyCabs V hicules principaux du projet IMARA les CyCabs sont des petits v hicules lectriques qui servent de plateformes de test ainsi que de d monstrations Faits sur mesure et adapt s aux activit s du projet IMARA ils ont les caract ristiques suivantes l gers environ 300 kg dimensions 1 90 m de longueur pour 1 20 m de largeur un CyCab peut accueillir deux personnes avec des bagages motorisation quatre moteurs lectriques pouvant atteindre une vitesse de 30 km h autonomie deux heures d utilisation continue un PC bas niveau sous Linux ce PC recoit des consignes en vitesse pour chacune des roues et en braquage des roues et interagit avec l lectronique pour appliquer ces commandes noter que chacune des roues est com mandable s par ment en vitesse et en braquage dans la pratique cette possibilit n est pas utilis e et on reste au mod le classique de la vo
33. ecessary to multiply the value by 1 e ProSiVIC_Telemetre This module gives the information from the sivic telemeter This is a float vector that gives centimeter values e ProSiVIC_Odometre This module gives the information from the sivic odometer It has a Distance output and a Speed output The four camera display SiVIC currently doesn t have its own fullscreen display As a workaround the Pro SiVIC pck package contains a module to display the camera image and RTMaps can display it with a DirectShow module In the rtmaps_simulateur_tools pck package there is an ImageMultiplexer module that allow to display a camera on a screen and switch camera by clicking on the screen 11 3 RTMaps Studio _ n File View Actions Tools Diagram Help BOXE ml RE 9 A Diagram X scenarios _internal SiVIC diagrams sivic_cycab_odometer rtd CAN frame viewer SET ee Console ron ve External Client Window E image_multia Oscilloscope z Overlay drawing 4 a Vector viewer rtmaps_ProSiVIC pck ProSiVIC_Image_46 Ecranmilieu InterfaceSDL MultiplicationAcc ProSiVIC_Acceleration ProSiVIC_Accelerations E ProsiVIC_Braquage p eptralelpertielle g g ProSiVIC_Image TODIV imageCorrection ProSiVIC_Odometre ProSiVIC_Telemetre ProSiVIC_VecteurDoubleVersRt TempsProSiVIC amp rtmaps simulateur tools pck sivic_laser_bracage
34. el notamment des v hicules ainsi que des comp tences Ainsi plusieurs personnes travaillent partiellement l cole des Mines et l INRIA Rocquencourt M A R_A Au sein de l INRIA le projet IMARA a la particularit de se d marquer des autres par le fait qu il se fait pratiquement exclusivement en collaboration avec des entreprises priv es ou des administrations ainsi plusieurs de ses projets font l objet de d monstrations ou sont directement financ s par des entreprises telles que Valeo mais galement des structures plus petites telles que la PME Modulowatt bas e Paris Les projets IMARA Bien entendu la voiture sans conducteur est un projet tr s large qui ne peut pas tre trait comme un tout c est pourquoi l quipe IMARA se divise en plusieurs sous projets qui recouvrent la majorit du probl me La communication Une des facettes du projet est l quipe communi cation qui se charge de mettre en oeuvre un r seau de communication inter v hicules ainsi qu une communication v hicule infrastructure Pour ce faire l utilisation de technologies vieillissantes est proscrire et la mise en oeuvre de technologies naissantes telles que le protocole IPv6 ou encore d autres technologies enti rement nouvelles et adapt es la com munication de courte dur e un v hicule ne restant port e d un autre v hicule ou d une portion d infrastructure que sur une dur e tr s courte
35. g Losin e 1 0 7 Cy ey sines Lacoseg 0 L si a ez o 0 1 2 0 1 2 0 3 3 o v1 w1 et v2 w2 sont les vitesses lin aires et angulaires des v hicules 1 et 2 on op re un changement de commande et on pose deux commandes wu et u2 telles que ui __ coseg Lasineg v2 3 4 ug sineg Lacoseg wo On suppose que Lo est non nul ce cas ne correspond de toute fa on pas une situation r elle ce qui nous permet d assurer que l on pourra passer d une commande l autre On obtient Ex v wiey Uy y Li ex un u2 3 5 On pose alors uy kxex Vi Wey 3 6 uz kyey Li Cx w1 Ce contr leur permet d asservir la position du point fictif du v hicule arri re sur celui du v hicule avant ce qui r pond en th orie au probl me Cependant il reste estimer les vitesses v et w1 ce qui correspond la partie adaptative du contr leur Cette partie n ayant pas t mise en place dans la simulation je ne la d cris pas ici 3 2 2 Int r t de l algorithme et perspectives de r alisation Obtenir un suivi monotrace simple est une chose tr s int ressante pour mettre en place un accrochage immat riel entre plusieurs v hicules Ainsi dans 26 le cadre du projet AMARE qui utilise lui une accroche mat rielle un tel al gorithme pourrait permettre de minimiser l effort sur l accroche condition de ne pas avoir trop d erreur dans l
36. in world s XY plane 0 800000 t 0 000000 Dans o ans _SetIndiceTtrajectory z 0 000000 posf21 28 54FPS 57 14 realtime FIGURE 1 5 Le logiciel Pro SiVIC 1 2 3 Contenu de la mission Mon stage s est d roul en trois parties Installation et prise en main du logiciel SiVIC La premi re partie de mon stage dans le projet Imara a t de mettre en place le simulateur sur une machine acquise cet effet Disposant d une configu ration puissante celle ci tait cens e permettre l INRIA de faire fonctionner le simulateur de fa on immersive avec trois crans et des p riph riques d interac tion simulant les v hicules volant joystick de fa on obtenir une plate forme de d monstration Pass cette installation il fallait ajouter au simulateur les v hicules IMARA Il s agissait donc d implanter dans le simulateur des mod les 3D des v hicules utilis s l INRIA notamment le CyCab et de les param trer comme ceux ci rayon des roues empattement poids afin d obtenir un comportement de v hicule le plus proche possible des v hicules r els 12 Adaptation du simulateur au projet IMARA Une fois le simulateur install il fallait adapter son fonctionnement celui des projets de l INRIA c est dire faire en sorte que des programmes notam ment des diagrammes RTmaps con us pour r aliser des sc narios sur v hicules puissent tre r u
37. is une seconde partie pr sentera le travail que j ai effectu Une troisi me partie pr sentera les r sultats obtenus et les utilisations de la plate forme de simulation que j ai pu r aliser pour l INRIA 1 1 Le contexte 1 1 1 L INRIA et le projet IMARA L INRIA L INRIA Institut National de Recherche en Informatique et Automatique est un centre national de recherche regroupant les comp tences scientifiques publiques dans le domaines des sciences informatique et du contr le On lui doit plusieurs projets comme les logicels Scilab et Scicos concurrents respectivement de Matlab et Simulink ou encore le langage Caml Le centre de recherche de Rocquencourt est le premier centre de l INRIA qui en compte depuis 7 autres partout en France L INRIA a f t ses 40 ans en 2007 Le projet IMARA L quipe IMARA est l quipe laquelle j ai t affect IMARA signifiant Informatique Math matiques et Automatique pour la Route Automatis e ce projet est celui qui s occupe de cr er la voiture de demain en quipant le v hicule d une certaine intelligence pour vacuer tout ou partie de la fonction du conducteur et ainsi obtenir une conduite plus optimale moins risqu e ou encore de nouvelles formes de transport urbain Ce projet fait l objet d une JRU Joint Research unit avec le CAOR de l cole des Mines qui porte le nom de LaRA La route automatis e Cette JRU permet de partager du mat ri
38. iture avec deux roues arri res droites et une commande appliqu e aux roues avant selon le mod le bicyclette un PC haut niveau sous Windows ce PC est celui qui ex cute le sc nario d sir il s occupe de toutes les interfaces homme machine des communi cations des capteurs et des algorithmes de traitement qui coordonnent le tout Il ex cute ces sc narios par le biais d un logiciel de programmation graphique RTMaps cr par la soci t Intempora et qui sera pr sent dans la suite de ce rapport FIGURE 1 2 Le CyCab v hicule phare du projet IMARA 4 CyBus Destin s un usage de d monstration les CyBus galement d nomm s AGV sont construits sur le m me principe que les CyCabs mais peuvent accueillir plus de passagers Ils sont d clin s dans deux mod les AGV ouvert et AGV ferm plus proche d un v hicule traditionnel FIGURE 1 3 Les CyBus encore appel s AGV 1 1 3 Les capteurs Le projet IMARA utilise de nombreux capteurs pour permettre aux v hicules de se r p rer dans leur environnement ou d analyser celui ci Cela comprend Des cam ras Pour ex cuter un traitement d image et doter le v hicule d une vision Des t l m tres laser Ces t l m tres sont constitu s d une diode laser rotative qui envoie un nombre fix d impulsions par tour pour d terminer sur une plage angulaire donn e la distance l obstacle le plus proche dans chaque direction
39. led on the simulator Scripts have been built to plot two or four trajectories to compare them in order to measure the error of the following controller To run 16 these take two or four m files and put them in the enregistrements folder of the Desktop They have to be named voiturel m voiture2 m and voiture3 m and voitured m if any Then launch Gnuplot from the quick launch icon and type in load plotscript2 txt for two cars or load plotscript txt for four cars Organiser Inclure dans la biblioth que Li avecsteering Cr neau remorque point milieu L sanssteering p test1 commande au joystick p test 2 rayon de braquage constant J Test 4 kY plus petit J Test 5 Correction 2 Li Test 6 correction moins d 1 m Li Test 7 correction 1m 2 p Test 8 Correction du pb alpha plus grand que Pi B Test 9 v saturee mais trop J 21 l ment s Partager avec test 10 Ler MY corrig test 11 Accroche au point d erreur minimale J Test3L1 L2 p Test12 d tection entree sortie par projet Ji Test13 i orque point milieu rar voiturel m voiture2 m voiture3 m rte GNUPLOT LJ EI Figure 1 8 Launching gnuplot 17 a gnuplot GNUPLOT Version 4 5 patchlevel last modified February 2618 System MS Windows 32 bit Copyright lt C 1986 1993 1 Thomas Williams Colin Kel o Users Simulateur Desktop enregistrements voiturel m
40. n Blender is to have it in 3DS format it is the one which worked the best Then put the 3D model as centered as possible If it is not well centered the output files can be manually corrected Use the mesh export script in blender Set the right Pro Sivic installation directory and choose a filename 24 1 defaultnO6_defaultnam HE view select object CEI CE Ce x Kw adi res Bde oder To detno _ def Figure 2 1 Loading the file into Blender The model is created and can be used in Pro SiVIC However often manually corrections are needed materials lighting This depends on how good the 3D model is To do this one needs to open the files in data meshes or data material to correct it The next section will discuss about the 3D files and how to modify them to correct little problems 2 2 1 mesh files the 3D files used by SiVIC Pro SiVIC uses mesh files to describe the 3D models and material files to describe the material properties of the models color reflects transparency There are two types of mesh files e Child meshes e Parent meshes 25 mpress File Sve Rendered Image Sreenshot Subwindow Skreenshot All Save Game As Runtime Spve Default Settings ad Factory Settings Append or Link External Data Quit Blender 3D Studio 30s x ACSD ac F1 Autodesk DXF dxf dwg Autodesk FBX fbx COLLADA 1 3 1 dae
41. n correcteur proportionnel de l erreur lat rale et de l erreur en angle du type B K e Ko e 3 1 o e est l cart lat ral avec la trajectoire et eg l erreur d orientation du v hicule Il est apparu que ce type de contr le perdait beaucoup d information en se contentant d une correction d erreur Il est beaucoup plus judicieux d inclure un angle volant de r f rence que l on peut soit enregistrer pendant l enregistrement de la trajectoire soit calculer ensuite en fonction de la courbure ce qui nous donne une commande en B Bref Ki el Ko e0 3 2 19 Pour valider cette am lioration nous utilisons le simulateur SiVIC pour en registrer une trajectoire et la rejouer Les graphiques des trajectoires suivies avec les diff rentes m thodes En tragant les trajectoires qu on se rend compte que sans le 8 2 on observe effectivement un retard aux virages et parfois un ph nom ne d oscillation En rouge sont trac es les trajectoires du v hicule qui enregistre En vert les trajectoires reproduites par le contr leur Deux trajectoires sont effectu es puis pr sent es d abord sans angle de braquage pr enregistr en correction d er reur puis avec l am lioration qui consiste rajouter un angle de braquage de r f rence 20 cz Users Simelateur Desktop enregistrenents voiturel a us c MUsers Simlateur Desktop enrezistrements voi ture2 n us FIGURE 3 1 Sans l
42. nement Au fur et mesure que le v hicule se d place l algorithme calcule le d placement de celui ci en fonction du d placement per u de l environ nement et en d duit la position actuelle du v hicule par rapport cet environnement Cette technologie est particuli rement int ressante de par sa pr cision meilleure qu un GPS et un fonctionnement possible m me en int rieur ou dans des conditions o le GPS ne fonctionne habituellement pas ou mal montagnes Le suivi de trajectoire pr enregistr e Ce projet est maintenant bien au point et consiste enregistrer une trajectoire avec un v hicule pour la reproduire plus tard sans conducteur Ce syst me est la base de d monstrations ayant eu lieu notamment en Italie et sur cette base un syst me de similaire au m tro a pu tre pr sent l utilisateur choisit sa station et le v hicule rejoue les trajectoires pr enregistr es jusqu la station choisie Le projet AMARE Ce projet command par Modulowatt consiste pr senter un v hicule lectrique qui s attache automatiquement une borne un syst me qui pourrait s apparenter au V lib pr sent dans Paris dans un premier temps puis ensuite d autre v hicules viendront s arri mer au premier par le biais d une attache qui permettra de les recharger lectriquement et de se d placer en peloton et bien d autres telles que de la d tection d obstacles de pi tons du Cruis
43. ns un article de Michel Parent et Plamen Petrov et exploiter les donn es produites pour pouvoir valider ou non cet algorithme 1 2 1 Int r t d une telle plate forme de simulation Malgr le nombre assez important de v hicules dont dispose l quipe IMARA tous ne sont pas disponibles en m me temps du fait d une certaine mobilit des machines situ es l int rieur il arrive souvent m me si un v hicule est libre de ne pas pouvoir l utiliser car le PC correspondant n est pas disponible et surtout il est souvent int ressant pour r aliser des tests de changer la configuration des v hicules comme la position d un capteur ou le type de capteur Ces op rations qui n cessitent un temps important pour tre r alis es en r el sont pratique ment instantan es en virtuel puisqu il s agit de modifier ou d ajouter quelques lignes de code dans un script pour pouvoir les ex cuter De plus dans la r alit la validation de la pr cision de certains algorithmes se heurte un probleme de mesurabilit il n est pas possible d obtenir la position r elle d un v hicule seulement de l estimer quelque soit la m thode utilis e que ce soit par odom trie par SLAM par GPS ou autre Dans le logiciel de simulation il est possible d acc der un nombre important de valeurs exactes 10 ce qui permet de comparer facilement des algorithmes de traitement de donn es et de mesurer leur erreur dans le cas
44. nts capteurs ayant la m me forme que leurs quivalents r els Les composants suivants inclus dans Pro SiVIC ont une forme directement analogue celle de leurs quivalents r els ProSiVIC_Telemetre s change avec AlascaXT qui est le composant qui renvoie les informations du laser Alasca utilis l INRIA ProSiVIC_Odometre renvoie les informations sur la distance parcourue tel les codeurs incr mentaux Cette information est quivalente un nombre de ticks et peut tre transform e l aide d un simple calcul ProSiVIC_View renvoie une image qui peut tre trait e de la m me fa on qu un capteur cam ra noter qu il y a un bien sur un risque que les algorithmes de vision se comportent diff remment sur une image simul e bien moins complexe qu une image r elle 2 3 Une plate forme op rationnelle malgr quelques probl mes r siduels En terme de r sultats la plate forme de simulation est pleinement op rationnelle Il est tout fait possible de cr er n importe quel sc nario et de le connecter un diagramme RTMaps donc d exp rimenter des algorithmes de contr le ou de traitement de donn es capteur sur un environnement virtuel donc sans risque et sans erreur de mesure 2 3 1 Des algorithmes test s et valid s Plusieurs algorithmes ont t exp riment s l aide de la plate forme de si mulation le SLAM qui tait d j au point et a montr une bonne performance
45. rni res g n rations de processeurs graphiques n ont pas pu offrir Cette fonctionnalit devra donc attendre une optimisation du moteur de Pro SiVIC D autre part le r glage des amortisseurs s est av r difficile malgr que le mod le soit pr sent dans le manuel de Pro SiVIC et on observe toujours un tangage excessif des v hicules Ce tangage est g nant dans la plupart des simulations qui utilisent un laser car les donn es de celui ci sont erron es car celui ci voit le sol lorsque le v hicule penche vers l avant Un r glage plus fin de ces amortisseurs virtuels bas sur une tude de l amortisseur du CyCab r el serait souhaitable pour obtenir un r sultat plus fid le la r alit La partie suivante pr sentera plus en d tail les r sultats de recherche obtenus sur les algorithmes de suivi de trajectoire et de suivi monotrace 18 Chapitre 3 Exploitation du simulateur pour am liorer des algorithmes de contr le 3 1 Le suivi de trajectoire Cette section concerne l am lioration du suivi de trajectoire pr enregistr e par le contr leur RoutePlanner de l INRIA Ce contr leur prend en effet un fi chier en entr e ainsi qu un point atteindre et calcule la trajectoire parcourir partir d une suite de points La commande du CyCab se fait de fa on classique avec une vitesse et un angle de braquage Ici on applique une vitesse de r f rence arbitraire La commande appliqu e en braquage est u
46. rtenaires de l INRIA le Laboratoire Central des Ponts et Chauss es LCPC VINRETS et le Livic A l origine un moteur open source ce logiciel est maintenant vendu par la start up Civitec qui a construit autour du concept original une nouvelle interface bas e sur une fen tre Windows o l on peut r gler les param tres sans passer par la console Sivic est un moteur physique et graphique permettant de simuler de fa on r aliste des v hicules dans un environnement Le moteur int gre un mod le dy namique de v hicule pouss qui tient compte dans la simulation de param tres complexes tels que les amortisseurs le rayon sous charge des roues ou encore le glissement En outre l int r t principal de Sivic est de proposer diff rents mod les de capteurs reprenant la plupart des capteurs utilis s dans le projet IMARA t l m tres laser cam ras pouvant tre utilis es soit pour visualiser la sc ne soit en tant que capteurs auquel cas on peut leur ajouter des filtres de bruit de flou codeurs incr mentaux pour l odom trie Ce logiciel est particuli rement adapt Imara dans la mesure ot il est con u pour fonctionner avec RTMaps toutes les donn es capteur sont exploit es par RTMaps tandis que celui ci retransmet une commande de couple appliquer au v hicule Ce transfert se fait au moyen de composants RTMaps fournis avec le logiciel 11 6 ad li Scenario Simulation Help move rotate
47. s que celle du v hicule arri re va suivre la trace verte Ce qui explique que l algorithme ne peut assurer un suivi monotrace lors des changements de courbure On obtient certes une m thode perfectible mais la simulation a permis d identifier un probl me et de commencer chercher des solutions Cela montre une fois de plus l int r t pratique qu un tel simulateur peut avoir dans un projet de recherche tel qu IMARA 29 170 160 150 140 130 120 110 100 90 c Users Simulateur Desktop enregistrements voiturel m using 3 4 c Users Simulateur Desktop enregistrements volture2 m using 3 4 i i i i i 590 595 600 605 610 615 620 FIGURE 3 8 Trajectoire ainsi amp brrig e ici avec deux v hicules 625 630 Chapitre 4 Conclusion Ce stage m aura permis d appr hender concr tement un projet de recherche int ressant et de r aliser un outil utile et pratique pour le d veloppement de nouveaux algorithmes Le fait d avoir un sujet de stage au croisement de beau coup des projets de l quipe IMARA a t tr s instructif dans la mesure ot j ai pu c toyer de nombreux projets et avoir un peu de recul pour pouvoir avoir une vision globale sur les projets en cours J ai ainsi pu me rendre compte plus efficacement des forces et faiblesses de l INRIA D une fa on g n rale ce stage m a permis d appr hender le monde de la recherche publique avec ses
48. s_37 SivicHigh2Low_29 anlav nacitinn Vartarifiamar 21 This product is licensed to INRIA IMARA Figure 1 4 Provide the object name in the properties 13 e The odometers odolleft odolright odo2left odo2right etc e The clock time To drive the vehicle with a speed instead of an acceleration The SiVIC pck package contains a PI controller that allows to speed control the vehicle To use it the vehicle need to have an observer attached and the following RTMaps modules a ecteurDoubleVersRtMaps_39 SivicLow2High_38 OBSERVER Actual speed Desired speed MultiplicationAcc_55 ProSiVIC_Braquage_41 _ ProSiVIC_Accelerations_37 SivicHigh2LonN s SpeedAngle_Joystick_34 l ProsMIC Figure 1 5 The PI controller SivicLow2High and SivicHigh2Low SivicHigh2Low and SivicLow2High can be found in the SiVIC pck package The usual INRIA diagrams use components called Low2High and High2Low which respectly gather data and gives orders to the low level part of the vehicles These have the same role for simulated cars The difference is that to control the vehicle with a PI the SivicHigh2Low needs the actual speed of the vehicle The source of this project can be found on the IMARA SVN Launching the new simulation To launch the simulation first load the Pro SiVIC script then type run goRTMaps in the Pro SiVIC console and then play the RTMaps diagram Most times the
49. simulation doesn t work the first time FIFO was not found message so the RTMaps diagram has to be stopped and run again 14 osi LL 2 File View Actions Tools Diagram Help TM xp alvis Meas RENE A Diagram X scenarios _internal SiVIC diagrams sivic_cycab_manual_play_follow_rec rtd Component list di Available components Data conversion Data processing Diagnostic P Generators RecFile_28 E Image processing Miscellaneous a Players Recori Player A m a S Record options amp Ports interfaces FPE Record options E Sensors n E m amp Viewers ProSIVIC_ eurDoubleVersRtMaps_39 m zg rtmaps_ControllerDeMux pck Select recording method E rtmaps_Cybercars pck rtmaps_FollowController pck rtmaps_Path2TrajectoryPlanner pck rtmaps_ProSiVIC pck rtmaps_RoutePlanner pck a E rtmaps_SiVIC pck a Ea rtmaps_SimpleController pck amp rtmaps_VehicleState pck rtmaps_simulateur_tools pck ox SivicLon2High_38 r mfile 7 Enable options for datfeabbed text amp Fast record path Comments Blackbox 0 00 00 000 SivicHigh2Low_22 a a Create folder M ivicLow2High_38 Delay 0 00 00 000 Figure 1 7 Setting the file folder Plot the trajectory using Gnuplot Gnuplot is a little utility coming from the Linux community and is instal
50. sition calcul e du v hicule avec sa position r elle 2 1 3 Ajout facile de nouveaux sc narios La liste pr c dente laisse transpara tre qu il est facile avec les scripts l mentaires existants de cr er un sc nario ou de modifier un existant pour rajouter un v hicule ou le modifier changer d environnement ajouter un capteur etc il suffit d appeler le script correspondant la place de celui qu on veut remplacer Cela se traduit par la modification de quelques lignes de code ce qui comparer avec la modification d un v hicule r el permet une conomie de temps impor tante On se reportera pour les d tails techniques au manuel en annexe de ce rapport 15 p E SpeedAngle_Joystick_34 2 2 Une forte interchangeabilit Comme pr cis on souhaite pouvoir changer facilement un diagramme si mul avec son quivalent r el Pour cela il a fallu mettre en place deux compo sants 2 2 1 SivicLow2High Ce composant est con u pour tre chang avec un composant utilis a PIN RIA dans les CyCabs et qui est d nomm CycabLow2High Comme son nom le sugg re ce composant sert r cup rer l information du PC bas niveau no tamment la position et la vitesse du CyCab Assez naturellement ce composant r cup re les informations sur le v hicule virtuel l aide d un observeur et les formate pour avoir les m mes sorties que CycabLow2High SivicHigh2Low ProSiVIC_VecteurDoubleVersR
51. tMaps_39 SivicLow2High_38 OBSERVER Actual speed MultiplicationAcc_55 a a FIGURE 2 1 Le contr leur PI constitu de deux blocs RT Maps 2 2 2 SivicHigh2Low Ce composant de la m me fa on est con u pour remplacer CyCabHigh2Low savoir qu il transmet une consigne de vitesse au v hicule virtuel Cela pose un l ger probl me dans la mesure o un CyCab r el est command en vitesse alors qu un v hicule de SiVIC est command en couple Dans cette mesure il a fallu impl menter un contr leur pour obtenir la bonne valeur de la vitesse dans un temps raisonnable Il a t choisi d utiliser un contr leur classique de type PI Proportionnel Int gral Pour que ce contr leur fonctionne il est donc n cessaire d avoir un feedback sur la vitesse r elle du v hicule Ce retour est bien s r pris sur les sorties de SivicLow2High Ce retour est la seule diff rence entre les modules utilis s sur les sc narios r els dans la mesure o l utilisation de SivicHigh2Low requiert celle de SivicLow2High chose qui n est pas n cessaire sur les v ritables CyCabs 16 ProSiVIC_Accelerations_37 PI controller ProSiVIC_Braquage_41 Ces deux composants m ont permis de trouver des quivalents l interface entre PC bas niveau et haut niveau De la m me fa on des composants SiVIC correspondant aux diff rents capteurs donnent les m mes donn es que leurs quivalents r els 2 2 3 Des composa
52. tefois un ph nom ne de d port en entr e de virage le v hicule suiveur commence par faire un d port dans la direction oppos e du virage du v hicule de t te L exploitation des donn es de simulation ont clairement fait appara tre ce d port de fa on plus claire que la simple observation du compor tement sur vid o Le probl me tant que ces erreurs s accumulent et finissent au quatri me v hicule par atteindre des erreurs proches du m tre Ce n est pas acceptable et j ai par la suite tent de voir comment am liorer ce r sultat Description du ph nom ne Commen ons par d crire le probl me qui est intrins que au principe de Valgorithme en effet le fait d asservir un point fictif sur un autre correspond syst me de remorquage Or sur un convoi de remorques il est tout fait logique d obtenir ce genre de comportement en effet si on suppose qu un instant donn le v hicule entre en virage vers la droite alors l accroche qui est situ e en arri re du v hicule va commencer par tourner gauche Il ne s agit donc pas d une erreur dans le code ou dans l algorithme mais bien intrins que au fonctionnement de l algorithme 27 T T c AUsers Simulateur Desktop enregistrements voiturel m using 3 4 ci Users Simulateur Desktop enregistrements voiture2 m using 3 4 c Users Simulateur Desktop enregistrements voiture3 m using 3 4 Users Sinulateur Desk top
53. tilis s avec un minimum d effort pour faire des simulations Si VIC Cela s est traduit par l criture en C de plusieurs composants pour RTMaps un pour pouvoir commander le v hicule avec une commande en vitesse comme un v ritable CyCab un pour r cup rer les informations de la voiture et les formater au m me format que les donn es sortant du PC bas niveau d un CyCab r el un pour pouvoir obtenir une sensation immersive avec l affichage sur trois crans et la possibilit de changer de cam ra en cliquant sur l cran Utilisation du simulateur et exploitation de donn es Une fois la plateforme de simulation pr te et op rationnelle j ai pu m en servir pour tudier et essayer d am liorer des algorithmes de contr le Plusieurs algorithmes ont pu tre essay s soit des fins de d monstration soit des fins de d boguage mais deux ont t tudi s dans leur fonctionnement et ont pu tre travaill s l algorithme de suivi d une trajectoire pr enregistr e l algorithme de commande en peloton correspondant la cam ra lin aire Dans la section suivante nous allons rentrer dans les d tails techniques de mon travail sur la plate forme de simulation 13 Chapitre 2 Organisation technique et applications de la plate forme de simulation Comme dit pr c demment la plate forme de simulation est constitu e d un cadre logiciel Pro SiVIC RTMaps et d un certain nombre
54. to create 4 cars with observers we can see that it is not necessary to execute the observer script right after creating the vehicle run Simulateur Vehiculei script run Simulateur Vehicule2 script run Simulateur Vehiculeiobs script run Simulateur Vehicule2obs script run Simulateur Vehicule3 script run Simulateur Vehicule4 script run Simulateur Vehicule3obs script run Simulateur Vehicule4obs script now let s create cameras There are more than 2 vehicles so we use CamerasVoiture2 script run Simulateur Cameras script run Simulateur CamerasVoiture2 script don t forget to create a clock new sivicTime time 1 2 2 Pro SiVIC RTMaps modules To interface RTMaps with Pro SiVIC several components are needed Here will be described all the components needed to make the Sivic RTMaps interface work The Pro SiVIC package The requested modules are located in two packages e Pro SiVIC pck which is the package that comes with Pro SiVIC and con tain all the modules to connect RTMaps to the cars and other objects is 3 RTMaps Studio File View Actions Tools Diagram Help amp x la Meno Diagram scenarios _internal SiVIC diagrams sivic_cycab_odometer rtd 7 H Component list F PSC POELE TempsPr rtmaps_FollowController pck rtmaps_Path2TrajectoryPlanner pc rtmaps_Cybercars pck Kill component D amp S Properties V Use as main clock a
55. vic_accelerations_24 p d inverseBracage Progi iVIC_Braquage_25 Data conversion Data processing Diagnostic Generators J Image processing LaserSlam pck J Miscellaneous Players Recorders J Ports interfaces ScopeCurl pck Sensors J Viewers J rtmaps_AlascaxT pck rimane ControllerNeminy nrk xl Studio console output This product is licensed to INRIA IMARA FIGURE 1 4 Le logiciel RTMaps Chaque brique bleue est un composant les lignes oranges sont les liens entre les entr es et sorties de donn es Le logiciel RTMaps est au coeur des sc narios du projet IMARA c est le logiciel qui met en oeuvre tous les sc narios A l origine cr pour faire de la fusion de donn es multicapteurs il met en oeuvre des composants qui sont des ex cutables avec des entr es et des sorties de donn es dat es et synchronis es Ces composants sont organis s sous la forme d un diagramme o l on dispose les composants voulus et l on connecte les sorties des uns avec les entr es des autres Une fois le diagramme cr chaque composant s ex cute et recoit des donn es les traite et en renvoie Il n est pas n cessaire que les composants aient des entr es ou des sorties Ainsi un g n rateur d images n a pas d entr e mais une sortie et un visualiseur d image n a pas de sortie mais juste une entr e Les composants sont des ex cutables sous Windows ce sont des librairies
Download Pdf Manuals
Related Search
Related Contents
XTS3000携帯型一般無線用無線機 取扱説明書 Elite Series E125H, E140H 超音波画像診断装置 SonoSite TiTAN ユーザーガイド Copyright © All rights reserved.
Failed to retrieve file