Automatisation d’un Parking Autonome

Bonjour à toutes et à tous !

Dans cet article, nous présenterons notre projet sur l’automatisation d’un parking autonome réalisé en deuxième année de cycle préparatoire. Nous étions deux étudiants à être en charge de la rédaction du cahier de charge et de la conception d’une maquette CAO (en 3D).

Le parking automatisé a été mis en place pour augmenter la capacité de stockage d’un parking tout en diminuant l’espace utilisé et ainsi pouvoir créer des espaces verts.

En résumé, l’utilisateur arrive avec sa voiture à l’entrée du parking, qu’on appellera par la suite la salle de transfert. Une fois que la voiture est correctement positionnée dans la salle de transfert, l’utilisateur sort de sa voiture et se dirige vers la borne d’entrée pour recevoir un code. La voiture est ensuite transportée et rangée automatiquement dans la place qui lui a été affectée. L’utilisateur pourra donc aller faire ses courses, ou travailler sans se soucier de garer sa voiture. Lorsque l’utilisateur souhaitera récupérer sa voiture, il n’aura qu’à taper le code et payer. La voiture sera par la suite récupérée et positionnée dans la salle de transfert sans aucune intervention de la part de l’utilisateur.

Le parking automatisé s’adresse uniquement aux voitures. Motos, camionnettes, camions etc… en sont donc exclus. Le but principal est un gain de temps pour l’utilisateur : celui-ci n’a pas à chercher une place de parking, celle-ci vient directement à lui.

Documentation et rédaction du cahier des charges

Notre travail consistait à concevoir les différentes parties du parking, pour cette raison nous avons commencé par nous documenter sur le sujet. Nous nous sommes par la suite mis d’accord sur le type de parking envisagé qui dans notre cas est un parking droit en hauteur. En effet, le parking droit possède des avantages multiples. La taille et la forme du parking sont optimisées en fonction de l’espace disponible, ce qui crée une liberté de configuration.

Nous avons schématisé le parking

Schéma du parking vu de l’extérieur

Nous avons schématisé le système de déplacement

Schéma du système de déplacement

Le parking mis en place est un parking en hauteur de 5 étages et le rez-de-chaussée qui sera occupé par la salle de transfert. Chaque étage peut occuper 2 places de parking, une à droite et une à gauche. La surface de la base du parking sera donc équivalente à 3 voitures positionnées l’une à côté de l’autre (soit 2 places de parking + un système de rail).

Devant le parking se situera une barrière de sécurité pour indiquer la hauteur maximale acceptée. Cette barrière sera accompagnée d’une barrière levante automatique qui ne s’ouvrira que si une voiture souhaite intégrer le parking. Avant d’ouvrir la barrière, le système devra s’assurer que la salle de transfert est vide, qu’il y a de la place dans le parking et que le véhicule respecte la hauteur maximale.

Une fois que le conducteur sera entré dans le parking, il se dirigera vers la salle de transfert. Notre interface affichera alors le nombre de places disponibles, et donnera des indications (éteindre la voiture, fermer les rétroviseurs) à l’utilisateur. Il positionnera le véhicule sur une plaque creusée tournante qui sera elle-même sur notre système de rail.

Plaque creuse modélisée sous SolidWorks

Plaque creuse modélisée sous SolidWorks

Une fois que l’écran affichera que la voiture est bien positionnée, le conducteur pourra donc sortir de sa voiture et se diriger vers la borne d’entrée. À la borne d’entrée, le conducteur pourra cliquer sur un bouton poussoir qui générera un code aléatoire unique. Il recevra un ticket avec un code référant à la place de parking attribuée à son véhicule.

Pour cela, nous avons travaillé sur l’interface homme-machine qui permettra à l’utilisateur d’interagir avec notre système. Une fois que nous nous sommes mis d’accord sur le modèle des interfaces d’entrée et de sorties, nous avons programmé l’interface d’entrée sous python afin de mieux la visualiser.

Interface d’entrée programmée sous Python

Interface d’entrée programmée sous Python

Le véhicule posé sur la plaque est lui-même lié à notre système de rail, qui assurera le déplacement vers la place de parking choisi. Il sera garé dans le même sens que celui de l’entrée dans la salle de transfert.

Lorsque l’utilisateur souhaitera récupérer son véhicule, il devra se diriger vers la borne de sortie située à gauche du parking et cliquer sur le bouton qui permet de récupérer la voiture. Puis, il pourra rentrer le code donné précédemment. Une fois le code validé, l’utilisateur devra attendre que les portails de la salle de transfert s’ouvrent afin de récupérer sa voiture et sortir du parking. Pendant ce temps, le véhicule ira sur la plaque tournante qui le placera dans le sens de sortie.

Modélisation 3D

Lorsque nous avons finalisé la partie recherche, nous sommes passés à la partie développement. Il fallait dans un premier temps modéliser notre système via un logiciel de CAO. Nous nous sommes concentrés sur le système de déplacement, montée et descente de notre plateforme et donc des véhicules ainsi que sur la modélisation des plaques creusées. On a donc fait le choix d’utiliser le logiciel SolidWorks, car il est le plus adapté pour la modélisation des systèmes mécaniques.

Voici une animation du système de déplacement mis en place

Programmation Capteurs et servomoteurs

En parallèle au développement de la CAO, nous avons commencé le travail de programmation des capteurs en utilisant une carte Arduino et un Shield. En effet n’ayant aucune base dans la programmation des capteurs, nous nous sommes renseignés auprès de nos professeurs et d’autres encadrants tout en consultant en parallèle divers sites internet.

Dans un premier temps, nous nous sommes penchés sur le fonctionnement du servomoteur car il était plus simple et nous avons réussi à trouver une documentation plus riche en renseigements. Nous avons pu faire tourner le servomoteur dans les différents angles souhaités.

Puis, nous avons programmé les capteurs. Au début, nous avons essayé des codes pour tester le fonctionnement ainsi que la sensibilité des différents capteurs comme pour le capteur de pression ainsi que le capteur de distance. Ensuite, nous avons essayé de mettre en lien les capteurs avec les servomoteurs pour pouvoir les actionner à notre guise et simuler le fonctionnement.

Enfin, nous avons lancé la partie modélisation. Dans un premier temps, nous avons donc monté nos différents capteurs dans un premier temps en testant nos programmes test pour vérifier si notre utilisation était la bonne. Puis, nous avons fait le montage de la maquette en tenant compte uniquement de l’électronique, et ce, en effectuant les montages de nos différents servomoteurs ainsi que de nos capteurs (qui sont intégrés au même système).

Test du capteur de pression

Test du capteur de pression

Montage de l'un de nos capteurs de présence et de notre servomoteur

Montage de l’un de nos capteurs de présence et de notre servomoteur

Test du capteur de distance

Test du capteur de distance

Pour conclure, ce projet fut une expérience enrichissante. Cela a été l’occasion pour nous de découvrir le monde du travail, et d’allier la théorie à la pratique. Enfin, nous avons pu acquérir de nombreuses connaissances à la fois en mécanique et en programmation de capteurs.