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

De Wiki d'activités IMA
(Liste du matériel)
 
(34 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
''Tuteurs : Rochdi MERZOUKI <br/>''
 
''Tuteurs : Rochdi MERZOUKI <br/>''
''Projet de fin d'étude réalisé par Joshua Letellier''
+
''Projet de fin d'étude réalisé par Joshua LETELLIER''
  
=Description=
+
== Présentation générale du projet ==
==Rappel du sujet==
+
=== Contexte ===
En 2016, Polytech Lille a accompagné une association artistique 'PAS' dans la réalisation d'un prototype de robot mobile, servant dans une démonstration artistique, racontant l'histoire de la bourse financière. L'association veut réaliser cette année une chorégraphie du même principe avec plusieurs robots. L'objectif de ce PFE est de reproduire 12 robots identiques au prototype, en rajoutant l'électronique adéquate pour la communication. 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.
+
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 ===
 +
[[Fichier:Fonction1.png|700px]]
 +
[[Fichier:Fonction2.png|700px]]
 +
 
 +
=== 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===
 +
[[Fichier:Sniper1.png|250px]]
 +
[[Fichier:Sniper2.png|250px]]
 +
 
 +
===Principe===
 +
[[Fichier: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.
 +
[[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.
 +
 
 +
En plus de cela, nous pouvons modifier la couleur et la vitesse du flux de la bande de neopixels via Wifi.
 +
 
 +
Nous avons donc atteint les objectifs souhaité sur UN prototype, j'y ai aujourd'hui apporté des modifications.
 +
 
 +
==Dernière version==
 +
===CAO===
 +
[[Fichier:Sniper3.PNG|250px]]
 +
[[Fichier:Sniper4.PNG|300px]]
 +
[[Fichier:Sniper5.PNG|300px]]
 +
 
 +
===Explication===
 +
J'ai gardé la forme générale du robot mais j'ai augmenté son périmètre de sorte à pouvoir installer un diffuseur de lumière le plus grand possible.
 +
 
 +
===Liste du matériel===
 +
{| class="wikitable centre" width="80%"
 +
|-
 +
| align="center" colspan="3" |
 +
Energie
 +
|-
 +
! scope=col | Nom
 +
! scope=col | Quantité
 +
! scope=col | Détail
 +
|-
 +
| width="33%" |
 +
Batterie
 +
| align="center" width="33%" |
 +
26
 +
| width="33%" |
 +
LiPo 2600mAh 7.4V
 +
|-
 +
|-
 +
| width="33%" |
 +
Chargeur Batterie
 +
| align="center" width="33%" |
 +
2
 +
| width="33%" |
 +
UP100AC QUAD Multi charger
 +
|-
 +
| align="center" colspan="3" |
 +
Motorisation
 +
|-
 +
! scope=col | Nom
 +
! scope=col | Quantité
 +
! scope=col | Détail
 +
|-
 +
| width="33%" |
 +
Contrôle de 2 moteurs
 +
| align="center" width="33%" |
 +
14
 +
| width="33%" |
 +
L298N/RB01C025
 +
|-
 +
|-
 +
| width="33%" |
 +
Moteur
 +
| align="center" width="33%" |
 +
26
 +
| width="33%" |
 +
RS003-Enco
 +
|-
 +
|-
 +
| width="33%" |
 +
Stepdown
 +
| align="center" width="33%" |
 +
26
 +
| width="33%" |
 +
Pololu 5V 2.5A
 +
|-
 +
| align="center" colspan="3" |
 +
Contrôle
 +
|-
 +
! scope=col | Nom
 +
! scope=col | Quantité
 +
! scope=col | Détail
 +
|-
 +
| width="33%" |
 +
Teensy 3.2
 +
| align="center" width="33%" |
 +
13
 +
| width="33%" |
 +
Contenu 3
 +
|-
 +
|-
 +
| width="33%" |
 +
Module Wifi
 +
| align="center" width="33%" |
 +
13
 +
| width="33%" |
 +
ESP8266
 +
|-
 +
| align="center" colspan="3" |
 +
Capteur
 +
|-
 +
! scope=col | Nom
 +
! scope=col | Quantité
 +
! scope=col | Détail
 +
|-
 +
| width="33%" |
 +
Sharp IR
 +
| align="center" width="33%" |
 +
47
 +
| width="33%" |
 +
GP2D150A
 +
|-
 +
| width="33%" |
 +
Microrupteur
 +
| align="center" width="33%" |
 +
26
 +
| width="33%" |
 +
SPS75GCC
 +
|-
 +
| width="33%" |
 +
Capteurs à effet hall
 +
| align="center" width="33%" |
 +
13
 +
| width="33%" |
 +
Module Tinkerkit capteur effet Hall Arduino T000070
 +
|-
 +
| align="center" colspan="3" |
 +
Mécanique
 +
|-
 +
! scope=col | Nom
 +
! scope=col | Quantité
 +
! scope=col | Détail
 +
|-
 +
| width="33%" |
 +
Visserie
 +
| align="center" width="33%" |
 +
3
 +
| width="33%" |
 +
à compléter
 +
|-
 +
|}

Version actuelle datée du 24 octobre 2017 à 10:00

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.

En plus de cela, nous pouvons modifier la couleur et la vitesse du flux de la bande de neopixels via Wifi.

Nous avons donc atteint les objectifs souhaité sur UN prototype, j'y ai aujourd'hui apporté des modifications.

Dernière version

CAO

Sniper3.PNG Sniper4.PNG Sniper5.PNG

Explication

J'ai gardé la forme générale du robot mais j'ai augmenté son périmètre de sorte à pouvoir installer un diffuseur de lumière le plus grand possible.

Liste du matériel

Energie

Nom Quantité Détail

Batterie

26

LiPo 2600mAh 7.4V

Chargeur Batterie

2

UP100AC QUAD Multi charger

Motorisation

Nom Quantité Détail

Contrôle de 2 moteurs

14

L298N/RB01C025

Moteur

26

RS003-Enco

Stepdown

26

Pololu 5V 2.5A

Contrôle

Nom Quantité Détail

Teensy 3.2

13

Contenu 3

Module Wifi

13

ESP8266

Capteur

Nom Quantité Détail

Sharp IR

47

GP2D150A

Microrupteur

26

SPS75GCC

Capteurs à effet hall

13

Module Tinkerkit capteur effet Hall Arduino T000070

Mécanique

Nom Quantité Détail

Visserie

3

à compléter