IMA4 2018/2019 P37

De Wiki de Projets IMA


Présentation générale

Description

L’Association de Robotique de Polytech Lille a pour but principal de participer à la RoboCup qui est la compétition de robotique la plus célèbre dans le monde, elle regroupe ainsi plusieurs ligues de football, mais pas que… Elle est aussi ouverte à de nouveaux challenges comme la Rescue Challenge, la RoboCup @Home qui promeut la robotique de service, ou encore la RoboCup Industrial qui regroupe : la RoboCup @Work et la Logistic League. En 2018 à Montréal, l'association a fini Vice Championne du Monde de Robotique en Logistics League. Cette ligue consiste en un challenge logistique dans lequel évolue 3 robots dans un environnement didactique simulant une usine de production. Un match durant cette ligue consiste en trois phases.

La première, qui dure environ 5 minutes, est une phase de préparation, ou on doit mettre les robots en condition pour commencer le match. Ensuite, vient une phase de découverte du plateau où les robots naviguent sur le plateau de jeu afin de cartographier et se créer un plan. Enfin, la phase de résolution est celle où le robot va résoudre dans l'ordre le plateau, en allant chercher dans l'ordre les pièces dans les machines qui sont dans un ordre particulier. Le but donc est de répondre à des commandes à l’aide d’une flotte de 3 Robotino 3 de Festo.

RoboCupPiste-768x468.png

Objectifs

Le projet a deux buts.

Le premier est de résoudre l'une de leur problématique. Lors de leurs compétition, il est évident, les robots ont besoin d'êtres rechargés. Actuellement, leur solution est de recharger les robots par câble. Cependant, cette solution n'est pas optimale pour eux car, ils perdent du temps à brancher et débrancher leurs robots avant et après les matchs, et par conséquent leur font perdre du temps de préparation. De plus, lorsque le robot attend de rentrer dans la zone de jeu, il n'est pas en recharge. Or, souvent il arrive que cette phase de préparation dure plus longtemps que prévu, et donc les robots gaspillent leur énergie inutilement. L'idée était donc de réfléchir tout d'abord à propos d'une station de recharge sans fil (par induction paraît être le plus réalisable) et ensuite de la réaliser si c'est possible.

Cette station permettrait la recharge des robots, (comme la technologie de recharge sans fil pour téléphone) et ainsi d'éviter l'encombrement des fils de recharge. De plus, on doit également étudier cette solution pour comparer avec l'ancienne (filaire) pour déterminer si elle est plus efficace en terme de vitesse de rechargement. (Cette étude viserait donc à dimensionner une bobine, à vérifier le courant induit de cette bobine, calculer le rendement de la recharge,...)

Par ailleurs, nos tuteurs ont soulevé un autre point. Entre leurs matchs, il est nécessaire pour eux de modifier le code de leurs robots. Pour éviter les interférences avec les autres robots, ils évitent de se connecter en wifi, il privilégie le filaire. Cependant, ils souhaiteraient que la station embarque une interface pour communiquer avec le robot, le tout dans un objectif d'optimisation. Cette interface peut être en non filaire, de technologie sans fil "mais proche", de type bluetooth par exemple, afin de ne par interférer avec les autres robots.

Le second but du projet est à propos des capteurs du robot. Les capteurs sont l’une des pièces maîtresses du robot car ils permettent une bonne interaction avec l'environnement extérieur, comme la zone de jeu. par exemple. Dans l'hypothèse où ces capteurs donnent une mauvaise information, les mouvements et interactions du robot seront biaisées. Par exemple, il est arrivé cette année durant l'un de leur match un souci avec le préhenseur (qui n'est pas un capteur, mais s'applique pour cette partie du projet). A force de saisir des pièces durant leurs parties, il était décalé et durant l'un des matchs, il n'a pu en saisir aucun et donc fait perdre le match.

Pour pallier à ce soucis, il nous ait demandé de réaliser un code (en python ou en C++) afin de déterminer si les capteurs/préhenseur sont correctement calibrés et si non, les recalibrer correctement.

