Guidage et Surveillance d'un véhicule à travers un Cockpit de conduite : Différence entre versions

De Wiki de Projets IMA
Ligne 10 : Ligne 10 :
 
On pourra également télé-opérer le véhicule réel à tout moment, c'est à dire le piloter via le cockpit. La manipulation pourra éventuellement être réalisée avec deux Robucars.
 
On pourra également télé-opérer le véhicule réel à tout moment, c'est à dire le piloter via le cockpit. La manipulation pourra éventuellement être réalisée avec deux Robucars.
  
''''Définition des outils à disposition''''
+
 
 +
== Définition des outils à disposition ==
 +
 
  
 
'''SCANeR Studio: Logiciel de simulation pour la recherche et l'ingénierie'''
 
'''SCANeR Studio: Logiciel de simulation pour la recherche et l'ingénierie'''

Version du 31 mars 2014 à 12:51

Dans le cadre de la quatrième année au sein de la spécialité Informatique-Microélectronique-Automatique, nous allons réaliser un projet permettant de piloter et surveiller un véhicule autonome à travers un cockpit de conduite. Ce projet sera encadré par Rochdi MERZOUKI.

Résumé du projet:

Dans le cadre du projet InTraDE, transport autonome du fret, nous souhaitons relier le cockpit de conduite de la salle C002 à un véhicule mobile RobuCar. Pour cela, le cockpit qui fonctionne sous le simulateur de dynamique du véhicule SCANeR Studio, communiquera directement via le réseau WiFi avec un véhicule autonome Robucar. Tout d'abord, nous modéliserons le parking de Polytech Lille sur le logiciel SCANeR Studio. Ensuite, nous intégrerons à ce terrain un véhicule Robucar déjà modélisé. Nous élaborerons alors un scénario dans SCANeR mettant en scène plusieurs véhicules, pilotés automatiquement par SCANeR et le Robucar, piloté par une API (Application Programming Interface) sur le PC supervision. L'objectif de ce projet est de récupérer des consignes de vitesse et d'angle de braquage des roues du véhicule Robucar grâce à un programme MATLAB déjà opérationnel et de les envoyer au PC Supervision où ils seront récupérées par une API. Celle-ci prendra en charge l'acheminement de ces données vers le cockpit de simulation et sur les channels adéquates pour que l'API (ModelHandler) qui contrôle le véhicule simulé prenne en compte ces consignes et les applique au modèle dynamique. De ce fait, nous verrons évoluer en temps réel le Robucar dans la simulation et simultanément, le volant du cockpit suivra les mouvements du véhicule réel. L'utilisateur pourra ainsi suivre le déplacement de la Robucar dans la simulation et observer, parallèlement, les mouvements du volant dans le cockpit.


Pour aller plus loin

On pourra également télé-opérer le véhicule réel à tout moment, c'est à dire le piloter via le cockpit. La manipulation pourra éventuellement être réalisée avec deux Robucars.


Définition des outils à disposition

SCANeR Studio: Logiciel de simulation pour la recherche et l'ingénierie

SCANeR Studio est un logiciel de simulation de conduite automobile Temps Réel offrant à ses utilisateurs une interface de surveillance ou de contrôle d'un véhicule. Il permet la représentation d'un environnement, modélisé en 3D par le logiciel, auquel un ou plusieurs véhicules sont intégrés. Les véhicules simulés peuvent être contrôlés de différentes façons:

- automatiquement par la simulation

- avec un joystick

- avec un cockpit de simulation

- en reproduisant les mouvements d'un véhicule réel etc

Chacun de ces modes est programmé par une API intégrée au logiciel. Pour réaliser une simulation, il faut un terrain munis d'un ou plusieurs véhicules et créer un scénario. Ce scénario va intégrer les API nécessaires à notre application. Certaines API existantes sont utiles pour, par exemple, récupérer des données sur le véhicule simulé (vitesse, position etc). Dans notre projet, nous allons développer et utiliser plusieurs API permettant d'échanger des informations entre le Robucar, le cockpit de simulation et un PC de supervision. Dans un premier temps, nous développerons un Serveur sur l'ordinateur de la Robucar pour communiquer avec une API Client sur le PC de supervision du cockpit.


Le véhicule ROBUCAR

Le Robucar est un véhicule automatique "intelligent", autonome et électrique, commercialisé par la société ROBOSOFT. Il est composé d'un châssis à quatre roues motrices et directrices pilotables séparément. Il y a donc deux paramètres de commande pour chaque roue (orientation, vitesse de rotation). Il est équipé d'un ordinateur de bord et d'une carte d'acquisition Temps Réel DSPACE qui récupère les données du véhicule. L'accès à ces données est rendu possible par la librairie CLIB.


Véhicule Robucar


Création d'un Serveur UDP

Pour créer une communication entre le PC supervision et le PC intégré au Robucar, nous avons choisi de créer un serveur UDP. Nous avons préféré ce protocole au TCP car il est plus rapide et la perte de quelques paquets n'est pas gênante pour notre application. Le serveur est implémenté en langage C++ sur Windows grâce à la bibliothèque « Winsock2.h ». La RobuCar est piloté avec un programme Matlab et son programme Simulink correspondant. On charge dans le logiciel dSPACE ControlDesk du Robucar le programme équivalent à celui sur MATLAB avec des noms de variables propres à la bibliothèque CLIB. Une interface apparaît et nous pouvons alors récupérer, en pilotant le véhicule, des valeurs de consignes pour l’angle de braquage des roues et la vitesse moyenne des roues. On récupère directement ces deux consignes dans l’API Serveur grâce à la librairie « clib32.h ». Sur le PC supervision, l'API Client se connecte au serveur et reçoit alors des paquets contenant une consigne de vitesse et de braquage