IMA4 2018/2019 P37 : Différence entre versions
(→Après les Vacances) |
(→Après les Vacances) |
||
Ligne 298 : | Ligne 298 : | ||
Nous avons testé juste la partie commande, mais on obtient comme en test, c'est à dire un signal de commande propre, mais une sortie inverse bruitée et non conforme à nos espérances. | Nous avons testé juste la partie commande, mais on obtient comme en test, c'est à dire un signal de commande propre, mais une sortie inverse bruitée et non conforme à nos espérances. | ||
[[Fichier:Bruite Ne.jpg|400px]] | [[Fichier:Bruite Ne.jpg|400px]] | ||
+ | |||
+ | Le signal bleu ici correspond à la sortie de notre inverseur, qui est un inverseur de puissance, le seul qui pouvait soutenir des tension haute dans le magasin de Mr Flamen. | ||
+ | |||
+ | |||
+ | Par ailleurs, nous avons modifié la modélisation de notre station, qui est celle-ci maintenant : | ||
+ | [[Fichier:Station2.png|400px]] | ||
==Liens Utiles== | ==Liens Utiles== |
Version du 2 mai 2019 à 17:17
Sommaire
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.
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.
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
- 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
- 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).
- Il faut également savoir si la partie "préhenseur" sera réellement abordée dans le projet.
- 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 soit . Donc avec les valeurs des inductances on obtient
Notre schéma structurel pour la recharge est donc le suivant :
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 : , donc si on fixe , et , on obtient ce qui donne en valeur normalisée . 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 :
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 :
On prendra
Cela va nous permettre d'avoir un rapport cyclique de 0.5 et une fréquence de 100kHz.
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.
Par ailleurs, nous avons réalisé des simulations sur Psim (logiciel de simulation d'électronique de puissance).
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.
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.
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.
Semaine 10
Durant ces dernières semaines, nous avons commencé à tester nos montages. Nous avons tout d'abord réalisé une carte de test pour notre onduleur situé au primaire ainsi que notre pont de MOSFETs. Malheureusement, nous avons des soucis car le signal de commande qui sort de notre NE555 est trop bruité, et donc les MOSFETs commutent trop rapidement. Nous devrions rajouter des montages suiveurs afin d'isoler nos montages.
Après les Vacances
Nous avons réalisé sur Altium la carte de commande ainsi que le schématique de l'onduleur (qui sera pas finie, car Mr Flamen est en vacances).
Nous avons testé juste la partie commande, mais on obtient comme en test, c'est à dire un signal de commande propre, mais une sortie inverse bruitée et non conforme à nos espérances.
Le signal bleu ici correspond à la sortie de notre inverseur, qui est un inverseur de puissance, le seul qui pouvait soutenir des tension haute dans le magasin de Mr Flamen.
Par ailleurs, nous avons modifié la modélisation de notre station, qui est celle-ci maintenant :
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]