Analyse du projet

Positionnement par rapport à l'existant

Pour cette partie, on va se concentrer sur la partie de rechargement sans fil.

Pour le rechargement à induction, on a tous en tête le rechargement de téléphone qu'on pose sur un socle et qui se recharge tout seul. C'est également le moyen de recharger des brosses à dents électriques. Dans notre cas, beaucoup de sites internet vendent des kits pour robots miniatures qui permettent le rechargement sans fil d'un petit robot, de faible puissance, mais sous dimensionné pour notre exemple. Cependant, il existe une entreprise qui commercialise des bases de rechargement pour plus gros robots.

Analyse du premier concurrent

Clip & Bike

Système d’alimentation sans fil pour robots mobiles autonomes La société Clip&Bike® fabrique des bases d’induction pour la recharge des robots qui accomplissent des missions automatiques 24h/24.

Clip&Bike permet le réapprovisionnement en énergie d'un robot permettant la conception de robots mobiles autonomes sans connexion physique à la source d’approvisionnement.

Le système d’alimentation par induction est composée d'une station fixe connectée au réseau ou à une source photovoltaïque elle-même connectée à une batterie de stockage. Le robot est par ailleurs équipé d’un module récepteur d’induction placé dessous et connecté à la batterie.

Lorsque la recharge de la batterie du robot est terminée, le robot peut reprendre sa mission et s’éloigner de sa base de chargement par induction ou rester en attente sur sa base pour une prochaine mission.

Charge induction clip&bike.jpg

Analyse du second concurrent

Scénario d'usage du produit ou du concept envisagé

Si le robot est en manque d'énergie, il a besoin d'être rechargé. Il va donc seul ou on l'aide pour se diriger vers la station afin de se recharger. Une fois qu'il se trouve sur la base, Il se recharge. De plus, il se branche ou se connecte à la technologie sans fil (mais proche) afin qu'on puisse se connecter au robot pour effectuer des changements dans son code si nécessaire. A noter que la station devra être alimentée au secteur.

Réponse à la question difficile

Quels sont les besoins énergétiques du robot?

Actuellement le robotino 3 possède 2 batteries au plomb de 12V, 9A.h placées en séries.

Le chargeur actuel est capable de fournir 2A.h donc une recharge complète au bout de 4.5h avec des batteries neuves (donc dans le meilleur des cas).

Il faut également savoir qu'en pleines utilisations, la batterie ne tient pas plus de 1 voir 2h au maximum.


Réflexions autour de la re-calibration automatique des capteurs avec protocoles de tests.

La recalibration de la webcam se fera à l'aide d'une balise placée sur le support de charge.

Celle du laser se fera avec une distance précise entre le laser et une forme connue par le robot (pour la distance et la forme)

Préparation du projet

Cahier des charges

Notre objectif est de fournir au robotino 3 une station de recharge pratique et profiter de cette station afin de re-calibrer ses différents capteurs lors de compétitions de robotique.

Besoins :

  • Simplifier la phase de préparation des compétitions, en évitant de transporter des câbles de recharge par exemple.
  • Ne plus passer de temps sur la calibration des capteurs.

Contraintes :

  • L'encombrement sur la base du robot ne peut être que très légèrement touché puisque soumis à des normes lors des compétitions.


Il faut être capable de fournir une alimentation d'un minimum de 2Ah afin de dépasser la vitesse de recharge du système filaire existant, ou du moins essayer de l'égaler. Et tout cela en un minimum d'espace afin de ne pas encombrer les roues du robotino à la base. Nous pensons donc recharger la batterie en utilisant un système par induction. Nous ne savons pas encore où placer cette bobine justement à cause de l'encombrement. D'où l'idée de placer la bobine contre le mat central en dessous de la caméra.


Il faut également fabriquer un support ayant une forme particulière afin de recalibrer les différents capteurs, en particulier le laser et la caméra.

