P36 Robots Mobiles Chorégraphes : Différence entre versions

De Wiki d'activités IMA
(Programmation)
(Principe)
Ligne 62 : Ligne 62 :
  
 
La commande des moteurs se fait via PWM (Pulse Width Modulation) permettant de modifier la tension moyenne et donc la vitesse. On passe par un driver moteur pour avoir la puissance requise.
 
La commande des moteurs se fait via PWM (Pulse Width Modulation) permettant de modifier la tension moyenne et donc la vitesse. On passe par un driver moteur pour avoir la puissance requise.
 +
 +
Le prototype fonctionne avec un programme d'exploration qui utilise les capteurs sharp pour définir une direction.
 +
[[Fichier:Principe_exploration.png]]
 +
 +
Les capteurs Sharp donnent une valeur entre 0 (pas d’obstacle) et 500 (obstacle < 1cm) [varie avec la luminosité]. Il nous faut maintenant traiter ces données pour en sortir une commande de direction.
 +
 +
Pour cela, nous avons décidé de faire une analogie avec une balance où chaque donnée des capteurs serait un poids sur celle-ci. (cf fig X). En calculant le point d’équilibre, c’est-à-dire le barycentre, on peut en déduire une commande de direction. Cette commande est le contraire du barycentre. Autrement dit, si le barycentre se trouve à droite, il faut tourner à gauche.
 +
 +
L’avantage de cette technique est que le robot peut réaliser des virages plus ou moins serré en fonction de l’environnement. On peut régler ce paramètre en augmentant la variable (imaginaire) de distance qui correspond à la longueur de la balance.

Version du 12 octobre 2017 à 12:45

Tuteurs : Rochdi MERZOUKI
Projet de fin d'étude réalisé par Joshua LETELLIER

Présentation générale du projet

Contexte

Ce projet est réalisé dans le cadre des projets de fin d’études de cinquième année à l’école d’ingénieur Polytech Lille en formation IMA (informatique, Microélectronique, Automatique).

En 2016, Polytech Lille a accompagné une association artistique 'P.A.S' dans la réalisation d'un ensemble de robot mobile, servant dans une démonstration artistique, démontrant le chaos généré par les THF (Transactions Hautes Fréquences). Suite à ce stage, un prototype fonctionnel a été réalisé, des modifications ont été apportés et une commande pour 12 robots a été faite.

Objectif

L'objectif de ce PFE est de reproduire 12 robots sur la base du prototype déjà en place en prenant en compte les modifications prévues. Il faut élaborer ensuite une stratégie de coopération en partenariat avec les artistes. Le test de l'ensemble se fera lors d'un évènement artistique en Fév. 2018.

Cahier des charges

Lors du stage le cahier des charges du prototype était le suivant:

  • pouvoir effectuer mouvement fluide / saccadé
  • rester dans une zone (zone non visible du public)
  • recevoir des commandes d’un serveur via wifi
  • éviter les autres robots
  • émettre de la lumière visible du public
  • coût réduit (<300 €)
  • mise en route rapide et facile
  • autonomie 30 min (minimum)

Pour le PFE, les robots doivent respecter le même cahier des charges

Présentation du prototype

Définitions des fonctions et solutions

Fonction1.png Fonction2.png

Choix technique

Châssis: Un châssis en bois plutôt qu'en plastique car beaucoup plus simple à fabriquer et à modifier. De plus grâce au fabricarium nous pouvons découper nos pièces à la découpe laser.

Moteurs: Moteur Courant Continue + Motoréducteur commandé par un driver moteur.

Commandes:La teensy 3.2: elle est plus puissance et plus rapide (90Mhz) qu'une arduino et coûte le même prix.

Communication:L'ESP8622 est de plus en plus utilisé par la communauté et malgré sa complexité il exite beaucoup de documentations sur internet. De plus elle dispose d'un très bon rapport qualité/prix.

Lumières:Les neopixels sont d'excellent composant et sont beaucoup utlisés en spectacle. Cependant ils consomment beaucoup.

Batterie:Technologie Lithium Ion, plus difficile à mettre en place (besoin d'un circuit de contrôle pour la charge et la décharge) mais une bien meilleure capacité volumique.

Capteur obstacle: 3 Sharp IR placé à l'avant du robot, simple et économique.Plus deux micro-rupteurs actionné avec le bumper en cas de contact.

Capteur entrée/sortie: Capteur à effet hall avec une bande magnétique placé sur la scène.

CAO

Sniper1.png Sniper2.png

Principe

Principe sniper.png

Comme nous pouvons le voir sur la figure, le robot possède :

  • 3 capteurs télémétriques Sharp
  • 2 microrupteurs utilisés pour la détection de collision
  • 2 encodeurs à quadrature de phase
  • 2 moteurs CC + motoréducteurs
  • Bande LED néopixels

Les moteurs sont régulés en vitesse en boucle fermée grâce aux encodeurs à quadrature de phases. Ceci offre une résolution de 512 impulsions pour 1 tour de roue. Le robot peut atteindre une vitesse maximum de 57 cm/sec (~2 km/h) et minimum de 5mm/sec.

La commande des moteurs se fait via PWM (Pulse Width Modulation) permettant de modifier la tension moyenne et donc la vitesse. On passe par un driver moteur pour avoir la puissance requise.

Le prototype fonctionne avec un programme d'exploration qui utilise les capteurs sharp pour définir une direction. Principe exploration.png

Les capteurs Sharp donnent une valeur entre 0 (pas d’obstacle) et 500 (obstacle < 1cm) [varie avec la luminosité]. Il nous faut maintenant traiter ces données pour en sortir une commande de direction.

Pour cela, nous avons décidé de faire une analogie avec une balance où chaque donnée des capteurs serait un poids sur celle-ci. (cf fig X). En calculant le point d’équilibre, c’est-à-dire le barycentre, on peut en déduire une commande de direction. Cette commande est le contraire du barycentre. Autrement dit, si le barycentre se trouve à droite, il faut tourner à gauche.

L’avantage de cette technique est que le robot peut réaliser des virages plus ou moins serré en fonction de l’environnement. On peut régler ce paramètre en augmentant la variable (imaginaire) de distance qui correspond à la longueur de la balance.