PROJET ATS : RESOLUTION DE - Free
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Edition 3 - 22/02/2018 PROJET ATS : RESOLUTION DE LABYRINTHE CHAÎNE D’INFORMATION ACQUERIR TRAITER COMMUNIQUER ACTION ALIMENTER DISTRIBUER CONVERTIR TRANSMETTRE CHAÎNE D’ENERGIE Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 1/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Problématique Edition 3 - 22/02/2018 Problématique L’ambition de ce projet est de concevoir 2 robots, qui auront pour finalité de résoudre un labyrinthe. Le premier robot doit être entièrement autonome. Placé dans le labyrinthe, un algorithme programmé doit lui permettre de sortir seul du labyrinthe Le second robot est quant à lui piloté à distance, et hors de portée visuelle de l’opérateur. Une caméra Wifi permettra de retransmettre ses déplacements. Doté d’une caméra, cette dernière doit suivre les mouvements de la tête de l’opérateur. L’image est restituée dans des lunettes de réalité virtuelle, et le mouvement du robot sera piloté par la rotation du poignet du pilote. Les points devant donner lieu à compte-rendu sont identifiés en encadré rouge dans le document Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 2/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Sommaire Edition 3 - 22/02/2018 Sommaire A.Analyse fonctionnelle et structurelle! __________________________________________5 A.1.Diagramme des exigences 5 A.2.Diagramme de définition de blocs du robot autonome 6 A.3.Diagramme de définition de blocs du robot piloté 7 A.4.Diagramme de bloc interne du robot piloté 8 B.Problématiques à résoudre!__________________________________________________9 B.1.Liste des problématiques 9 B.2.Ressources 10 C.Détail des problématiques!__________________________________________________11 C.1.Problématique 1 : Etude des codeurs incrémentaux à quadrature 11 C.1.1. Protocole C.2.Problématique 2 : identification des caractéristiques d’un MCC 14 C.2.1. Tracé des courbes du moteur C.2.2. Tracé de la réponse en boucle ouverte C.3.Problématique 3 : Asservissement en vitesse des moteurs (roues) 19 C.3.1. Schéma bloc de l’asservissement en vitesse du motoréducteur seul C.3.2. Dimensionnement du correcteur C.3.3. Validation expérimentale de l’asservissement C.4.Problématique 4 : Conception du châssis 23 C.5.Problématique 5 : Comportement dynamique 24 C.5.1. Données C.5.2. Vitesse limite de basculement C.5.3. Vitesse limite de dérapage C.5.4. Performances d’accélération C.6.Problématique 6 : Lois de pilotage des moteurs 27 C.7.Problématique 7 : Mesure de distance 29 C.7.1. Principe du capteur Sonar C.7.2. Expérimentation du capteur C.7.3. Vérification des performances du capteur C.7.4. Visualisation des signaux sur l’oscilloscope C.8.Problématique 8 : Développement de l’algorithme de résolution 31 C.8.1. Recherche documentaire C.8.2. Elaboration de l’algorithme C.8.3. Essai sur Robot Lego C.9.Problématique 9 : Conception du support de caméra 33 C.10.Problématique 10 : Motorisation en élévation 34 Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 3/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Sommaire Edition 3 - 22/02/2018 C.10.1.Principe du servomoteur C.10.2.Câblage et programmation du contrôleur ECIO40P C.10.3.Test de fonctionnement sur contrôleur Arduino (en secours du test précédent) C.10.4.Tests du servomoteur C.11.Problématique 11 : Mesure des mouvements de la tête 38 C.11.1.Recherche documentaire C.11.2.Montage expérimental C.11.3.Mesure de l’angle et validation avec la réalité C.12.Problématique 12 : Liaison radio 40 C.12.1.Montage expérimental C.12.2.Vérification de la réception des trames radio C.12.3.Vérification des performances (portée du signal) C.13.Problématique 13 : Asservissement en azimut de la caméra 42 C.13.1.Motorisation par servomoteur C.13.2.Motorisation par motoréducteur DAGU FIT048 C.14.Problématique 14 : Mesure des angles de tangage et roulis de la main 45 C.15.Problématique 15 : Déplacement du robot en fonction des consignes opérateur 46 C.16.Problématique 16 : Asservissement en élévation de la caméra 47 C.17.Problématique 17 : Pilotage du mouvement de la caméra 48 Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 4/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Analyse fonctionnelle et structurelle Edition 3 - 22/02/2018 A. Analyse fonctionnelle et structurelle A.1. Diagramme des exigences Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 5/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Analyse fonctionnelle et structurelle Edition 3 - 22/02/2018 A.2. Diagramme de définition de blocs du robot autonome Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 6/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Analyse fonctionnelle et structurelle Edition 3 - 22/02/2018 A.3. Diagramme de définition de blocs du robot piloté Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 7/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Analyse fonctionnelle et structurelle Edition 3 - 22/02/2018 A.4. Diagramme de bloc interne du robot piloté Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 8/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Problématiques Edition 3 - 22/02/2018 B. Problématiques à résoudre B.1. Liste des problématiques N° Intitulé Détail Ressources et matériel Etudier le principe des codeurs Ressource documentaire Acquisition NI-USB 6008 + Étude des codeurs Labview 1 Visualiser les signaux des 2 canaux incrémentaux à quadrature Oscilloscope Déterminer un algorithme de mesure de l'angle et du sens de rotation Tracé des courbes caractéristiques à partir des données Application Matlab constructeur Identification des Identifier expérimentalement la fonction de transfert en Montage Arduino + Application 2 caractéristiques d'un MCC Boucle ouverte du moteur Matlab Identifier expérimentalement les caractéristiques du moteur (résistance, inductance, frottements, ...) Déterminer le schéma bloc des asservissements En déduire l'expression des FTBF en fonction de la Mise en place de FTBO du MCC 3 l'asservissement en vitesse et Définir les paramètres du correcteur PI ou PID en vue en position de respecter les exigences du cahier des charges Montage Arduino + Application Valider les résultats par expérimentations Matlab Imaginer et dessiner le châssis du mobile, avec les Logiciel Solidworks 4 Conception du mobile contrôleur, driver et capteurs. Détermination des éléments de masse et d'inertie Déterminer le schéma bloc de l'ensemble du système Définir son comportement dynamique (accélération, 5 Comportement du mobile couple nécessaire, ...) Déterminer la vitesse maximale en virage pour éviter le basculement Déterminer les lois de vitesse de rotation des moteurs en fonction de la vitesse et du rayon de virage 6 Lois de pilotage des moteurs demandés Vérifier expérimentalement ces lois Robot EV3 Identifier le principe de fonctionnement des capteurs sonar Calculer la distance en fonction du temps de retour de l'onde sonore 7 Mesure de distance Montage Arduino - Vérifier expérimentalement la loi précédente Oscilloscope Quantifier expérimentalement la précision et la répétabilité Développer l'algorithme basé sur l'algorithme de Pledge Simuler puis tester l'algorithme sur robot Lego EV3 Développement de Matlab - Robot Lego EV3 8 Mindstorm l'algorithme de résolution Implanter l'algorithme sur controleur Arduino Imaginer et dessiner le mécanisme d'orientation de la Conception du support de Logiciel Solidworks 9 caméra caméra Détermination des éléments de masse et d'inertie Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 9/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Problématiques Edition 3 - 22/02/2018 N° Intitulé Détail Ressources et matériel Identifier le principe de fonctionnement d'un servomoteur 10 Motorisation en élévation Ecrire et tester le programme de mise en position Arduino Valider les performances annoncées par le constructeur Identifier le principe de fonctionnement d'un accéléromètre - magnétomètre Exprimer la valeur de l'inclinaison de la tête en fonction Détection du mouvement de 11 des valeurs fournies par l'accéléromètre la tête Ecrire l'algorithme permettant de mesurer l'orientation de la tête en fonction du magnétomètre, après initialisation Arduino - Boussole Valider les résultats par mesures expérimentales Comprendre le principe du kit émetteur-récepteur 433 Tester l'émission/réception de messages Arduino Vérifier les performances de transmission en fonction de 12 Liaison radio l'environnement et de la distance Ecrire le programme permettant d'envoyer les consignes au robot : orientation tête, déplacement main ou joystick Tester et valider ce programme Ecrire le schéma bloc de l'asservissement en position du mécanisme Asservissement en azimut de Définir les paramètres du correcteur PI ou PID en vue 13 la caméra de respecter les exigences du cahier des charges Montage Arduino + Application Valider les résultats par expérimentation Matlab Comprendre le principe de mesure d'une distance à partir des données d'un accéléromètre Mesure du déplacement de la Elaborer un algorithme de mesure des angles de la main 14 main (pilotage du à partir des valeurs d'accélération déplacement du robot) Implanter l'algorithme dans le contrôleur et valider la Montage Arduino précision Déplacement du mobile en Programmer les lois de vitesse des moteurs des roues 15 fonction des consignes de en fonction des consignes de l'opérateur (Nécessite la Robot assemblé l'opérateur résolution de la problématique 6) Asservissement en élévation Vérifier que les performances dynamiques du 16 de la caméra servomoteur sont compatibles avec le mécanisme conçu Programmer les consignes servo (élévation) et Programmation du pilotage du 17 motoréducteur (azimlut) en fonction des informations de Robot assemblé mouvement de la caméra position de la tête B.2. Ressources L’ensemble des ressources utiles (documentations, protocoles expérimentaux, notices, programmes, ...) est disponible sur le site de la prépa, à l’adresse du projet : http://tsi.ljf.free.fr/ATS/S2I_Projet2018.html#ressources Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 10/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C. Détail des problématiques C.1. Problématique 1 : Etude des codeurs incrémentaux à quadrature Objectif : comprendre de quelle façon un tel codeur peut être exploité pour extraire les informations de position et de vitesse d’un moteur Ressource : «Lecture de 2 signaux analogiques» (Labview) C.1.1. Protocole L’objectif est d’utiliser les signaux d’un tel codeur pour mesurer la vitesse angulaire et la rotation d’un arbre moteur C.1.1.1. Recherche documentaire Consulter les 2 pages suivantes sur Internet : Principe du codeur Exploitation d’un codeur à quadrature C.1.1.2. Préparation de l’expérimentation Réaliser le câblage page suivante sur Arduino avec un moteur équipé d’un codeur incrémental à quadrature. Relier les signaux des codeurs sur les voies A et B de l’oscilloscope Télécharger et décompresser le programme suivant : Commande_PWM_MCC.ino.zip Implanter ce programme dans le contrôleur Arduino : ➢ Ouvrir le logiciel Arduino et ouvrir le programme téléchargé ➢ Outils > Port : vérifier le numéro de port auquel Arduino est connecté ➢ Outils > Type de carte : vérifier que le type de carte correspond à l’Arduino utilisé ➢ Implanter le programme dans le contrôleur : ➢ Ouvrir la console : . Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 11/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.1.1.3. Mise en oeuvre de l’expérimentation Faire vérifier le câblage par le professeur avant d’alimenter le hacheur. La console affiche le sens du moteur et la valeur du rapport cyclique, en fonction de la position du potentiomètre (potentiomètre au centre : moteur à l’arrêt) Le moteur tourne alors en fonction de la consigne. Visualiser les signaux issus des 2 codeurs sur l'oscilloscope. C.1.1.4. Exploitation et conclusions Quelle est la forme des signaux fournis par un codeur incrémental ? De quelle manière les signaux peuvent-ils renseigner sur le sens de rotation du moteur ? Comment utiliser ces signaux pour calculer la vitesse de rotation du moteur ? Comment utiliser ces signaux pour calculer l’angle de rotation du moteur ? Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 12/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.1.1.5. Ecriture du programme permettant de calculer vitesse et angle Le programme suivant permet de mesurer la vitesse du moteur et l’angle de rotation à partir du comptage et décomptage des impulsions codeur : Mesure_vitesse_MCC.ino Il faut câbler les codeurs comme suit : Implanter le programme dans le contrôleur Arduino, et ouvrir la console : Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 13/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.2. Problématique 2 : identification des caractéristiques d’un MCC Objectifs : 1. tracer les courbes caractéristiques à partir des données constructeur parcellaires 2. identifier expérimentalement la fonction de transfert en boucle ouverte de ce MCC 3 . i d e n t i fi e r e x p é r i m e n t a l e m e n t l e s p a r a m è t r e s caractéristiques d’un moteur à courant continu Ressources : «Tracé des courbes caractéristiques d’un MCC» (Matlab) « Relevé de la réponse indicielle en BO» (Arduino+Matlab) « Détermination expérimentale des caractéristiques d’un MCC» (Arduino+Scilab) NB : la méthode décrite ci-dessous s’applique à tous les moteurs du projet. Il faudra mener cette expérimentation pour chaque motoréducteur, afin d’en extraire un modèle de comportement. C.2.1. Tracé des courbes du moteur L’objectif est de définir les courbes caractéristiques des points de fonctionnement du moteur C.2.1.1. Recherche documentaire Le moteur étudier est le «34:1 Metal Gearmotor 25Dx52L mm HP 6V with 48 CPR Encoder». Le site Internet du fabricant du moteur fournit quelques caractéristiques du moteur. Consulter la page https://www.pololu.com/product/2273 et en extraire les données suivantes : • Rapport de réduction • Couple et courant de décrochage • Vitesse et courant consommé à vide • Tension d’alimentation nominale Les valeurs de couple fournies sont exprimées en oz.in. Chercher sur Internet l’équivalence en Nm C.2.1.2. Tracé des courbes caractéristiques A partir des données constructeurs, un programme Matlab permet de construire les courbes caractéristiques de ce moteur Télécharger le programme Matlab, ainsi que le protocole expérimental Ouvrir Matlab et lancer l'application téléchargée Après avoir renseigné les données constructeur, le programme affiche les courbes caractéristiques qu’il faut sauvegarder afin de pouvoir les exploiter ultérieurement, ainsi que la résistance d’induit et la constante de couple du moteur. Identifier la valeur de la résistance d’induit et la constante de couple Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 14/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.2.2. Tracé de la réponse en boucle ouverte L’objectif est de déterminer un modèle de comportement sous forme de fonction de transfert du moteur C.2.2.1. Réalisation du câblage expérimental (moteur équipé d’un codeur à quadrature) Réaliser le câblage ci-dessous Appeler le professeur pour la validation du câblage Afin d’avoir la tension réelle en sortie du hacheur, connecter un multimètre aux bornes du moteur Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 15/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.2.2.2. Réalisation du câblage expérimental (moteur équipé d’un codeur à effet hall) Réaliser le câblage ci-dessous Appeler le professeur pour la validation du câblage Afin d’avoir la tension réelle en sortie du hacheur, connecter un multimètre aux bornes du moteur C.2.2.3. Préparation logicielle Les programmes exploités pour le tracé sont au nombre de 2 : • Arduino pour programmer l’échelon en tension • Matlab pour afficher le résultat Télécharger les programmes Arduino et Matlab. (les programmes avec l’indice 2 affichent en supplément l’allure de la réponse du courant moteur) 1. Lancer le logiciel Arduino et ouvrir le programme téléchargé précédemment. Aux lignes 52 à 54 de ce programme, sélectionner le type d’échelon à appliquer : Les // signalent un commentaire, donc une ligne non prise en compte. Dans l’exemple ci-dessus, la vitesse du moteur est réglée à un rapport cyclique du hacheur égal à 70%. Pour une valeur réglable, activer la ligne 53 et pour une entrée sinusoïdale, activer la ligne 54. Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 16/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 2. Renseigner les lignes 15 et 16 du programme Arduino avec les valeurs correctes relatives au motoréducteur (rapport de réduction et résolution du codeur) : 3. Lancer le logiciel Matlab et ouvrir le fichier téléchargé. A la ligne 21 de ce programme, renseigner le nom du port sur lequel est connecté l’Arduino : Pour connaître le numéro de port, vous pouvez cliquer, dans le logiciel Arduino, sur «Outils > Port» : le numéro de port y est indiqué Lancer l’application en cliquant sur «Run» : Pendant l’expérimentation, penser à relever la tension aux bornes du moteur. A l’issue de l’expérimentation, Matlab affiche la réponse à l’échelon de tension : C.2.2.4. Exploitation des résultats et conclusion Relever la courbe de réponse indicielle. A partir de cette réponse en boucle ouverte, déduire le modèle de comportement du moteur, en définissant : Ω( p) * l’ordre probable de la fonction de transfert du moteur H moteur ( p) = U( p) * les caractéristiques de cette fonction de transfert (gain, constante de temps ou pulsation propre et amortissement) Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 17/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.2.2.5. Comparaison entre le modèle et le réel A l’issue de la modélisation, l’application Matlab propose de comparer le résultat expérimental avec le modèle de comportement : Validez le modèle, et éventuellement affinez-le Pensez à écrire sur votre compte-rendu la fonction de transfert ainsi identifiée, qui sera utile pour les asservissements du moteur. Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 18/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.3. Problématique 3 : Asservissement en vitesse des moteurs (roues) Objectifs : 1. Définir le schéma bloc de l’asservissement, et donner l’expression de la FTBF de l’asservissement à partir de la FTBO du moteur 2. Déterminer les paramètres du correcteur PI ou PID 3. Tester et valider les résultats Ressources : «Asservissement numérique sur contrôleur» (Documentaire) « Relevé de la réponse en BF de l’asservissement en vitesse» (Arduino+Matlab) C.3.1. Schéma bloc de l’asservissement en vitesse du motoréducteur seul L’objectif est de tracer le schéma de l’asservissement afin d’évaluer ses performances La problématique 2 précédente a permis d’extraire la fonction de transfert en boucle ouverte du motoréducteur seul. Il s’agit à présent de concevoir l’asservissement en vitesse de ce motoréducteur, destiné à propulser le robot. Construire le schéma de l’asservissement en vitesse, la mesure de cette dernière étant obtenue à partir de l’exploitation d’un codeur incrémental dont les caractéristiques sont fournies sur la documentation du moteur A partir de la FTBO déterminée à la problématique 2, donner l’expression de la FTBF initialement non corrigée. Construire le modèle de cet asservissement sous Xcos (Scilab) ou Simulink (Matlab), et évaluer ses performances (rapidité, précision, stabilité) Nota : Si les expérimentations de la problématique 2 ne sont pas encore achevées, on pourra mener l’analyse avec cette fonction de transfert proposée : 4,82 H moteur ( p) = 1+ 0,2 p + 8.10 −3 p 2 Tracer le schéma de l’asservissement de vitesse Relever les performances de l’asservissement non corrigé : temps de réponse, précision, stabilité C.3.2. Dimensionnement du correcteur L’objectif est de définir les paramètres optimum de l’asservissement, de façon à respecter le cahier des charges On cherche à avoir un erreur statique nulle, une marge de phase de 45°, et un temps de réponse de 100ms. Par ailleurs, on tolère un dépassement maximum égal à 10%. KI KD p Le correcteur envisagé est de type PID, d’expression C( p) = K P + + (N désigne la constante de p 1+ Np temps du filtre de l’action dérivée. On prendra N=10-4) Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 19/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 Insérer ce correcteur dans le schéma bloc de l’asservissement continu : A partir du diagramme de Bode du système non corrigé, déterminer graphiquement les gains Kp, Ki et Kd de la correction proportionnelle tels que : • la pulsation de cassure du correcteur PI soit située une demi-décade avant la pulsation de coupure de la FTBO non corrigée (avec Kp=1) • la pulsation de cassure du correcteur PD soit située à la pulsation de coupure de la FTBO non corrigée • enfin, le dépassement ou le temps de réponse seront réglés avec la valeur de Kp C.3.3. Validation expérimentale de l’asservissement L’objectif est d’implanter le correcteur continu précédent sous la forme d’un correcteur numérique échantillonné, et de valider le comportement réel du moteur Réaliser le câblage page suivante, qui permet d’afficher la réponse du moteur asservi en vitesse à un échelon de tension. Dans ce montage, les valeurs des coefficients Kp, Ki et Kd, ainsi que la consigne, sont réglables à l’aide de potentiomètres. Télécharger le programme Arduino correspondant à cette expérimentation. Ouvrir ce programme dans le logiciel Arduino. En fonction du hacheur utilisé (Arduino ou DFRobot), mettre à jour les lignes 40 à 42. De même, si le hacheur retenu est le DFRobot, mettre en commentaire la ligne 138 (la faire précéder de //) Télécharger ensuite le programme Matlab qui servira à afficher la réponse indicielle. Décompresser l’archive et ouvrir le programme Lecture_serial_Asservissement_vitesse.m, ainsi que le modèle Comparaison_expe_modele.slx Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 20/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.3.3.1. Essai du système asservi sans correction 1. Saisir dans Arduino en lignes 26 à 28 les valeurs Kp=1, Ki=0 et Kd=0 2. Implanter le programme dans le contrôleur Arduino 3. Lancer le programme Matlab : Lecture_serial_Asservissement_vitesse.m. La réponse du système s’affiche 4. Mettre à jour les éléments du modèle Simulink (fonction de transfert, correcteur, saturation, Cr=0) et lancer la simulation afin de comparer le modèle à la réalité Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 21/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 Observe-t-on des écarts ? Si oui, la présence d’un couple résistant Cr peut-elle justifier cet écart ? Justifier C.3.3.2. Essai du système asservi avec correction Estimer les valeurs des coefficients sachant que la fréquence d’échantillonnage de l’asservissement est égale à 40 Hz Expérimenter l’asservissement en vitesse du moteur, et déterminer expérimentalement les coefficients du correcteur qui permettent de satisfaire le cahier des charges. On commencera par régler le gain proportionnel à la limite de l’instabilité. Puis viendra le réglage de l’action intégrale de façon à assurer la précision souhaitée, en respectant le critère de dépassement relatif. Si nécessaire, régler enfin le gain de l’action dérivée. Conclure sur les valeurs du correcteur PID Calculer les pulsations de cassure du correcteur, et conclure par rapport à l’étude analytique du correcteur. Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 22/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.4. Problématique 4 : Conception du châssis Objectifs : 1. Concevoir la structure qui supportera l’ensemble de la chaîne d’énergie 2. Imprimer ces châssis à l’imprimante 3D Ressources : documentation constructeur dimensionnelle des composants Les châssis des deux robots doivent permettre le montage des motoréducteurs des roues et de la roue libre, des micro contrôleurs (Arduino et ECIO40 pour le robot piloté), des capteurs, des driver moteur, de la caméra et de l’alimentation. La structure sera la plus simple possible Certains éléments modulaires sont disponibles en téléchargement : • Contrôleurs : Arduino Mega2560 - Arduino Nano - Arduino Uno • Drivers moteur : Arduino Motor Shield - Driver DFR-19 • Moteurs : Pas à pas RS-191-8299 - Pas à pas T2129 - Servomoteur - Motoréducteur RB-Dfr-667 • Interface communication : Module 433 MHz - Caméra JF01 • Capteurs : Accéléromètre LSM6DS3 - Magnétomètre LSM303D - Sonar HC-SRO4 • Divers : Ball Caster - Kit Moteur-Roues - Tourelle servomoteurs - Support capteur Sonar Présenter la conception retenue pour les 2 robots Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 23/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.5. Problématique 5 : Comportement dynamique Objectifs : 1. Déterminer les performances d’accélération du robot 2. Estimer les risques de basculement en virage Le paramétrage du robot est proposé ci-dessous : λ + CG h + + + + + D l A G A D e e Le robot (1) est constitué de deux roues arrières de diamètre d, dont les points de contact avec le + sol (0) sont notés G et D. A Il repose sur une roulette avant, dont le point de + contact est noté A. G Son centre de gravité est noté CG + D On note M sa masse C.5.1. Données Données sur les actions mécaniques A l’aide de la figure page suivante, recenser l’ensemble des actions mécaniques extérieures agissant sur le robot, supposé en virage de rayon ρ à vitesse V constante. !!!!!!" Les ! roues arrière (Rd) et (Rg) sont! soumises à l’effort VCG∈1/0 normal N , ainsi qu’à un effort tangentiel T lié à l’adhérence des roues, qui empêche le dérapage en virage. + !!" CG L’effort de transmission FT sur ces roues arrières sont liées au couple moteur qui s’applique. La roulette avant (Ra) n’est pas motrice et roule sans glisser sur le sol Données sur la cinématique + I1/0 L’étude du basculement se fait en virage, défini par un rayon ρ . La vitesse, !!!!!!" notée VCG∈1/0 sera supposée constante : ω! 1/0 = 0 !!!!!!" On notera V = VCG∈1/0 et ω = ω1/0 Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 24/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.5.2. Vitesse limite de basculement !!!" !!!!!!" !!!" NG VCG∈1/0 NA + CG !!!" ND ρ !!!" + FTG A !!!" ! + G !!" u TG FTD ! + !!" v D !" TD ! P z L’objectif est de définir une vitesse limite en virage au-delà de laquelle le robot risque de basculer. C.5.2.1. Bilan des actions mécaniques Isoler le robot (1) et faire le bilan des actions mécaniques extérieures agissant sur celui-ci. Ecrire les relations issues des lois de Coulomb (on se placera en limite d’adhérence des roues arrière). On se place à la limite du basculement : quelle est la conséquence sur certaines des actions mécaniques ? C.5.2.2. Dynamique du système !!!!!!" Déterminer l’expression du vecteur accélération Γ CG∈1/0 En notant I CG,1 la matrice d’inertie en CG du robot (1), écrire l’expression du torseur dynamique { D1/0 } C.5.2.3. Vitesse limite de basculement Par application du Principe Fondamental de la Dynamique au centre de gravité, extraire les équations liant les actions mécaniques et la dynamique du robot. Simplifier ces équations dans le cas limite du basculement, et en déduire la vitesse limite correspondant à la limite du basculement, ainsi que le rayon de virage minimum pour un déplacement à la vitesse maximale, à calculer d’après les caractéristiques de la motorisation retenue (vitesse de rotation du motoréducteur) Pour les applications numériques, on retiendra d=42 mm ; h=40 mm ; l=140 mm ; λ = 50 mm ; e=60 mm ; M=0,5 kg Présenter la démarche de résolution et les résultats obtenus Conclure sur le risque de basculement du robot Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 25/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.5.3. Vitesse limite de dérapage L’objectif est de définir une vitesse limite en virage au-delà de laquelle le robot risque de déraper. On note f le coefficient d’adhérence du contact roue/sol. Chercher la valeur du coefficient d’adhérence dans le cas d’un contact caoutchouc/béton Ecrire la condition de non glissement des roues arrières. A partir des équations issues du Principe Fondamental de la dynamique, écrire la condition sur la vitesse en fonction du rayon de virage pour assurer le non glissement des roues arrière. A la vitesse maximale possible, calculer le rayon minimal de virage pour éviter le dérapage. Présenter la démarche de résolution et les résultats obtenus Conclure sur le risque de dérapage du robot C.5.4. Performances d’accélération L’objectif est de simuler le comportement du robot soumis à un échelon de tension C.5.4.1. Inertie équivalente ramenée aux arbres moteur Les masses mobiles sont les 2 arbres moteur, les 2 roues (rotation) et le robot (translation) Déterminer l’inertie équivalente J eq ramenée aux arbres moteur de l’ensemble du robot C.5.4.2. Résistance au roulement Mettre au point un protocole expérimental permettant d’évaluer le coefficient de résistance au roulement δ . On pourra à cette fin s’aider du châssis de voiture radio-commandée présente dans le laboratoire. La mesure de δ se fera soit par mesure de l’effort nécessaire au déplacement, soit par mesure de la déformation de la roue. C.5.4.3. Schéma bloc du robot Les deux moteurs, identiques, peuvent être modélisés par un seul moteur caractérisé par la même constante électrique K E et une constante de couple égale à 2K C Construire le schéma bloc de la motorisation en : • modélisant le moteur électrique • remplaçant la valeur de l’inertie par la valeur de l’inertie équivalente que vous avez déterminée • insérant un couple résistant qui traduit la résistance au roulement. Evaluer les performances du robot en réponse à une consigne de tension de 6V sur les moteurs. En déduire la valeur moyenne de l’accélération γ1/0 Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 26/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.6. Problématique 6 : Lois de pilotage des moteurs Objectifs : Définir les vitesses de rotation des moteurs en fonction de la vitesse souhaitée et du rayon de virage Paramétrage !!!!!" On note G le centre de la roue arrière + ! gauche du robot (1), D celui de la roue arrière I1/0 VG∈1/0 v droite et M l’entraxe des roues. !!!!!" Les données du déplacement sont la !!!!!" + VM ∈1/0 vitesse souhaitée V = VM ∈1/0 et le rayon de r G !!!!!" virage ρ = I1/0 M ! + VD∈1/0 y M Le torseur cinématique du mouvement du + robot (1) par rapport au sol (0) est noté : D ! ! ⎧⎪ !!!" " ⎫⎪ x u Ω =ω z {C1/0 } = ⎨ 1/0 " 1/0 ⎬ !!!!!" " ⎪⎩ Vu ⎪⎭ M I1/0 M = ρ v !!!!" " ω1/0 > 0 dans le cas d’un virage gauche MG = ev !!!" " ω1/0 < 0 dans le cas d’un virage droite MD = −ev avec e = 60 mm !!!!!" !!!!!" C.6.1.Expression des vitesses VD∈1/0 et VG∈1/0 !!!!!!" " I1/0 est le centre de rotation. Par conséquent, VI1/0 ∈1/0 = 0 . En déduire l’expression de ω1/0 en fonction de V et r. On pose désormais r>0 en cas de virage gauche, et r
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.6.3.Cas particuliers Que se passe-t-’il si le rayon de virage est égal à r=2e (centre de rotation au point de contact IG) ? Que se passe-t-il si le rayon de virage est inférieur à 2e (centre de rotation entre les 2 roues ? Que se passe-t-il si r=0 (rotation du robot sur lui-même) ? Présenter la démarche de résolution. Donner l’expression des lois de pilotage en fonction des consignes de vitesse et de rayon Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 28/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.7. Problématique 7 : Mesure de distance Objectifs : Définir le principe de mesure de distance. Quantifier les performances des capteurs Ressources : Recherche documentaire Documentation constructeur C.7.1. Principe du capteur Sonar Le capteur retenu pour la mesure de distance est le capteur sonar HC-SR04 Chercher sur Internet le principe de ce capteur sonar. La documentation technique est disponible sur ce site ou celui-ci (en français). Quelles sont les performances annoncées par le fournisseur ? (résolution, amplitude de mesure, ...) C.7.2. Expérimentation du capteur ATTENTION : il est impératif pour ce capteur de réaliser le câblage hors tension. Le contrôleur ne doit pas être alimenté Réaliser le câblage ci-contre. Télécharger le programme Arduino de test. Implanter ce programme dans le contrôleur Arduino : ➢ Ouvrir le logiciel Arduino et ouvrir le programme téléchargé ➢ Outils > Port : vérifier le numéro de port auquel Arduino est connecté ➢ Outils > Type de carte : vérifier que le type de carte correspond à l’Arduino utilisé ➢ Implanter le programme dans le contrôleur : Ouvrir la console Arduino : . Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 29/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.7.3. Vérification des performances du capteur Modifier le programme Arduino de façon à afficher la distance en mm (il suffit de changer le type de la variable duration) 1. Vérifier l’étendue de mesure annoncée par le fournisseur 2. Calculer l’erreur de mesure en fonction de la distance 3. Déterminer l’angle maximal entre le faisceau ultrason et la normale de l’objet à détecter au-delà duquel la mesure n’est plus fiable C.7.4. Visualisation des signaux sur l’oscilloscope Déconnecter l’Arduino de façon à couper son alimentation Relier le signal «Trigger» sur la voie A de l’oscilloscope, et le signal «Echo» sur la voie B. Régler les voies de l’oscilloscope, sachant que : • l’amplitude des signaux est égale à 5V • la largeur des signaux est fournie grâce à l’extrait de la documentation ci-dessous Connecter l’Arduino, et visualiser les signaux en procédant à plusieurs mesures de distance. Etablir un graphe traçant la largeur de l’écho en fonction de la distance réelle Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 30/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.8. Problématique 8 : Développement de l’algorithme de résolution Objectifs : Ecrire l’algorithme, puis le programme, permettant au robot de sortir du labyrinthe Ressources : Recherche documentaire C.8.1. Recherche documentaire L’algorithme de Pledge, du nom de son inventeur (Jon Pledge d’Exeter, un garçon de 12 ans), permet de sortir de tout labyrinthe quelle que soit sa configuration. Le principe de cet algorithme est décrit sur ce site. Prendre connaissance de ce principe C.8.2. Elaboration de l’algorithme Le robot est muni de 3 capteurs, détectant la présence de parois : • un capteur g, détectant la présence de parois à gauche du robot (dans le sens de marche) • un capteur d, pour les parois à droite du robot a • un capteur a, pour les parois en avant du robot g d Outre les variables g, d et a des capteurs, on utilisera les variables suivantes pour décrire les mouvements du robot : • AV : marche avant du robot • RD : rotation d’un 1/4 de tour vers la droite • RG : rotation d’un 1/4 de tour vers la droite Créer un algorithme basé sur l’algorithme de Pledge qui permet au robot de sortir d’un labyrinthe Traduire ensuite cet algorithme sous forme de graphe d’état Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 31/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.8.3. Essai sur Robot Lego L’objectif est de tester le graphe d’état précédent dans un robot Lego EV3 Le graphe d’état précédent doit maintenant être implanté dans un robot EV3 à des fins de test. Avant tout, il faut calculer l’angle de rotation des roues correspondant à un pivotement d’1/4 de tour du robot sur lui-même. Pour cela : 1.Mesurer la distance entre les deux roues arrières, et en déduire la longueur + que doivent parcourir chacune des roues lors d’une rotation de 90° 2. Après avoir mesuré le diamètre des roues, en déduire enfin l’angle ce rotation correspondant à cette longueur à parcourir Le fichier Simulink à implanter dans la brique EV3 est ébauché. Télécharger ce modèle. En double-cliquant dans le graphe d’état «Algorithme de Pledge», on fait apparaître 2 états composites parallèle : * Pledge, dans lequel doit être implanté le graphe précédemment élaboré * Rotation_Moteurs, qui gère la rotation des moteurs en fonction des consignes de marche avant, rotation droite, rotation gauche. Saisir le graphe d’état dans l’état Pledge, et transférer le programme dans la brique EV3 Tester le comportement du robot, et valider l’algorithme. Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 32/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.9. Problématique 9 : Conception du support de caméra Objectifs : Concevoir la liaison entre la caméra et le châssis, en intégrant le servomoteur et le motoréducteur Ressources : Documentation constructeur Cette partie doit se faire en concertation avec le groupe responsable de la problématique 4 (conception du châssis). A partir des données du module 2 axes prévu pour le support de caméra, il faut prévoir son installation sur le châssis, en tenant compte des dimensions du servo moteur retenu. La rotation en azimut de la caméra se faisant par motoréducteur, il faudra également concevoir la liaison entre l’arbre moteur de ce motoréducteur et le support de caméra. L’assemblage Solidworks de la tourelle équipée du servomoteur d’élévation est disponible au téléchargement, ainsi qu’un modèle de la caméra utilisée. Emplacement de la caméra Plateau à entraîner par le moteur Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 33/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.10. Problématique 10 : Motorisation en élévation Objectifs : Piloter le servomoteur de la mise en élévation de la caméra Ressources : Recherche documentaire Données constructeur Un servomoteur est un actionneur électrique constitué d’un moteur à courant continu, capable de maintenir une consigne angulaire. Il s’agit d’un actionneur asservir en position. C.10.1.Principe du servomoteur Ce site permet de prendre connaissance de la composition d’un servomoteur, et de son mode de pilotage. A la suite de sa lecture : Quelle est la composition d’un servomoteur ? Comment s’effectue le pilotage d’un servomoteur ? Les servomoteurs retenus sont les Hitec HS-422, dont les données constructeurs sont disponibles sur cette page. Déduire de la lecture de ces données : • Le couple maximum • La vitesse de rotation à vide • Les largeurs d’impulsion de pilotage (position neutre et pleins débattements) C.10.2.Câblage et programmation du contrôleur ECIO40P Réaliser le câblage ci-dessous, qui permettra de tester le positionnement du servomoteur en fonction de la largeur d’impulsion. Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 34/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 Appeler le professeur pour la validation du câblage, et pour le lancement du tracé de l’algorithme sous FlowCode Ouvrir le logiciel FlowCode, et tracer l’algorithme page suivante, qui permet d’envoyer au servomoteur une impulsion de largeur variable entre 700 et 2300 ms en fonction de la position du potentiomètre. Cet algorithme : • initialise le contrôleur de servomoteur • dans une structure «While 1» (donc une boucle permanente) lit la valeur du potentiomètre sous forme d’octet, et injecte cette valeur dans le contrôleur de servomoteur. B a n d e a u h o r i z o n t a l p e r m e t t a n t d ’ i n s é re r u n potentiomètre (Input), un controleur de servo et un servo (Mechatronics) : Bandeau vertical permettant d’insérer les éléments de l’algorithme : Tableau de bord du montage : C.10.3. Test de fonctionnement sur contrôleur Arduino (en secours du test précédent) Réaliser le câblage ci-dessous, qui permettra de tester le positionnement du servomoteur en fonction de la largeur d’impulsion. Appeler le professeur pour la validation du câblage Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 35/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 Télécharger le programme Arduino, qui permet d’envoyer au servomoteur une impulsion de largeur variable entre 0 et 3000 ms en fonction de la position du potentiomètre. Implanter ce programme dans le contrôleur Arduino : ➢ Ouvrir le logiciel Arduino et ouvrir le programme téléchargé ➢ Outils > Port : vérifier le numéro de port auquel Arduino est connecté ➢ Outils > Type de carte : vérifier que le type de carte correspond à l’Arduino utilisé ➢ Implanter le programme dans le contrôleur : C.10.4.Tests du servomoteur 1. Observer le comportement du servomoteur en fonction de la largeur d’impulsion théorique. 2. Mesurer l’angle du servomoteur en fonction de cette largeur d’impulsion 3. Mesurer la vitesse angulaire : utiliser pour cela le logiciel «Tracker Video» : (I) Prendre une vidéo du servo moteur vu de dessus avec le téléphone portable. Afin de faciliter l’analyse à suivre, on aura intérêt à identifier clairement un point mobile, par exemple avec une vis ou une LED (II) Récupérer la vidéo sur l’ordinateur (III) Lancer le logiciel «Tracker» et ouvrir cette vidéo (IV) Définir les limites utiles de la vidéo : (V) Calibrer la vidéo (afin de renseigner l’échelle pour les mesures de distance) en sélectionnant 2 points dont on connaît la distance (VI) Un axe se positionne automatiquement. Déplacer l’origine de cet axe sur le centre du servomoteur Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 36/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 (VII) Demander le repérage automatique du point identifiable, et sélectionner ce point. Cliquer sur «Chercher» et vérifier que la trajectoire proposée est correcte. Si la proposition est incorrecte, il faudra saisir manuellement les points par «Créer une masse ponctuelle». (VIII) Afficher alors le graphique ω = f (t) 4. Observer à l’oscilloscope la largeur réelle d’impulsion 5. Mesurer le couple de maintien maximum Présenter les résultats de ces 5 tests Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 37/48
PROJET ATS 2018 RESOLUTION DE LABYRINTHE PROJET ATS Détail des problématiques Edition 3 - 22/02/2018 C.11. Problématique 11 : Mesure des mouvements de la tête Objectifs : Définir les vitesses de rotation des moteurs en fonction de la vitesse souhaitée et du rayon de virage Ressources : Recherche documentaire Données constructeur Les angles de la tête sont mesurés à partir d’un magnétomètre pour l’azimut, et à partir d’un accéléromètre pour l’élévation. Ce capteur détecte les flux magnétiques,et, en l'absence de champs magnétique perturbateur, détermine la position du Nord magnétique. Il fournit une indication de cap par rapport à ce Nord magnétique. Il dispose également de 3 accéléromètres dans les 3 directions x, y et z. C.11.1.Recherche documentaire Chercher sur Internet comment, à partir de la connaissance des valeurs des accélérations en x, y et z mesurées par un accéléromètre, il est possible d’en déduire l’angle de ce capteur autour des axes x et y. En particulier, le document à cette adresse dresse une étude de l'exploitation des accéléromètres. Donner l’expression des angles autour de x et y de l’accéléromètre en fonction des accélérations mesurées Ax, Ay et Az C.11.2.Montage expérimental Le capteur LSM303D doit être relié aux broches suivantes d’un contrôleur Arduino : • Broche «Vin» du capteur sur broche «3.3V» de l’Arduino (pas 5V) • Broche «GND» du capteur sur broche «GND» de l’Arduino • Broche «SDA» du capteur sur broche «A4» de l’Arduino Uno, ou «20» de l’Arduino Mega • Broche «SCL» du capteur sur broche «A5» de l’Arduino Uno, ou «21» de l’Arduino Mega Faire vérifier le câblage par le professeur avant de connecter l’Arduino au port USB. Télécharger et décompresser le programme suivant : Test_LSM303D.ino.zip Implanter ce programme dans le contrôleur Arduino : ➢ Ouvrir le logiciel Arduino et ouvrir le programme téléchargé ➢ Outils > Port : vérifier le numéro de port auquel Arduino est connecté ➢ Outils > Type de carte : vérifier que le type de carte correspond à l’Arduino utilisé ➢ Implanter le programme dans le contrôleur : ➢ Ouvrir la console : . Lycée Jules Ferry - 06400 Cannes ats.julesferry.cannes@gmail.com 38/48
Vous pouvez aussi lire