Choix techniques : matériel et logiciel

Au niveau de notre choix technique, le seul support qu'il faudrait vraiment commander est la paire de bobine pour la recharge par induction, nous n'avons pas encore notre choix définitif sur quel type de matériel de recharge nous voulons, nous ne pouvons donc pas choisir avant d'avoir fait notre choix définitif avec nos tuteurs.

Cependant, comme nous n'avons pas d'entrefer entre les deux bobines si ce n'est que de l'air, on a besoin d'une puissance supérieure comparé à un transformateur classique, donc, il faudra faire un choix au niveau de la section, de la longueur et de la largeur des deux bobines. De plus, celle du secondaire sera sans doute limitée aux contraintes de robot, car on ne sait pas encore à quel endroit ou nous pourrions la loger, cela pourrait être en dessous du châssis ou au dessus de la caméra.

De ces données, nous pourrons alors déterminer les bobines qui sont les mieux disposés pour notre application, notamment en nous aidant du site de Wurth-Electronik qui permet de déterminer en fonction ne nos données, quelles sont les meilleures bobines.

Liste des tâches à effectuer

  1. Réaliser une étude de faisabilité au niveau des bobines qui se situeront sur le robot et la station. Délimiter leurs dimensions, connaître la puissance nécessaire à la recharge, calculer le rendement. Bref, réaliser un rapport sur la solution de recharge sans fil
  2. Après l'étude, si la recharge sans fil est envisageable, réfléchir sur la manière d'organiser notre station, avec le type de matériau et également la modéliser sur ordinateur (Réalisation en bois, par exemple).
  3. Il faut également savoir si la partie "préhenseur" sera réellement abordée dans le projet.
  4. Nous ferons également une étude de la partie logicielle déjà implantée autour des capteurs et du préhenseur pour répondre au mieux au cahier des charges, donc détecter s'il y a un dérèglement au niveau des capteurs, et si oui, les régler, notamment à l'aide d'étalons qui peuvent être ajoutés à la station par exemple. .

Calendrier prévisionnel

Nous pouvons envisager ce calendrier prévisionnel, cependant, il sera fortement influencé par la réalisation ou non de la station

Prélude 
Étude de faisabilité & Prise en main niveau capteurs
S1 
Étude de faisabilité & Prise en main niveau capteurs
S2 
Étude de faisabilité & Prise en main niveau capteurs
S3 
Déterminer si la station est réalisable OU trouver une solution parallèle + Avancer sur le code capteur/préhenseur
S4 
Modélisation de la station par ordinateur, commande de ses pièces au plus tard + Avancer sur le code capteur/préhenseur
S5 
Modélisation de la station par ordinateur, commande de ses pièces au plus tard + Avancer sur le code capteur/préhenseur
S6 
Élaboration circuit redressement d'alimentation pour fournir du continu + Avancer sur le code capteur/préhenseur
S7 
Élaboration circuit redressement d'alimentation pour fournir du continu + Avancer sur le code capteur/préhenseur
S8 
Produire le squelette de notre station dans le matériau que nous auront déterminé + Finitions code capteurs
S9 
Assemblage de toutes les pièces et des outils pour correctement paramétrer les capteurs
S10 
Finitions et tests

Réalisation du Projet

Feuille d'heures

Tâche Prélude Heures S1 Heures S2 Heures S3 Heures S4 Heures S5 Heures S6 Heures S7 Heures S8 Heures S9 Heures S10 Total
Analyse du projet 0


Prologue

Semaine 1

Cette semaine nous avons commencé nos recherches sur la recharge sans fil. Pour cela nous avons contacté Mr Benabou afin d'avoir de plus amples informations sur cette technologie. Il nous a conseillé d'utiliser la technologie de recharge par induction à la résonance. Cette technologie est plutôt nouvelle dans ce milieu mais présente de meilleurs rendements.

