Teaching - 2i013

Enseignants


2i013 - Groupe 5 : Course de voiture

simulateur.zip Δ

tracks.zip

Présentation des fichiers circuits:

Ensemble de fichiers de test à charger et à tester.

Présentation du simulateur:

Le makefile permet de construire un simulateur fonctionnant sur le principe suivant:

USAGE ./simulateur :
./simulateur track_file sens_checkpoint sens_depart_voiture action_file
sens : Est|NordEst|Nord|NordOuest|Ouest|SudOuest|Sud|SudEst

Il faut donc fournir à l'éxecutable les arguments:

  • fichier circuit
  • sens de franchissement de l'arrivée
  • sens de départ de la voiture (c'est différent pour les circuits qui ne sont pas des boucles...)
  • fichier action

Les méthodes clés

Dans Voiture.ml

  • calcNextPosVoiture: mise à jour de la voiture
    A partir du moment où le simulateur est en ligne, c'est cette fonction qui doit devenir la base de votre système automatique. Elle gère le comportement de la voiture en fonction des actions passées par le "conducteur".
  • bougeListeCommande: jouer une liste d'action
  • toutes les capacités de la voiture sont définies dans le simulateur: ce sont ces capacités qui serviront dans la suite du projet.

En guise de rattrapage...

Pour ceux dont le projet est moins avancé que les propositions émises dans le simulateur, il s'agit d'une opportunité pour se remettre à niveau: vous pouvez utiliser toutes les méthodes qui vous semblent utiles dans le simulateur.

Les autres méthodes utiles

Toutes les fonctions de Vecteur2d (!)

I/O

  • Sauvegarde/chargement/affichage de terrain
  • Affichage voiture
  • Sauvegarde/chargement de liste d'action

Dérapage

Le comportement de la voiture est assez élaboré dans le simulateur: l'angle de braquage max est toujours le même mais la voiture ne se comporte pas toujours de la même manière.

Plus la voiture va vite, moins le conducteur peut tourner le volant sans provoquer un dérapage... Tout cela est codé dans un tableau difficile à comprendre. Vous interagissez à l'aide de la fonction findAnglePc qui vous donne la commande max à ne pas dépasser pour tourner sans déraper.

Les exemples

la base

Vous pouvez lancer:

./simulateur 1_safe.trk Nord Nord exemple1.run

pour voir un exemple de fonctionnement du simulateur. Il faut bien sur que 1_safe.trk et exemple1.run se trouve dans le répertoire courant.

télémétrie optionnelle

Vous pouvez lancer:

./simulateur 1_safe.trk Nord Nord exemple1.run telemetrie

A la fin de l'exécution de la simulation, une fenêtre gnuplot s'ouvre pour montrer la vitesse de la voiture tout au long de la course ainsi que les commandes d'accélération et de freinage transmises.