(Les liens des documents qu'il nous a transmis : https://tel.archives-ouvertes.fr/tel-01127163/document et un autre fichier que je n'arrive pas à inclure dans le wiki)

Après cette lecture attentive, nous avons quelques questions (nous n'avons jamais dimensionné de bobines de notre vie !), et nous avons repris contact avec Mr Benabou afin qu'il puisse nous expliquer plus en détail.

De plus, nous avons discuté avec Mr Coelen à propos de la partie capteur. Il nous a informé que les robots utilisent ROS (Robot Operating System) et qu'il faudra coder en langage C++ afin d’implémenter notre algorithme sur les capteurs dans le Robot.

Cet algorithme doit récupérer les données des différents capteurs (stockés sous forme de fichiers dans le robot) et les traiter. Avec ces données, et en connaissant la position du robot, l'algorithme devra calculer la position du capteur dans le référentiel du robot (par rapport à son centre).

Semaine 2

Cette séance a été également utilisé afin de dimensionner la chaine de puissance du réseau à la batterie afin de dimensionner les différents composants de cette même chaîne. Les calculs ont été faits en gros, à ce moment-ci, si nous voulons fournir une puissance de 55 W > 48 W il faut retirer au réseau environ 340 W (voir feuille de calcul).

Lors de la phase de dimensionnement, M Redon nous a dit que lors d'une réunion autour de notre projet il avait été évoqué une certaine bobine correspondant à nos critères (nous attendons maintenant des renseignements concernant cette bobine).

Nous attendons donc maintenant des nouvelles afin de faire les calculs nécessaires au dimensionnement de la chaine de puissance.

Semaine 3

Après une réunion assez intéressante avec nos tuteurs, nous avons (lors de ces 4 heures) quasiment dimensionné notre système. Tout d'abord pour la bobine, nous sommes partis sur celle ci : bobine. Pour la trouver, nous nous sommes basés sur leur carte de développement qui est capable de transiter 200W. Nous avons récupéré la référence de la bobine qui est utilisée dans cette carte, et recherché si elle était disponible sur les site mis à notre disposition pour commander des pièces. Comme elle n'était pas disponible, nous avons donc choisi une bobine qui peut faire transiter moins de courant (12A au lieu de 18A nominal) mais qui est capable de transiter la puissance nécessaire pour obtenir 24V/3-2A en sortie.

Nous avons ensuite dimensionné les capacités qui permettent au montage de travailler à une fréquence de résonance (100kHz). On a donc  \textstyle f_r = \frac{1}{2\pi\sqrt{LC}} soit  \textstyle C = \frac{1}{({2\pi\sqrt{L}f_r})^2} . Donc avec les valeurs des inductances  \textstyle L_1 = L_2 = 6\mu H on obtient  \textstyle C = \frac{1}{({2\pi\sqrt{ 6\mu}100k})^2} = 422nF

Notre schéma structurel pour la recharge est donc le suivant : ProjetD.png

On part d'une alimentation stabilisée qui fournie du 24V continu stabilisé qui se trouve être l'alimentation existante du robot. Cela nous permet de nous affranchir d'un convertisseur AC/DC pour abaisser la tension qui aurait été moins efficace que celle existante, de plus, on fait des économies. Ensuite, nous avons un onduleur qui permet de transformer notre 24V en tension sinusoïdale à la fréquence de résonance (100kHz). On retrouve ensuite nos deux bobines avec leurs capacités qui vont transmettre et recevoir la puissance. A sa suite nous avons un redresseur afin de récupérer une tension continue, qui sera hachée par la suite pour obtenir notre alimentation de 24V stabilisée. Les deux tensions de 26,6V sont fixées par l'onduleur qui impose donc une tension de 26,6 V (Erratum : à voir), et comme on a un rapport de 1 au niveau des deux bobines, on retrouve la même tension de ce côté. De plus, au niveau du dernier convertisseur de puissance, on impose une tension continue comprise entre 24-30V afin que le hacheur puisse fournir 24V en sortie. Nous nous sommes basés sur des convertisseurs existants.

Semaine 4

Nous avons commencé à faire notre liste de matériel. Nous avons ajouté la bobine (par deux), les capacités qui permettent de fixer la fréquence de résonance ([1]).

Nous avons également travaillé sur le redresseur au secondaire : [2], c'est un pont de diode, qui permet de redresser la tension. A la suite de ce pont, on mettra un filtre passe bas, afin de filtrer les harmoniques haute en fréquence.

Nous avons réalisé la simulation suivante sur le site falstad simulation. On voit sur cette simulation que en prenant en compte, au secondaire, une tension sinusoïdale parfaite, on obtient un tension continue fixe en sortie. Nous avons choisi un filtre capacitif car, si on rajoute la bobine (pour un filtre LC), la constante de temps du filtre (le temps que le redresseur arrive à une tension continue fixe) est bien trop lente (la résistance de 1ohm sur la simulation est juste pour connaitre le max en courant, mais ça dépendra de la charge que le robot prendra).

Pour la capacité, après des recherches sur internet, il est indiquer d'utiliser une capacité de l'odre de 1000µF à 4000µF, la valeur influençant juste la constante de temps du redresseur (elle est très correcte avec une capa de 1000µF). Sur farnell, cette capacité paraît convenir à notre application capa

Il nous reste à déterminer la fréquence de coupure de ce filtre (on pense se tourner vers 10kHz, soit une décade, mais on attend l'avis d'une personne plus compétente), les composants pour l'onduleur au primaire et le convertisseur buck au secondaire qui se situera à la suite du pont de diode et du filtre. On a choisi un convertisseur buck car il permet d'élever la tension par rapport à celle de sortie. Pour l'onduleur, nous pensons à un onduleur MLI.

Semaine 5

(Le 11 février) Vendredi dernier, nous sommes allés voir Mr Delarue, afin de lui poser une question à propos du filtre. Il nous a conseillé de prendre un filtre passe bas LC, avec une capacité de grande taille et une bobine de petite taille afin d'éviter d'avoir une trop grande constante de temps pour la convergence de la tension fixe. Après étude ce week-end, nous pourrons réaliser le filtre suivant : simu. Selon Mr Delarue, prendre une fréquence de coupure de 10kHz est une bonne idée car elle permettra de filtrer correctement les harmoniques trop hautes en fréquence de la tension. On a donc :  \textstyle f_r = \frac{1}{2\pi \sqrt{LC}} , donc si on fixe  \textstyle f_r = 10kHz , et  \textstyle C = 100\mu F, on obtient  \textstyle L = \frac{1}{{(2\pi f_r\sqrt{C})}^2 } =2,53\mu H ce qui donne en valeur normalisée \textstyle L = 2,7\mu H . Avec cette valeur normalisée, on obtient une fréquence de coupure de 9,6kHz.

Pour les composants, on aurait cette capacité qui conviendrai : capa, et l'inductance : inductance.

Comme nous pouvons le remarquer, nous avons modifié la valeur de capacité dans notre filtre (par rapport à la semaine précédente) puisque comme nous avions à rajouter une bobine, la valeur de celle-ci aurait été trop basse lorsque que l'on cherchait dans les catalogues constructeurs.

(début de simulation pour le convertisseur boost (hacheur élévateur série) boost)


(Le 15 février)

Nous sommes allés voir Mr Delarue dans son bureau hier. Il nous a conseillé de hacher la fréquence à la fréquence recherchée pour réaliser notre onduleur (au primaire), la combinaison de la capacité et de la bobine vont filtrer les harmoniques et vont transmettre la fondamentale à la fréquence recherchée (100kHz). On va commander alternativement K1,K4 puis K2,K3 à 100kHz.

Nous avons donc le circuit suivant : Primaire.jpeg

Explication Circuit NE555

Nous allons commander les transistors à l'aide d'un NE555. On l'utilisera en astable. Les formules associées au NE555 sont les suivantes :


\textstyle
f = \frac {1.44} { (R_a + 2R_b)C }

\textstyle
\alpha = \frac {R_a+R_b} { (R_a + 2R_b) }

On prendra 
\textstyle R_a = 1.2k\Omega , R_b = 39k\Omega , C = 180pF

Cela va nous permettre d'avoir un rapport cyclique de 0.5 et une fréquence de 100kHz.

Le schéma sera le suivant : NE555.png

Semaine 6

Semaine 7

Lors de ces deux dernières semaines, nous avons finalisé notre liste de matériel qui a été envoyée à Mr Coelen. Nous avons eu un léger retard dû à une mauvais schéma pour l'onduleur au primaire. En effet, nous avions mal conçu le schéma et nous avons du le modifier au dernier moment, en rajoutant deux MOSFET N et deux MOSFET P au lieu de 4 MOSFET N.

Par ailleurs, une fois notre liste envoyée, nous avons réalisé en salle d'électronique des tests pour la commande de nos mosfets, avec le NE555. Dans la théorie, avec les résistances et la capacité que nous avons calculées plus haut, nous devions obtenir une tension en créneau à 100kHz. Dans la pratique nous obtenions une fréquence de 80kHz environ. Nous avons alors modifié la capacité (150µF) et modifié Rb (deux résistance de 18kOhm et 15kOhm en série) pour obtenir une consigne de fréquence de 103kHz.

Montage6.jpg Osci.jpg

Par ailleurs, nous avons réalisé des simulations sur Psim (logiciel de simulation d'électronique de puissance). Capture 100kz.PNG Schéma côté alim.PNG

Nous avons simulé la partie primaire de notre station de recharge. On part d'un générateur de tension continue 24V, puis notre hacheur qui va onduler à 100kHz, avec sa partie commande qui est notre NE555 (les tests fait plus haut en salle d'électronique), et enfin une capacité et une bobine qui simulent notre coupleur au primaire. Lorsqu'on observe la tension V7, celle aux borne de notre bobine, on voit bien une tension hachée en 0 et -24V. C'est un début, nous allons affiner cette simulation par la suite, mais on a bien une tension de fréquence d'environ 100kHz en sortie de notre onduleur, tension qui sera filtrée par notre coupleur par la suite.


Semaine 8

A côté de la transmission d'énergie, nous avons travaillé sur la modélisation de la station, ainsi que la pièce qui se fixera sur le robot et qui permettra le maintien du coupleur sur le robot. Station.jpg

Semaine 9

Nous avons continué les simulations pour le secondaire, nous sommes arrivés à un résultat honorable. On peut remarquer que notre tension (V8) possède encore une oscillation résiduelle, mais sa valeur moyenne est à une valeur acceptable, environ 24V, et qui sera fixée par notre redresseur Buck-Boost (que nous avons reçu la semaine dernière). En effet lorsque la charge augmente en sortie du secondaire, les oscillations de courant et de tension mesurée en V8 diminuent jusqu'à devenir nulle. Lors de la mise en place du système réel, c'est le logiciel interne au robotino qui va faire les appels de courant nécessaires à sa recharge, donc modifié sa valeur de charge. Secondaire2.PNG

Ensuite, nous avons réaliser quelques tests sur les mosfet, pour correctement les commander. Nous avons eu quelques soucis, car le transistor ne se bloquait pas correctement. De plus, après une discussion avec Mr Boé, nous devons modifier légèrement notre montage au niveau du hacheur, car dans l'état actuel, nos MOSFET-P, ne peuvent pas être dans l'état passant. Nous allons donc faire un montage type "High side switch", tel que montré plus bas, avec un un transistor bipolaire. Highside.png

Liens Utiles

Lien TI réalisation pcb [3]

Référence Boost [4]

Référence Buck [5]

Référence Drivers Buck-Boost [6]

Simulation MOSFET + NE555 [7]

Documents Rendus