Lance rondelle robotisé pour l'entrainement des
gardiens de but
Mémoire
Anders Bernard
Maîtrise en génie mécanique - avec mémoire
Maître ès sciences (M. Sc.)
Résumé
Le hockey sur glace est un sport majeur et populaire en Amérique du Nord. La LNH (Ligue Nationale de Hockey) est considérée comme la ligue la plus prestigieuse du monde et regroupe une trentaine d’équipes avec des millions de supporters. Les gros enjeux sportifs et financiers qui pèsent sur les équipes de hockey poussent les entraineurs à utiliser des méthodes et des équipements qui préparent et développent aux mieux les capacités de leurs joueurs. Parmi les outils à leur disposition on s’inté-resse tout particulièrement dans cette étude au lance rondelle, un dispositif mécanique reproduisant le tir de rondelle d’un joueur. Le but de ce projet de maitrise repose donc sur le développement d’un lance rondelle robotisé totalement automatique pour l’entrainement des gardiens de hockey. A travers une présentation chronologique on expose la démarche de conception entreprise pour aboutir au lance rondelle robotisé en commençant par présenter le prototype initial utilisé comme base auquel on ap-porte deux modifications majeures, respectivement un nouveau système de positionnement laser et une interface de commande et de contrôle développée en python et implémentée sur un Raspberry Pi. On y développe aussi les équations utilisées pour calculer la position du lance rondelle dans l’espace et le modèle balistique employé pour évaluer la trajectoire de la rondelle. Pour finir on mesure et on quantifie la précision et la répétabilité des tirs et du positionnement de la machine.
Table des matières
Résumé ii
Table des matières iii
Liste des tableaux v
Liste des figures vi
Liste des symboles viii
Remerciements xii
Introduction 1
1 Le concept d’un lance rondelle 3
1.1 Le principe et les machines existantes . . . 3
1.2 Le lance rondelle automatique . . . 4
2 Les différents repères du système 11 2.1 Présentation des repères. . . 11
2.2 Changement de repères . . . 13
3 Positionnement du lance rondelle sur la patinoire 17 3.1 Mesure des coordonnées dans l’espace . . . 17
3.2 Affinage de la position dans l’espace par minimisation de l’erreur sur l’écart des réflecteurs . . . 19
3.3 Recherche des réflecteurs . . . 20
3.4 Optimisation de la recherche des réflecteurs . . . 23
4 Tir balistique des rondelles 25 4.1 Tir balistique uniquement soumis à l’attraction gravitationnelle . . . 25
4.2 La visée . . . 28
4.3 Spécificité du lance rondelle . . . 29
4.4 Prise en compte des effets de portance et de trainée . . . 30
5 Configurations, étalonnages et interfaces 35 5.1 Dimensions caractéristiques du lance rondelle . . . 35
5.2 Configuration et étalonnage des entités du lance rondelle . . . 36
6 Performances du lance rondelle 51 6.1 Performances du positionnement du lance rondelle . . . 51 6.2 Performances des tirs du lance rondelle . . . 54 6.3 Performances du lance rondelle dans sa globalité . . . 57
Conclusion 61
Bibliographie 65
Annexes 67
A Configuration des GPIO et du SPI 67
B Données des mesures de la position du lance rondelle 69
C Dimensions officielles d’une patinoire de hockey définit par la LNH (Ligue
Liste des tableaux
3.1 Temps nécessaire au système de balayage pour réaliser 10 amplitudes ∆αL. . . 22
5.1 Dimensions caractéristiques de divers éléments du lance rondelle. . . 35 5.2 Configuration des registres des contrôleurs EVAL6480H utilisés sur les moteurs pas à
pas pour le placement des rondelles et l’orientation du canon. . . 41 5.3 Résultats des essais réalisés à 25 et 40 m/s afin de vérifier la loi entre la vitesse de tir
des rondelles et la vitesse de rotation du marteau. . . 45 5.4 Résultats des essais avec des rondelles à 0 °C visant à déterminer l’influence de la
température sur la loi entre la vitesse de tir des rondelles et la vitesse de rotation du
marteau. . . 46 6.1 Résultats des essais réalisés sur le dispositif de positionnement du lance rondelle. On
effectue 10 balayages successifs à 5 positions recouvrant la surface de la patinoire. Les mesures des distances DAet DBsont ensuite comparées avec les mesures réelles
réalisées avec un mètre à ruban. . . 53 6.2 Écarts δAet δBentre les positions réelles des réflecteurs A et B et leur position détectée
A0et B0tels que défini dans la figure 6.1. . . 54 6.3 Résultats des essais réalisés sur la partie tir du lance rondelle. On fournit à la machine
sa position exacte et on fixe une cible au centre du but à une hauteur de 68 cm (cible circulaire blanche figure 6.4a). On en détermine alors uniquement les performances
du modèle balistique et du système de tir du lance rondelle. . . 57 6.4 Résultats des essais réalisés sur le lance rondelle dans son ensemble. On place la
machine aux positions approximatives de 7 et 14 mètres et on effectue un balayage avec le système de détection. Les positions détectées sont utilisées par le lance rondelle pour effectuer 3 séries de 9 tirs à 25, 35 et 45 m/s dans les 3 cibles placées dans le but
Liste des figures
1.1 Lances rondelles semi-automatiques disponibles sur le marché. . . 4
1.2 Lance rondelle de marque Winmill ©Winmill. . . 4
1.3 Prototype de lance rondelle disponible au laboratoire en début de projet. . . 5
1.4 Sous-ensemble permettant d’effectuer le tir des rondelles. . . 6
1.5 Sous-ensemble permettant l’orientation du canon. . . 6
1.6 Composants du système de positionnement. . . 7
1.7 Dispositif de balayage composé du capteur/détecteur laser monté sur deux moteurs pas à pas. . . 8
1.8 Composants de l’interface entre les capteurs, les actionneurs et l’utilisateur. . . 10
2.1 Illustration des 6 repères définis pour l’étude du lance rondelle. . . 12
2.2 Changement de repère entre le repère global patinoire (RGP) et le repère global ma-chine (RGM).. . . 13
2.3 Changement de repère entre le repère global machine (RGM) et le repère tilt machine (RT M). . . 14
2.4 Changement de repère entre le repère tilt machine (RT M) et le repère balayage machine (RBM). . . 14
2.5 Changement de repère entre le repère global machine (RGM) et le repère balayage laser (RBL). . . 15
2.6 Changement de repère entre le repère balayage laser (RBL) et le repère tilt laser (RT L). 15 3.1 Le signal laser coupe le réflecteur A ce qui, dans le repère RT L, réduit la position de ce point à une unique composante selon l’axe xTL (XA, 0, 0)RT L. . . 18
3.2 Processus de balayage pour la recherche des réflecteurs installés sur le but.. . . 20
3.3 Schéma illustrant l’amplitude de balayage selon la distance entre le pointeur/détecteur laser et les réflecteurs. . . 20
3.4 Schéma de mise en équation de la période de balayage en fonction de la position pointeur/détecteur laser. . . 21
3.5 Régression des moindres carrés utilisée pour déterminer une loi entre T et ∆αL. . . . 22
3.6 Optimisation de la recherche des réflecteurs en ignorant une zone de balayage suite à l’orientation approximative du repère RGMpar l’utilisateur. . . 24
4.1 Illustration de la trajectoire parabolique de la rondelle impliquant la visée du point (XC,YC, ZcLIN) pour atteindre la cible (XC,YC, ZC). . . 26
4.2 Exemple de deux tirs de rondelles à une vitesse identique V0= 13.46 m/s atteignant la même cible, le premier avec un angle de tir de 30° et un second avec un angle de tir de 60°.. . . 27
4.3 Paramétrage définit pour l’étude de la trajectoire prenant en compte les effets de
por-tance et de trainée qui s’appliquent sur la rondelle.. . . 31
4.4 Coefficients CL et CD en fonction de l’incidence φ . Données issues et adaptées de Schwiewagner et al. (2006). . . 32
4.5 Comparaison de 2 trajectoires balistiques avec des paramètres de tir identiques. Les effets de portance et de trainée sont pris en compte dans la trajectoire en trait plein et négligés dans celle en pointillés. . . 33
5.1 Étalonnage de l’horizon sur le pointeur/détecteur laser à l’aide d’un marbre. . . 37
5.2 Schéma représentant la cinématique du mécanisme d’inclinaison du canon. . . 38
5.3 Loi entre le nombre de pas du moteur et l’angle α résultant.. . . 39
5.4 Schéma représentant la cinématique du mécanisme d’orientation du canon. . . 39
5.5 Asservissement Proportionnel Intégral (PI) mis en place pour l’asservissement de la vitesse de rotation du marteau. . . 42
5.6 Réponse de la vitesse du marteau en fonction du temps lors de l’essai d’asservissement mis en place. . . 42
5.7 Loi entre la vitesse de rotation du marteau et la tension de commande déterminé par une régression des moindres carrés. . . 43
5.8 Dispositif utilisé pour la mesure de vitesse des rondelles placé en sortie du canon. . . 44
5.9 Loi entre la vitesse de la rondelle en fonction de la vitesse de rotation du marteau déterminé par une régression des moindres carrés. . . 44
5.10 Organigramme du programme informatique de l’interface graphique. . . 47
5.11 Menu principal du lance rondelle. . . 47
5.12 Menu balayage du lance rondelle. . . 48
5.13 Menu tir manuel du lance rondelle. . . 48
5.14 Menu du mode séquence de l’interface graphique du lance rondelle. . . 49
5.15 Menu de création d’une nouvelle séquence. . . 50
5.16 Menu de visualisation et de lancement d’une séquence (figure agrandie pour une meilleure visibilité).. . . 50
6.1 Schéma illustrant les distances DAet DButilisées par le lance rondelle pour déterminer sa position vis à vis du but. . . 51
6.2 Schéma du montage mis en place pour mesurer les performances du dispositif de positionnement du lance rondelle. . . 52
6.3 Écarts δA et δBrésultant des erreurs de positionnement des réflecteurs A et B issus du balayage laser. . . 53
6.4 Photographie de la position des 3 cibles dans le but de hockey, deux dans les coins supérieurs et une au centre à une hauteur de 68 cm ainsi qu’une illustration des cibles avec l’équivalence entre leurs surfaces et celle d’une rondelle de hockey. . . 55
6.5 Photographie de l’intérieur du canon du lance rondelle. Les ellipses en rouge mettent en évidence les zones où la rondelle rebondit dans le canon.. . . 56
6.6 Répartition des tirs dans la séquence réalisée pour mesurer les performances du lance rondelle dans son ensemble. Les 3 cibles ont des surfaces identiques équivalentes à 7 fois la surface d’une rondelle et la cible au centre du but est à une hauteur de 68 cm. . 58
C.1 Dimensions officielles d’une patinoire de hockey définit par la LNH (Ligue Nationale de Hockey). Image tirée et adaptée de l’official rulebook 2018-2019 © NHL . . . 76
Liste des symboles
Notation Unité Définition
α [deg] Angle entre xGMet xT M selon l’axe yBM
α0 [pas] Angle α entre la butée d’initialisation et l’horizon αL [deg] Angle entre xBLet xT Lselon l’axe yBL
αL0 [pas] Angle αLentre la butée d’initialisation et l’horizon
αLA, βLA [deg] Angles αLet βLcorrespondant à la visée du réflecteur A
αLB, βLB [deg] Angles αLet βLcorrespondant à la visée du réflecteur B
αLmax [deg] Angle maximal de détection des réflecteurs
αLmed [deg] Médiane de l’amplitude du balayage laser
αLmin [deg] Angle minimal de détection des réflecteurs
αmax [deg] Angle d’assiette maximal du canon β [deg] Angle entre xT M et xBMselon l’axe zBM
β0 [pas] Angle β entre RGMet RBLlorsque l’on est en butée βL [deg] Angle entre xGMet xBLselon l’axe zBL
βL0 [pas] Angle βLentre RGMet RBLlorsque l’on est en butée
βLinit [deg] Angle à partir duquel le balayage débute
βmax [deg] Angle de lacet maximal du canon
χ Variable égale à V02
δ [m] Différence entre LCet LM
∆α [deg] Écart d’angle α entre deux itérations dans le calcul des paramètres de tir
∆αL [deg] Amplitude du balayage laser
∆β [deg] Écart d’angle β entre deux itérations dans le calcul des para-mètres de tir
∆βL [deg] Ouverture angulaire du réflecteur depuis le pointeur/détecteur laser
∆χ Déterminant de l’équation polynomiale d’ordre 2 faisant in-tervenir la vitesse de tir V0
∆r [deg] Précision angulaire sur l’orientation du canon
∆ZcLIN Déterminant de l’équation polynomiale d’ordre 2 faisant in-tervenir la hauteur à viser ZcLIN
ε [tr/min] Erreur entre la consigne de vitesse du marteau et la vitesse du marteau
γ [deg] Angle de rotation des moteurs pas à pas λ [deg] Angle entre le vecteur vitesse et l’axe x
Notation Unité Définition
ω [rad/s Vitesse de rotation du marteau
ΩLacet [rad/s] Vitesse angulaire du balayage laser
φ [deg] Incidence de la rondelle
φ0 [deg] Inclinaison du tir
ρ [kg/m3] Densité de l’air
τa [deg] Borne supérieure de l’algorithme d’encadrement τb [deg] Borne inférieure de l’algorithme d’encadrement τm [deg] Angle moyen entre τaet τb
θ [deg] Angle entre xGPet xGMselon l’axe zGM
ξ [m] Incertitude sur la position du lance rondelle donné par l’utili-sateur
A [m] Vecteur exprimé dans le repère fixe
A0 [m] Vecteur A exprimé dans le repère mobile
A0 [m] Vecteur de translation entre le repère fixe et le repère mobile AF [m2] Aire frontale de la rondelle
Amp [m] Amplitude du balayage triangulaire
ax [m/s2] Accélération selon l’axe x dans RGM ay [m/s2] Accélération selon l’axe y dans RGM az [m/s2] Accélération selon l’axe z dans RGM
CD Coefficient de trainée
CL Coefficient de portance
Ct [Volts] Consigne de tension du moteur entrainant le marteau Cv [tr/min] Consigne de vitesse du marteau
D [N] Force de trainée
D [m] Distance entre les laser du dispositif pour la mesure de la vi-tesse des rondelles
DM [m] Distance entre la machine et l’origine du repère RGP
DA, DB [m] Distance entre le dispositif de balayage et les réflecteurs A et B
g [m/s2] Accélération gravitationnelle
HC [m] Hauteur des réflecteurs
Hr [m] Longueur des réflecteurs
Kβ [deg.pas−1] Facteur de conversion angle de rotation β /nombre de pas du moteur
Ki Gain intégral
Kp Gain proportionnel
l [m] Longueur du plateau inclinable du canon
L [m] Distance entre la position initiale de la rondelle et de la cible
L [N] Force de portance
L Matrice de passage entre le repère fixe et le repère mobile L0 Matrice de passage entre le repère mobile et le repère fixe L1 [m] Position minimale entre le pointeur/détecteur laser et un
ré-flecteur
L2 [m] Position maximale entre le pointeur/détecteur laser et un ré-flecteur
Notation Unité Définition
LC [m] Distance entre les réflecteurs
LM [m] Distance mesurée entre les réflecteurs
Lr [m] Largeur des réflecteurs
m [kg] Masse de la rondelle
Moy [m] Moyenne du balayage triangulaire
p [pas/tour] Nombre de pas par tour des moteurs
Q Carré de l’erreur δ
rα, rβ, rγ [rad] Angle de rotation entre le repère fixe et le repère mobile selon respectivement les axes x, y ou z
r1 [m] Rayon de la poulie 1 r2 [m] Rayon de la poulie 2 r3 [m] Rayon de la poulie 3 r4 [m] Rayon de la poulie 4 r5 [m] Rayon de la poulie 5 r6 [m] Rayon de la poulie 6 r7 [m] Rayon de la poulie 7
RBL Repère balayage laser
RBM Repère balayage machine
RGM Repère global machine
RGP Repère global patinoire
RT L Repère tilt laser
RT M Repère tilt machine
T [s] Période du balayage triangulaire
T [Volts] Tension de commande
tf [s] Temps de vol de la rondelle
tol Critère d’arrêt de l’algorithme d’encadrement
V [m/s] Module du vecteur vitesse
V [m/s] Vitesse de la rondelle en sortie du canon V0 [m/s] Vitesse de tir de la rondelle
V0min [m/s] Vitesse minimale de la rondelle afin d’atteindre la cible pour des angles α et β fixes
Vm [tr/min] Vitesse du marteau
VX0,VY0,VZ0 [m/s] Respectivement la projection de V0 selon les axes (x, y, z) du
repère RGM
Vx [m/s] Vitesse selon l’axe x dans RGM Vy [m/s] Vitesse selon l’axe y dans RGM Vz [m/s] Vitesse selon l’axe z dans RGM
X0,Y0, Z0 [m] Coordonnées de la rondelle dans le repère RGM Xc,Yc, Zc [m] Coordonnées de la cible dans le repère RGM
XL,YL, ZL [m] Coordonnées de l’origine du repère RT Ldans le repère RGM XLapp,YLapp [m] Position approximative de l’origine du repère RT L dans le
re-père RGP
XM,YM [m] Coordonnées du lance rondelle dans RGM
Notation Unité Définition
XT, ZT [m] Coordonnées de l’origine du repère RT Mdans le repère RGM
X [m] Position selon l’axe x dans RGM
Y [m] Position selon l’axe y dans RGM
Z [m] Position selon l’axe z dans RGM
ZcLIN [m] Hauteur à viser à (Xc,Yc) pour atteindre la cible dans le repère
RGM
ZcMAX [m] Hauteur maximale d’une cible de visé par le canon
ZLIN(t) [m] Position selon l’axe z de la rondelle suivant une trajectoire rec-tiligne au cours du temps dans le repère RGM
Remerciements
Ces deux années de maitrises n’auraient pu être menées à bien sans le soutien et l’aide d’un ensemble de personnes.
Je tiens particulièrement à remercier mon directeur de maitrise, le professeur JEAN LEMAY, pour m’avoir proposé un sujet passionnant mêlant à la fois les aspects pratiques et théoriques du génie mé-canique. Toujours présent pour mes interrogations et pour me guider jusqu’au bout de cette maitrise, j’ai passé deux excellentes années où son soutien, son aide et ses précieux conseils m’ont enrichi à la fois sur le plan professionnel et personnel.
Je tiens à remercier MICHELDOMINIQUE ainsi qu’ANDRÉCHAMBERLAND sans qui beaucoup
d’équipements n’auraient pu être installés, configurés et réparés sur le lance rondelle.
Je tiens également à remercier mes parents et ma famille qui ont toujours été présent pour moi et m’ont soutenu tout au long de cette maitrise et tout particulièrement pendant cette longue période de rédaction.
Pour finir, je tiens à remercier toutes les personnes qui ont, de près ou de loin, contribué à la réussite de ce travail.
Introduction
Le hockey sur glace est un sport populaire et fortement ancré dans la culture canadienne à tel point qu’il est considéré comme le sport national. Composé de deux équipes de six joueurs, trois attaquants, deux défenseurs et un gardien il se joue sur la glace. Cette spécificité le cantonnait autrefois à une pratique exclusivement hivernale mais les progrès techniques et technologiques ont permis au fil du temps une pratique annuelle dans des patinoires couvertes. Lorsque l’on parle de hockey il est difficile de ne pas soulever le rôle primordial du gardien de but. Il est le dernier rempart face à l’adversaire, plus exposé que ses coéquipiers, il possède un équipement plus complet couvrant mieux le corps. Bien que le gardien de but et les joueurs de hockey partagent la même patinoire, leurs façons de jouer sont complètement différentes. Les habiletés et les performances sportives à développer sont donc toutes autres, d’où la nécessité d’une préparation particulière.
Pour développer les capacités nécessaires au poste de gardien de but les entraineurs s’appuient sur une multitude d’équipements et de machines. Dans ce large panel mis à leur disposition, on s’intéresse dans ce mémoire à un outil en particulier : le lance rondelle. Par définition un lance rondelle est un dispositif mécanique reproduisant le tir de rondelle d’un joueur de hockey, il permet donc d’entrainer le gardien dans des conditions qui s’approchent des conditions réelles auxquelles il sera soumis lors des matchs. Bien qu’ils soient utilisés depuis plusieurs dizaines d’années dans le milieu du hockey, les lances rondelles ont peu évolué et n’ont pas connu de grandes innovations. Leur principe d’utilisation est relativement basique, l’utilisateur impose une vitesse de tir à la machine et oriente son canon à un angle et une direction adéquate pour atteindre la cible qu’il vise. On constate donc que l’utilisateur est contraint de posséder une certaine expérience des tirs et du comportement de la rondelle afin d’atteindre la cible qu’il désire.
Dans l’optique de rendre leur utilisation plus accessible, de limiter les manipulations et d’avoir un contrôle plus poussé sur la cible visée, un projet de lance rondelle robotisé a vu le jour à l’Université Laval. L’objectif est simple, développer un lance rondelle totalement autonome où le rôle de l’utili-sateur se limite à l’installer sur la patinoire et à indiquer, sur une représentation virtuelle des buts, les cibles à atteindre et les vitesses des tirs. La machine détermine par la suite automatiquement sa position sur la patinoire et calcule les paramètres de tir pour atteindre les cibles.
Un prototype a donc été développé sous la supervision du professeur JEANLEMAY et a permis de démontrer la faisabilité du concept. Cette maitrise s’inscrit dans la continuité de ce prototype et aspire
à l’amener vers une machine totalement fonctionnelle et automatique. Certaines solutions utilisées initialement, adaptées dans une optique de recherche et développement, vont devoir être repensées et optimisées afin de développer une machine moins coûteuse et plus performante. Cette maitrise se concentre donc sur un objectif principal, rendre le lance rondelle robotisé totalement fonctionnel et quantifier ses performances en termes de précision et de répétabilité, en passant par deux axes de modification majeurs du prototype, le système de mesure de la position dans l’espace et le système de commande et de contrôle entre les capteurs, les actionneurs et l’utilisateur.
Le mémoire se structure en 6 parties principales, on débute par une présentation du concept de lance rondelle en général avec les différents modèles existants puis on introduit le prototype à la base de notre machine. On expose alors les limites du prototype et les solutions qui s’offrent à nous pour répondre au mieux à une optimisation des coûts et des performances. Lorsque les modifications et les nouvelles solutions mises en place ont bien été établies, on définit les différents changements de repères et les notations que l’on utilisera dans les équations tout au long du mémoire. On entre ensuite dans le détail du lance rondelle robotisé en privilégiant une approche modulaire, en effet le robot peut être décomposé en 3 sous-ensembles distincts, un premier sous-ensemble dont le rôle est de déterminer la position de la machine dans l’espace, un second sous-ensemble dont le rôle est de calculer les paramètres de tirs pour atteindre la cible visée et un dernier sous-ensemble réalisant l’interface entre les capteurs, les actionneurs et l’utilisateur. Les 3 chapitres suivants abordent donc respectivement ces 3 sous-ensembles. Vient alors le temps de mesurer et quantifier les performances de ce lance rondelle, on réalise donc dans ce sixième chapitre des tests de précision et de répétabilité à la fois sur le positionnement et le tir. Pour finir, la conclusion clôt ces 6 chapitres avec un bilan global qui retrace les avancées, les réalisations et les nouvelles capacités de la machine ainsi qu’une ouverture sur les pistes d’amélioration soulevées lors de ces deux ans de développement.
Chapitre 1
Le concept d’un lance rondelle
Ce premier chapitre introduit et aborde le concept de lance rondelle. Dans un premier temps on réalise une revue des différentes solutions existantes sur le marché puis on présente dans un second temps la conception et les caractéristiques du prototype utilisé comme base au projet. On finit par une présen-tation des installations et des modifications que l’on va réaliser sur le prototype pour palier à certaines de ses limites et optimiser au mieux le coût et les performances.
1.1
Le principe et les machines existantes
Lorsque l’on parle dans ce mémoire de lance rondelle il est important de le distinguer d’un simple passeur de rondelle, en effet cet équipement ne contient en général pas de pièces mobiles et se contente de renvoyer la rondelle au joueur comme une passe. Le lance rondelle quant à lui est une machine équivalente aux lances-balles de tennis ou de baseball, l’utilisateur commande la machine pour tirer les rondelles à une vitesse imposée dans la direction visée.
Là encore plusieurs types de machines existent, on peut les classer en deux grandes catégories. On trouve dans la première les machines assimilables à des canons, l’utilisateur impose à la machine la vitesse de la rondelle et oriente le canon pour réaliser la visée du tir. C’est le cas par exemple avec la gamme de modèles Pucco commercialisés par PARAMECANIC AB ou encore du modèle Porta-puck procommercialisé par BONI(figure1.1).
Ces modèles ont l’avantage d’être simple de conception, la machine gère seulement la vitesse de la rondelle et l’orientation du tir est réalisée par l’utilisateur, ce qui implique qu’il possède une certaine connaissance et expérience du tir avec le lance rondelle. L’inconvénient majeur repose donc sur la visée, en effet outre le fait qu’il soit nécessaire à l’utilisateur d’avoir une certaine expérience dans la visée et la trajectoire de la rondelle, il lui est également très délicat de changer rapidement de cible tout en étant précis.
Les machines que l’on classe dans la seconde catégorie répondent à cette problématique. L’utilisateur en plus de fournir une vitesse de tir impose à la machine une cible, la machine gère alors l’orientation
(a) Pucco 90 ©Paramecanic AB (b) Porta puck pro ©Boni
FIGURE1.1 – Lances rondelles semi-automatiques disponibles sur le marché.
du canon pour atteindre cette cible. Le fonctionnement et les composants du lance rondelle sont dans ce cas beaucoup plus complexes, en effet pour tirer et atteindre la cible il est nécessaire à la machine de connaitre sa position vis à vis des cages et d’adapter correctement l’orientation du canon. C’est cette dernière catégorie de lance rondelle qui est à l’étude dans cette maitrise, l’objectif étant d’obtenir une machine totalement autonome et facile d’accès pour l’utilisateur. Lors de la réalisation de la maitrise et du développement de notre modèle la jeune entreprise lettone Winmill a commercialisé un lance rondelle totalement automatique (figure 1.2). Les caractéristiques à propos de ce produit sont très succinctes, elles seront toutefois, dans la mesure du possible, mises en perspective avec les résultats et les performances de notre prototype final.
FIGURE1.2 – Lance rondelle de marque Winmill ©Winmill.
1.2
Le lance rondelle automatique
Tel que nous l’avons introduit précédemment, le lance rondelle à l’étude ici est totalement automatisé, l’utilisateur installe la machine où il le souhaite sur la glace face au but et impose une cible ainsi qu’une vitesse de tir. L’appareil doit ensuite être capable de déterminer sa position sur la patinoire et, en fonction de celle-ci, orienter le canon afin que la rondelle atteigne la cible.
premier ensemble dont la fonction est de tirer la rondelle à une vitesse donnée, un second sous-ensemble dont la fonction est d’orienter le tir et un dernier sous-sous-ensemble dont la fonction est de déterminer la position du lance rondelle sur la patinoire.
Les exigences en termes de performances restent identiques à celles imposées lors du développe-ment du prototype. Les capacités techniques de la machine doivent permettre, en étant positionnée n’importe où sur la patinoire passée la ligne bleue située à 19.5 m de la ligne de but (figure C.1en annexeC), de tirer des rondelles jusqu’à une vitesse de 175 km/h (49 m/s) correspondant au record établi par ZDENOCHARA en 20121quelle que soit la cible visée dans le but (1.83 m de large et 1.22 m de haut). Pour des raisons liées aux contraintes dimensionnelles de notre laboratoire, on se limitera à des essais d’une distance maximale de 18 mètres.
1.2.1 La base du prototype
La conception du lance rondelle robotisé se base sur l’architecture du prototype développé à l’Uni-versité Laval sous la direction du Professeur JEANLEMAY. On commence donc par introduire et présenter cette version initiale pour ensuite discuter des modifications qui seront apportées, d’une part pour palier à certaines limitations observées lors des utilisations préliminaires et, d’autre part, pour améliorer les critères de coût et de performances, le tout en limitant au maximum les modifications apportées. Le modèle CAO de ce lance rondelle est présenté à la figure1.3.
(a) Vue globale (b) Vue de face (c) Vue de coté
FIGURE1.3 – Prototype de lance rondelle disponible au laboratoire en début de projet. Sur ce prototype initial on identifie aisément les différents sous-ensembles. Le premier, utilisé pour le tir de la rondelle, est constitué d’un canon couplé avec un marteau tournant (figure1.4). La rondelle est transférée du réservoir vers le canon via un vérin actionné par un moteur pas à pas. Lorsqu’elle est en place dans le canon, un solénoïde actionne un levier relié à une came permettant d’apporter la rondelle sur la trajectoire du marteau et d’effectuer le tir. La vitesse de rotation du marteau impose la vitesse de tir de la rondelle. Le chapitre5présente la démarche mise en œuvre pour déterminer une relation entre ces deux grandeurs.
(a) Vue avant du système de tir (b) Vue arrière du système de tir
(c) Vue globale du lève rondelle (d) Vue de côté du lève rondelle
FIGURE1.4 – Sous-ensemble permettant d’effectuer le tir des rondelles.
Le système de tir est installé sur le second-sous ensemble constitué de deux plateformes mobiles. La première plateforme, permettant de lever et baisser le canon, est actionnée par un moteur pas à pas monté sur le cadre et relié à la plateforme par des câbles (ensemble non représenté sur la figure1.5, visible en rouge sur la figure1.3). La seconde plateforme, assimilable à une tourelle, est installée sur la première et permet de guider le canon dans la direction transversale. Elle est actionnée au moyen d’un second moteur pas à pas par le biais d’un système de courroies. Le second sous ensemble permet donc de pointer le canon selon toutes les directions de l’espace.
Pour calculer les paramètres de tir il est nécessaire de déterminer la position de la machine par rapport à la cage. C’est le rôle du dernier sous-ensemble, il est constitué d’un pointeur/détecteur laser monté à côté du canon et de deux réflecteurs placés dans les coins supérieurs du but (figure1.6). En faisant varier les deux axes du second sous-ensemble on effectue un balayage avec le laser qui, par réflexion sur les catadioptres, va détecter les deux réflecteurs. En relevant les angles de lacets et d’assiettes lors de la réflexion sur chacun des deux catadioptres on peut déterminer, par trigonométrie en connaissant les dimensions de la cage, la position de la machine vis à vis du but. Le développement mathématique de ce calcul est détaillé au chapitre3.
(a) Pointeur/Détecteur laser Panasonic LS-H92 (b) Cage de hockey munie de réflecteurs
FIGURE1.6 – Composants du système de positionnement.
Afin de pouvoir commander et contrôler ces différents sous-ensembles le prototype est équipé de plusieurs capteurs, actionneurs et composants électriques tels que trois moteurs pas à pas ainsi que leurs contrôleurs et leurs contacteurs de fin de course, deux pour les axes d’assiette et de lacet du canon et un pour le placement de la rondelle, d’un solénoïde pour l’armement de la rondelle dans le canon, d’un pointeur/récepteur laser pour déterminer sa position sur la patinoire, d’un moteur pour actionner le marteau et des capteurs à effet Hall pour mesurer sa vitesse de rotation et le déclenchement optimal du solénoïde (il est important de contrôler l’instant où le solénoïde se déclenche pour assurer une frappe optimale du marteau). Le tout est alimenté par deux batteries 12 Volts montées en série et contrôlé par une carte d’acquisition National Instruments usb 6001 et un programme LabVIEW sur un ordinateur.
1.2.2 Le modèle développé
Tout d’abord l’interface de commande et de contrôle composé d’une carte d’acquisition et d’un poste informatique permet d’avoir un système très polyvalent et performant grâce à l’étendue des possibilités offertes par le logiciel LabVIEW et la diversité des entrées/sorties matérielles. Toutefois, bien que cette option soit adaptée dans le cadre d’un développement pour valider le concept de lance rondelle robotisé, l’utilisation d’une carte d’acquisition et d’un poste informatique est sur-dimensionnée vis à vis des besoins réels et ne justifie pas le sur-coût engendré par cette solution pour la conception d’une version commerciale. Ces raisons nous poussent alors à chercher une alternative.
Cependant avant de s’intéresser aux solutions envisageables il est nécessaire d’effectuer une autre mo-dification concernant le système de positionnement dans l’espace de la machine. En effet, bien qu’on détermine la position, les performances du système actuel ne sont pas satisfaisantes, le capteur/détec-teur laser est installé à côté du canon, ce sont donc les mêmes axes qui sont utilisés pour effectuer la recherche des réflecteurs et l’orientation du tir, on est donc limité par l’inertie de tout le système de tir comprenant entre autres le canon, le marteau, et le réservoir de rondelles dans la vitesse d’exécution du balayage. De plus un autre aspect entre en compte, le lance rondelle étant alimenté par des batte-ries, le déplacement de toute la masse du système de tir lors du balayage résulte en un important coût énergétique.
Pour optimiser les performances et limiter à la fois le coût énergétique et le coût financier tout en conservant une solution ayant démontré ses capacités, on réalise un dispositif mobile sur deux degrés de liberté, l’axe d’assiette et de lacet, accueillant le capteur/détecteur et actionné par deux moteurs pas à pas (figure1.7). Le principe de cette solution est alors similaire au système de visée du canon, en revanche, la masse en mouvement dans le cas présent se résume à un petit moteur pas à pas et au capteur/détecteur laser ce qui permet, vu la faible inertie, d’augmenter la vitesse de balayage.
(a) Représentation simplifiée
Moteur axe de lacet Moteur axe d’assiette
Laser
(b) Montage réel
FIGURE1.7 – Dispositif de balayage composé du capteur/détecteur laser monté sur deux moteurs pas à pas.
Afin de constituer une nouvelle interface de commande et de contrôle entre les capteurs, les action-neurs et l’utilisateur, on dresse un cahier des charges dans le but d’identifier les besoins en termes de fonctionnalités et de caractéristiques. Pour ce faire nous allons commencer par dresser une liste des capteurs nécessaires au fonctionnement de notre lance rondelle puis celle des actionneurs et enfin le matériel requis pour l’interface homme/machine. Les capteurs présents sur le lance rondelle sont les suivants :
→ 1 capteur laser
→ 3 capteurs à effet Hall (1 pour la mesure de la vitesse de rotation marteau et 2 pour mesurer le déclenchement optimal du solénoïde)
→ 6 capteurs de fin de course
La liste suivante regroupe les différents actionneurs utilisés : → 5 moteurs pas à pas avec leur contrôleurs
→ 1 moteur pour actionner le marteau → 1 solénoïde
Pour finir on souhaite que l’interface homme/machine soit réalisée par le biais d’un écran tactile ce qui impose donc la prise en charge d’une interface graphique par le nouveau système.
Plusieurs solutions s’offrent à nous, on peut s’efforcer de poursuivre dans la direction actuelle en cherchant une carte d’acquisition plus abordable ayant des caractéristiques qui répondent au mieux à nos besoins sans être surdimensionnée le tout couplé avec un ordinateur bon marché, mais il peut également être intéressant d’essayer de limiter l’impact de la consommation électrique de l’ensemble. Ce dernier point est mieux maitrisé par une solution où l’ordinateur et la carte d’acquisition forment un seul ensemble, la mise en commun des ressources permet de réduire à la fois la taille, le prix et la consommation électrique. Les ordinateur mono-cartes avec entrées/sorties tels que la Cubieboard, la BeagleBoard, le Raspberry Pi ou encore la Banana Pi pour n’en citer que quelques uns répondent bien à ce dernier point tout en ayant les caractéristiques nécessaires au contrôle des différents composants du lance rondelle.
Bien qu’il existe une multitude de modèles et de marques, on privilégie dans notre cadre l’utilisation d’un Raspberry Pi dont les caractéristiques correspondent à nos besoins tout en laissant une certaine flexibilité pour le rajout de capteurs ou d’actionneurs à l’avenir. Par ailleurs, en plus d’avoir une communauté d’utilisateur immense, le Raspberry Pi est un outil utilisé depuis de nombreuse années à la Faculté des science et de génie de l’Université Laval où une certaine expertise a été acquise au fil du temps. On y installe la distribution spécialement dédiée Raspbian qui prend en charge nativement le langage de programmation Python. En s’appuyant sur les ouvrages de Upton et Halfacree (2014), Richardson et Wallace (2015), Boucheny (2016) et de Hetland (2017), on développe tout le code informatique et l’interface graphique pour piloter le lance rondelle dans ce langage de programmation. Un point nécessite néanmoins une adaptation, effectivement la commande du moteur pour la rotation du marteau est réalisée par une consigne en tension entre 0-10V, il est donc nécessaire d’équiper le
Raspberry Pid’un CNA (Convertisseur Numérique Analogique). On décide dans notre cas d’utiliser une carte Arduino Due reliée par le port série au Raspberry Pi (figure 1.8). Le module Arduino Due possède un CNA de 0-3.3V, combiné à un amplificateur d’un gain de l’ordre de 3, on obtient un module permettant la commande du moteur sur une plage de 0-10V facile à interfacer avec le Raspberry Pi. Cette solution, bien qu’elle soit plus chère qu’un module CNA permet là encore de garder une certaine flexibilité pour l’ajout de certains composants et sera à terme aisément remplaçable par un simple CNA lorsque le lance rondelle sera abouti.
(a) Arduino Due (b) Raspberry Pi 3B
Chapitre 2
Les différents repères du système
Ce chapitre commence par présenter les différents repères que l’on définit sur les sous-ensembles du lance rondelle et son environnement, puis, dans une deuxième partie, on développe les équations des changements de repère. On pose alors les bases des notations qui seront utilisées tout au long du mémoire dans les équations intervenant dans le système de positionnement ou le modèle balistique par exemple.
2.1
Présentation des repères
Le lance rondelle et son environnement d’utilisation forment un système complexe que l’on décom-pose en 6 repères différents :
— Le repère global patinoire RGP(x, y, z) où le plan (x, y) est confondu avec la surface de la pati-noire et dont l’axe x est colinéaire à la longueur et l’axe y à la largeur de la patipati-noire. L’origine de ce repère est au milieu du segment compris dans le plan de la patinoire formé par les deux poteaux du but (figure2.1a).
— Le repère global de la machine RGM(xGM, yGM, zGM) avec (xGM, yGM) le plan confondu avec la surface de la patinoire dont l’axe xGMest colinéaire à la longueur et l’axe yGMà la largeur de la machine. L’origine de ce repère correspond à la projection normale à la surface de la position de la rondelle lorsque α = β = 0 (figure2.1b).
— Le repère tilt machine RT M(xT M, yT M, zT M) avec (xT M, zT M) et (xGM, zGM) coplanaires et une rotation d’un angle α selon l’axe yT M. L’origine de ce repère est aux coordonnées (XT, 0, ZT) dans RGM(figure2.1cet figure2.3).
— Le repère balayage machine RBM(xBM, yBM, zBM) avec (xBM, yBM) et (xT M, yT M) coplanaires et une rotation d’un angle β selon l’axe zBM. L’origine de ce repère est aux coordonnées (XR, 0, ZR) dans RT M (figure2.1det figure2.4).
— Le repère balayage laser RBL(xBL, yBL, zBL) avec (xBL, yBL) et (xGM, yGM) coplanaires et une rotation d’un angle βLselon l’axe zT L. L’origine de ce repère est aux coordonnées (XL,YL, ZL) dans RGM(figure2.1eet figure2.5).
— Le repère tilt laser RT L(xT L, yT L, zT L) avec (xT L, zT L) et (xBL, zBL) coplanaires et une rotation d’un angle αL selon l’axe yBL. L’origine de ce repère est aux coordonnées (0, 0, 0) dans RBL (figure2.1fet figure2.6).
NOTE : On pourrait aussi définir le repère cage qui correspondrait au repère où l’on définit la cible que l’on souhaite atteindre lors du tir. Dans notre cas on définira les coordonnées des cibles dans le plan (O, y, z)RGP.
xGP
yGP
zGP
But
(a) Repère global patinoire RGP.
xGM yGM zGP xGM zGM yGM
(b) Repère global machine RGM.
xTM
zTM
yTM
α
(c) Repère tilt machine RT M.
β
xBM
yBM
zBM
(d) Repère balayage machine RBM.
xBL yBL zBL βL xBL zBL yBL
(e) Repère balayage laser RBL.
xTL yTL zTL αL xTL zTL yTL
(f) Repère tilt laser RT L. FIGURE2.1 – Illustration des 6 repères définis pour l’étude du lance rondelle.
2.2
Changement de repères
Pour effectuer un tir, la machine vise à l’aide des deux rotations d’angles α et β , une position que l’on détermine dans le repère RGM. Il est donc nécessaire de déterminer les relations entre les différents repères constituant notre système.
Dans le cadre général, considérons un repère fixe (x, y, z)Fixe que l’on translate aux coordonnées (X0,Y0, Z0) et auquel on impose un mouvement de rotation rα, rβ ou rγ sur un de ses axes x, y ou zrespectifs. Le repère mobile résultant, noté (x0, y0, z0)Mobile, sera définit par les équations de change-ment de repère suivantes :
A= (L A0) + A0et A0= L0(A − A0) où : (2.1) A= X Y Z A 0= X0 Y0 Z0 A0= X0 Y0 Z0 L= (L 0)T= ~x·~x0 ||~x||·||~x0|| ~x·~y0 ||~x||·||~y0|| ~x·~z0 ||~x||·||~z0|| ~y·~x0 ||~y||·||~x0|| ~y·~y0 ||~y||·||~y0|| ~y·~z0 ||~y||·||~z0|| ~z·~x0 ||~z||·||~x0|| ~z·~y0 ||~z||·||~y0|| ~z·~z0 ||~z||·||~z0|| Le premier changement de repère s’effectue entre RGPet RGM:
xGP yGP zGP xGM yGM zGM YM θ XM
FIGURE2.2 – Changement de repère entre le repère global patinoire (RGP) et le repère global machine (RGM).
Donc par les équations du cas général (2.1) et des données de la figure2.2on détermine pour notre premier changement de repère la relation suivante :
A0= XM YM 0 et L= − cos θ sin θ 0 − sin θ − cos θ 0 0 0 1 d’où : XGP YGP ZGP = − cos θ sin θ 0 − sin θ − cos θ 0 0 0 1 XGM YGM ZGM + XM YM 0 (2.2)
xGM zGM yGM xTM zTM yTM ZT α XT
FIGURE2.3 – Changement de repère entre le repère global machine (RGM) et le repère tilt machine (RT M).
De la même façon que pour le premier changement de repère et avec les données de la figure2.3on détermine pour le second changement de repère la relation suivante :
A0= XT 0 ZT et L= cos α 0 − sin α 0 1 0 sin α 0 cos α d’où : XGM YGM ZGM = cos α 0 − sin α 0 1 0 sin α 0 cos α XT M YT M ZT M + XT 0 ZT (2.3)
Le troisième changement de repère s’effectue entre RT M et RBM:
xTM yTM zTM xBM yBM zBM β xTM zTM yTM xBM zBM yBM XR ZR
FIGURE2.4 – Changement de repère entre le repère tilt machine (RT M) et le repère balayage machine (RBM).
De la même façon que pour les changements de repères précédents on détermine avec les notations de la figure2.4la relation suivante :
A0= XR 0 ZR et L= cos β − sin β 0 sin β cos β 0 0 0 1 d’où :
XT M YT M ZT M = cos β − sin β 0 sin β cos β 0 0 0 1 XBM YBM ZBM + XR 0 ZR (2.4)
Le quatrième changement de repère s’effectue entre RGMet RBL:
xGM yGM zGM xBL yBL zBL YL βL XL xGM zGM yGM xBL zBL yBL XL ZL
FIGURE2.5 – Changement de repère entre le repère global machine (RGM) et le repère balayage laser (RBL).
De la même façon que pour les changements de repères précédents on détermine avec les notations de la figure2.5la relation suivante :
A0= XL YL ZL et L= cos βL − sin βL 0 sin βL cos βL 0 0 0 1 d’où : XGM YGM ZGM = cos βL − sin βL 0 sin βL cos βL 0 0 0 1 XBL YBL ZBL + XL YL ZL (2.5)
Le cinquième et dernier changement de repère s’effectue entre RBLet RT L:
xBL zBL yBL xTL zTL yTL αL
FIGURE2.6 – Changement de repère entre le repère balayage laser (RBL) et le repère tilt laser (RT L). De la même façon que pour les changements de repères précédents on détermine avec les notations de la figure2.6la relation suivante :
A0= 0 0 0 et L= cos αL 0 − sin αL 0 1 0 sin αL 0 cos αL d’où :
XBL YBL ZBL = cos αL 0 − sin αL 0 1 0 sin αL 0 cos αL XT L YT L ZT L (2.6)
Pour faciliter les différentes manipulations entre les coordonnées issues des mesures laser, celles issues du positionnement des cibles par l’utilisateur ou celles nécessaires pour ajuster le tir, nous allons travailler et transposer toutes les coordonnées dans le repère global machine RGM.
On peut donc écrire à l’aide des équations (2.3) et (2.4) un premier jeu de relations :
XGM = (XBMcos β −YBMsin β + XR) cos α − (ZBM+ ZR) sin α + XT YGM = XBMsin β +YBMcos β
ZGM = (XBMcos β −YBMsin β + XR) sin α + (ZBM+ ZR) cos α + ZT
(2.7)
De même avec les équations (2.5) et (2.6) et l’équation (2.2) on détermine les deux ensembles de relations suivantes :
XGM = (XT Lcos αL− ZT Lsin αL) cos βL−YT Lsin βL+ XL YGM = (XT Lcos αL− ZT Lsin αL) sin βL+YT Lcos βL+YL ZGM = XT Lsin αL+ ZT Lcos αL+ ZL (2.8)
XGM = −(XGP− XM) cos θ − (YGP−YM) sin θ YGM = (XGP− XM) sin θ − (YGP−YM) cos θ ZGM = ZGP
(2.9)
De plus on obtient trivialement les relations des coordonnées de RGMdans les autres repères :
XBM = YGMsin β + ((XGM− XT) cos α + (ZGM− ZT) sin α − XR) cos β YBM = YGMcos β − ((XGM− XT) cos α + (ZGM− ZT) sin α − XR) sin β ZBM = (ZGM− ZT) cos α − (XGM− XT) sin α − ZR (2.10)
XT L = ((YGM−YL) sin βL+ (XGM− XL) cos βL) cos αL+ (ZGM− ZL) sin αL YT L = (YGM−YL) cos βL− (XGM− XL) sin βL
ZT L = −((YGM−YL) sin βL+ (XGM− XL) cos βL) sin αL+ (ZGM− ZL) cos αL
(2.11) XGP = −XGMcos θ +YGMsin θ + XM YGP = −XGMsin θ −YGMcos θ +YM ZGP = ZGM
Chapitre 3
Positionnement du lance rondelle sur la
patinoire
Ce chapitre est consacré au positionnement du lance rondelle dans l’espace. Dans un premier temps le développement du raisonnement mathématique permettant de calculer la position en fonction des angles mesurés par le laser sur les réflecteurs est introduit, puis les informations sur les emplacements des réflecteurs couplées aux angles mesurés permettent d’appliquer une minimisation qui corrige la position calculée du lance rondelle. Dans un second temps une présentation du processus de recherche des réflecteurs permet de déduire les relations mathématiques utilisées pour calculer les paramètres de balayage. Finalement les paramètres utilisés pour la recherche des réflecteurs sont optimisés en utilisant l’approximation de la position de la machine fourni par l’utilisateur.
3.1
Mesure des coordonnées dans l’espace
Dans cette partie nous allons développer la méthode utilisée pour déterminer la position du lance rondelle sur la patinoire. La machine est équipée d’un pointeur/détecteur laser mobile sur 2 axes, lacet et assiette, lui permettant de balayer tout l’espace devant lui. De plus 2 réflecteurs sont positionnés dans les angles supérieurs du but. La démarche est donc la suivante :
Le balayage débute arbitrairement de la gauche vers la droite jusqu’à recevoir le signal du premier réflecteur A. On enregistre alors les valeurs des angles αLA et βLA puis on poursuit le balayage jusqu’à
recevoir le signal du réflecteur B et enregistrer les angles αLB et βLB. À la suite de ce balayage, les 4
angles relevés permettent de déterminer la position des réflecteurs A et B par rapport à la machine et donc la position du lance rondelle sur la patinoire. Détaillons le calcul pour déterminer la position du réflecteur A dans RGM.
On reçoit le signal du réflecteur A lorsque l’axe XT Ldu repère RT Lcoupe A, donc dans le repère RT L le réflecteur a pour coordonnées (XA, 0, 0)RT L (figure3.1). En utilisant la relation (2.8) dans laquelle
on utilise XT L= XAT L, YT L= 0 et ZT L= 0, on obtient : XAGM = XAT Lcos αLAcos βLA+ XL YAGM = XAT Lcos αLAsin βLA+YL ZAGM = XAT Lsin αLA+ ZL (3.1) xGP yGP zGP But A B XA xTL yTL zTL βLA
FIGURE3.1 – Le signal laser coupe le réflecteur A ce qui, dans le repère RT L, réduit la position de ce point à une unique composante selon l’axe xTL(XA, 0, 0)RT L.
Les réflecteurs étant positionnés dans les coins supérieurs du but on connaît leur hauteur Zre f l dans RGP et comme ZGP= ZGM on a donc Zre f lGM = HC(hauteur des réflecteurs). Connaissant les valeurs
de XL, YLet ZLle système (3.1) devient composé de 3 équations à 3 inconnues, d’où la solution : XAGM = HC−ZL tan αLA cos βLA+ XL YAGM = HC−ZL tan αLA sin βLA+YL (3.2) On peut écrire la même relation avec le réflecteur B :
XBGM = HC−ZL tan αLB cos βLB+ XL YBGM = HC−ZL tan αLB sin βLB+YL (3.3)
On connait donc à présent les coordonnées des deux réflecteurs dans le repère RGM, on va donc pouvoir déterminer par la relation (2.12) la position du lance rondelle dans le repère RGP. Donc en faisant le changement du repère RGMau repère RGPpour les points A et B on obtient :
XAGP = −XAGMcos θ +YAGMsin θ + XM = 0
YAGP = −XAGMsin θ −YAGMcos θ +YM = −YBGP
XBGP = −XBGMcos θ +YBGMsin θ + XM = 0
YBGP = −XBGMsin θ −YBGMcos θ +YM = −YAGP
(3.4)
On a un système de 4 équations à 3 inconnues, on va donc pouvoir déterminer les expressions de θ , XM,YMen résolvant le système, soit :
(XAGM− XBGM) cos θ = (YAGM−YBGM) sin θ (3.6) tan θ = XYAGM−XBGM AGM−YBGM (3.7) YAGP+YBGP = −(XAGM+ XBGM) sin θ − (YAGM+YBGM) cos θ + 2YM (3.8) 2YM = (XAGM+ XBGM) sin θ + (YAGM+YBGM) cos θ (3.9) Donc : θ = arctan X AGM−XBGM YAGM−YBGM XM = −XAGMcos θ +YAGMsin θ YM = 12((XAGM+ XBGM) sin θ + (YAGM+YBGM) cos θ ) (3.10)
Le lance rondelle est donc aux cordonnées (XM,YM, 0)RGP. On en déduit trivialement la distance DM
entre la machine et l’origine du repère RGP: DM =
p
XM2+YM2 (3.11)
3.2
Affinage de la position dans l’espace par minimisation de l’erreur
sur l’écart des réflecteurs
Les 4 valeurs d’angles (αLA, αLB, βLA, βLB) obtenues par balayage laser sont, comme toutes mesures,
entachées d’incertitudes. À la suite de plusieurs essais effectués à différentes distances, on détermine que les incertitudes sur les mesures des angles issus du balayage sont de ±0.1°. On met alors en œuvre une méthode visant à minimiser l’effet de ces incertitudes sur le positionnement du lance rondelle. On peut calculer avec ces angles la position des réflecteurs A et B dans le repère RGMet donc l’écart entre les deux réflecteurs LM (équation3.12). Or étant donné qu’ils sont positionnés dans les coins supérieurs du but, cette distance est connue et correspond à LC (distance entre les réflecteurs). On définit donc l’erreur δ comme étant la différence entre la distance réelle LCet la distance mesurée LM (équation3.13). LM= q (XBGM− XAGM) 2 + (YBGM−YAGM) 2 (3.12) δ = (LC− LM) (3.13)
Soit Q le carré de l’erreur δ , on obtient un indicateur sur la précision de position détectée des réflec-teurs dans l’espace par le balayage du laser. En appliquant un algorithme de minimisation sur Q avec les angles (αLA, αLB, βLA, βLB) comme variables, on augmente la précision sur la position mesurée des
réflecteurs A et B et donc sur la position calculée du lance rondelle dans RGP.
Q= (LC− LM)2 (3.14)
La fonction optimize.minimize intégrée dans la bibliothèque python Scipy nous permet d’effectuer la minimisation de Q avec comme paramètres les angles (αLA, αLB, βLA, βLB) et ainsi obtenir une
d’angles supérieures aux incertitudes des mesures, on limite dans la fonction de minimisation les corrections des angles (αLA, αLB, βLA, βLB) à ±0.1°.
3.3
Recherche des réflecteurs
Tel qu’introduit au début de ce chapitre, le processus de recherche des réflecteurs consiste à balayer tout l’espace devant le lance rondelle. Pour ce faire on impose un mouvement alternatif sur l’axe d’assiette d’amplitude angulaire ∆αLcentré sur αLmed et une rotation constante sur l’axe de lacet de
vitesse Ωlacet. Il en résulte un balayage de forme triangulaire de moyenne noté Moy, d’amplitude noté Amp et de période T (figure 3.2). On cherche donc à déterminer des relations liant les paramètres (∆αL, αLmed, Ωlacet) et (Moy, Amp, T ).
LASER Moy
Amp T
FIGURE3.2 – Processus de balayage pour la recherche des réflecteurs installés sur le but. L’amplitude est déterminée de sorte à détecter les réflecteurs quelle que soit la position de la machine sur la glace. Soit L1 la position la plus proche possible du pointeur/détecteur laser par rapport à un réflecteur, L2 sa position la plus éloignée possible et Hr la longueur du réflecteur. En notant αLmin
et αLmax respectivement l’angle le plus faible et l’angle le plus important pour détecter les réflecteurs
on peut déterminer l’amplitude angulaire ∆αL ainsi que l’angle médian αLmed pour le mouvement
alternatif sur l’axe d’assiette (figure3.3).
• • laser L1 laser L2 Hr A× xGP ORGP • zGP αLmin αLmax
FIGURE3.3 – Schéma illustrant l’amplitude de balayage selon la distance entre le pointeur/détecteur
αLmax= Arctan ZAGP+ 1 2Hr − ZL1GP p XL1GP2+Y L1GP2 ! (3.15) αLmin = Arctan ZAGP− 1 2Hr − ZL2GP p XL2GP2+YL2GP2 ! (3.16) D’où : ∆αL= αLmax− αLmin (3.17) αLmed = αLmin+ 1 2∆αL (3.18)
Il s’agit maintenant de déterminer la vitesse Ωlacet. Pour s’assurer de détecter les réflecteurs, on impose la condition suivante : le rayon laser doit au minimum croiser deux fois la surface du réflecteur. Soit Lr la largeur des réflecteurs, le théorème d’Al-Kashi (loi des cosinus) nous permet de déterminer l’ouverture angulaire noté ∆βL(figure3.4et l’équation3.19) :
• laser (XLGP,YLGP) Lr A× yGP ORGP • xGP ∆βL a b
FIGURE 3.4 – Schéma de mise en équation de la période de balayage en fonction de la position
pointeur/détecteur laser. ∆βL= Arccos a2+ b2− Lr2 2ab (3.19) avec : a = q (XLGP− XAGP) 2+ Y LGP− YAGP− 1 2Lr 2 b = q (XLGP− XAGP) 2+ Y LGP− YAGP+ 1 2Lr 2 (3.20)
On détermine ainsi l’ouverture angulaire ∆βL du réflecteur depuis le pointeur laser. Cette ouverture angulaire nous permet de déterminer la vitesse Ωlacet, en effet il faut que l’angle parcouru par le laser pendant une période soit au maximum de ∆βL:
Ωlacet≤ ∆βL
Le temps T de la période est tributaire de la vitesse à laquelle le laser fait une amplitude ∆αL. Pour déterminer une loi nous permettant de calculer ce temps T en fonction de l’amplitude ∆αLon mesure expérimentalement le temps nécessaire pour réaliser 10 amplitudes (pour plus de précision) à des ∆αL fixes (tableau3.1).
TABLE3.1 – Temps nécessaire au système de balayage pour réaliser 10 amplitudes ∆αL.
∆αL(degrés) Temps (s) 17.58 3.81 15.82 3.59 14.06 3.41 12.30 3.16 10.55 2.96 8.79 2.67 7.03 2.42 5.27 2.06 3.52 1.71 1.76 1.18
Afin d’obtenir une relation entre T et ∆αLon applique une régression des moindres carrés de la forme y= a0xa1 (figure5.7). y= 0.8948x0.5052 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 0 0.5 1 1.5 2 2.5 3 3.5 4 ∆αL(degrés) T emps 10 amplitudes (s)
FIGURE3.5 – Régression des moindres carrés utilisée pour déterminer une loi entre T et ∆αL. La relation issue de la régression des moindres carrés s’applique pour 10 amplitudes, en divisant par un facteur 10 on détermine la loi suivante : T = 0.08948∆αL0.5052. On peut maintenant déduire la vitesse Ωlacetmaximale admissible pour détecter les réflecteurs :
Ωlacet≤
∆βL 0.08948∆αL0.5052
3.4
Optimisation de la recherche des réflecteurs
On a vu dans la section précédente les calculs pour déterminer les valeurs ∆αL, αLmed et Ωlacetafin de
détecter les réflecteurs quelle que soit la position de la machine sur la patinoire. Étant donné que les valeurs utilisées pour le balayage sont déterminées pour tous les cas de figure il en résulte forcément un temps de détection important, il est de l’ordre d’une dizaine de minutes ce qui est n’est pas acceptable. On cherche donc à réduire ce temps de détection en ajoutant une information sur la position présumée de la machine sur la patinoire. On demande à l’utilisateur d’indiquer approximativement la position de la machine sur la glace et de cette information on calcule, en ajoutant une incertitude de ±ξ mètres, les nouvelles valeurs de ∆αL, αLmed et Ωlacet.
Soit (XLapp,YLapp, ZL)RGP la position du pointeur/détecteur laser dans RGPissue de la position du lance
rondelle donnée par l’utilisateur. On calcule avec l’incertitude de ±ξ mètres les valeurs de ∆αL et αLmed. Étant donné que l’on ne se place plus dans le pire des cas il faut faire le calcul pour les réflecteurs
A et B et prendre les valeurs les plus restrictives :
αLAmax= Arctan ZAGP+ 1 2Hr − ZL q
(XLapp− ξ − XAGP)2+ (YLapp− ξ −YAGP)2
(3.23) αLAmin= Arctan ZAGP− 1 2Hr − ZL q
(XLapp+ ξ − XAGP)2+ (YLapp+ ξ −YAGP)2
(3.24) αLBmax= Arctan ZBGP+ 1 2Hr − ZL q
(XLapp− ξ − XBGP)2+ (YLapp− ξ −YBGP)2
(3.25) αLBmin= Arctan ZBGP− 1 2Hr − ZL q (XLapp+ ξ − XBGP) 2+ (Y Lapp+ ξ −YBGP) 2 (3.26)
αLmax= Max(αLAmax, αLBmax) et αLmin = Min(αLAmin, αLBmin) (3.27)
Pour le calcul de l’ouverture angulaire ∆βLon calcule sa valeur pour les 4 positions XLapp± ξ , YLapp± ξ
et ce par rapport aux 2 réflecteurs A et B. On obtient ainsi un couple de 8 valeurs :
∆βL(+ξ ,+ξ )A, ∆βL(−ξ ,+ξ )A, ∆βL(−ξ ,−ξ )A, ∆βL(+ξ ,−ξ )A, ∆βL(+ξ ,+ξ )B, ∆βL(−ξ ,+ξ )B, ∆βL(−ξ ,−ξ )B, ∆βL(+ξ ,−ξ )B De ces 8 valeurs on prend la plus restrictive soit :
∆βL= Min
∆βL(±ξ ,±ξ )A,B
(3.28) On détermine alors un nouveau couple de valeurs ∆αL, αLmed et Ωlacet permettant un balayage des
réflecteur plus efficace :
∆αL= αLmax− αLmin (3.29) αLmed = αLmin+ 1 2∆αL (3.30) Ωlacet≤ ∆βL 0.08948∆αL0.5052 (3.31)
Pour finir on peut encore réduire le temps de détection en prenant en compte l’orientation du lance rondelle. En effet si l’utilisateur pointe la machine vers le but on connait approximativement l’orienta-tion du repère RGMpar rapport au repère RGPce qui permet de commencer le balayage des réflecteurs à partir d’un angle βLinit évitant ainsi la perte de temps sur le balayage de l’angle 0 à βLinit (figure3.6).
À la suite d’essais une valeur de βLinit = 60° permet de réduire le temps de balayage sans pour autant
risquer de rater le premier réflecteur à cause de l’incertitude sur l’orientation de l’utilisateur.
xGP yGP × A × B xGM yGM Laser (XL,YL)RGM βLinit xBL yLB
FIGURE3.6 – Optimisation de la recherche des réflecteurs en ignorant une zone de balayage suite à l’orientation approximative du repère RGMpar l’utilisateur.
Toutes ces optimisations nous permettent de réduire le temps de détection d’un facteur 10, passant d’une dizaine de minutes à environ 1 minute 30 secondes.
Chapitre 4
Tir balistique des rondelles
Ce chapitre traite du cheminement effectué dans le but de déterminer les paramètres nécessaires au lance rondelle pour effectuer un tir sur la cible imposée par l’utilisateur. Étant donné que la rondelle suit une trajectoire balistique, l’enjeu réside dans la détermination du point de visée du canon connais-sant la vitesse de tir de la rondelle. Un premier modèle balistique est développé suite à d’importantes hypothèses simplificatrices et fournit comme paramètres de tirs une vitesse et une hauteur de visée. Par la suite les équations de passage entre les paramètres de tirs et les angles de visée prenant en comptes les limitations physiques du lance rondelle sont introduites. Pour finir, à la suite des résultats issus des premiers essais, le modèle balistique est complété par de nouvelles hypothèses reflétant mieux la réalité.
4.1
Tir balistique uniquement soumis à l’attraction gravitationnelle
Soit (X0,Y0, Z0)RGMet (Xc,Yc, Zc)RGMrespectivement la position de la rondelle et la position de la cible
dans RGM. En appliquant le Principe Fondamental de la Dynamique selon les 3 axes et par intégrations successives, on développe les équations pour un tir balistique dont les frottements dus à l’air ont été négligés. ax(t) = 0 ay(t) = 0 az(t) = −g (4.1) Vx(t) = R axdt = Vx0 Vy(t) = R aydt = Vy0 Vz(t) = R azdt = −gt +Vz0 (4.2) X(t) = R Vx(t)dt = Vx0t+ X0 Y(t) = R Vy(t)dt = Vy0t+Y0 Z(t) = R Vz(t)dt = −12gt2+Vz0t+ Z0 (4.3)
Le tir de la rondelle suit une trajectoire parabolique, il est donc nécessaire de viser au-dessus de la cible pour l’atteindre (figure4.1). On introduit ZLIN, la hauteur de la rondelle si elle n’était pas soumise à la gravité (sa trajectoire serait donc rectiligne). Cette hauteur ZLIN nous permet de déterminer la position à viser avec le canon pour que la rondelle atteigne la cible.
ZLIN(t) = Vz0t+ Z0 ZLIN(t) = Z(t) +12gt2 (4.4) (X0,Y0, Z0) (XC,YC, ZC) (XC,YC, ZcLIN) ∆z =gt 2 2 V0
FIGURE 4.1 – Illustration de la trajectoire parabolique de la rondelle impliquant la visée du point (XC,YC, ZcLIN) pour atteindre la cible (XC,YC, ZC).
La rondelle atteint la cible à partir d’un temps tf, or puisque v =dt on peut écrire : tf = L V0 où L= q (Xc− X0)2+ (Yc−Y0)2+ (ZcLIN− Z0) 2 (4.5)
On peut donc réécrire et développer l’expression (4.4) de ZLIN au point C : ZcLIN = Zc+ g 2V02((Xc− X0) 2+ (Y c−Y0)2+ (ZcLIN− Z0) 2) (4.6) Zc2 LIN− 2 V2 0 g + Z0 ZcLIN+ 2V02 g Zc+ (Xc− X0) 2+ (Y c−Y0)2+ Z02= 0 (4.7) On pose b0=V 2 0 g + Z0 et c 0=2V02 g Zc+ (Xc− X0) 2+ (Y c−Y0)2+ Z02 d’où : Zc2 LIN− 2b 0 ZcLIN+ c 0 = 0 (4.8)
Pour obtenir une solution réelle il faut que le déterminant de l’équation (4.8) soit positif ou nul (∆ZcLIN ≥ 0). Cette condition nous permet de déterminer la valeur de vitesse V0 minimale pour at-teindre la cible. Lorsque le déterminant est strictement positif on est dans le cas où deux angles de tir et donc deux trajectoires atteignent la cible pour une même valeur de V0(figure4.2).
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 1 2 3 4 5 6 7 Distance (m) Hauteur (m) Angle de tir = 30° Angle de tir = 60°
FIGURE4.2 – Exemple de deux tirs de rondelles à une vitesse identique V0= 13.46 m/s atteignant la même cible, le premier avec un angle de tir de 30° et un second avec un angle de tir de 60°.
La condition à respecter est à minima le déterminant qui est nul donc ∆ZcLIN = 0, soit :
∆ZcLIN = 4(b02− c0) = 0 donc b02 = c0 (4.9) V2 0 g + Z0 2 = 2V 2 0 g Zc+ (Xc− X0) 2+ (Y c−Y0)2+ Z02 (4.10) On pose χ = V02 d’où χ 2 g2 − 2 g(Zc− Z0)χ − (Xc− X0) 2− (Y c−Y0)2 = 0 (4.11) Cette nouvelle équation du second degrés a une solution réelle car au vu des termes du déterminant ∆χ, il est forcément positif ou nul.
∆χ= 2 g(Zc− Z0) 2 + 4 g2(Xc− X0) 2+ (Y c−Y0)2 (4.12)
La solution s’écrit donc :
χ1,2= (Zc− Z0)g ± g2
2 p
∆χ (4.13)
Comme χ = V02il faut forcément que χ > 0 or g22p
∆χ≥ (Zc− Z0)g donc : χ = (Zc− Z0)g + g2 2 p ∆χ (4.14) V0= r (Zc− Z0)g + g2 2 p ∆χ (4.15)
On obtient alors notre condition sur V0pour atteindre la cible. Lorsque la condition sur V0est respectée il y a jusqu’à deux solutions réelles de l’équation (4.8) :
ZcLIN = b
0±p
Considérant les limitations physiques de la machine, la solution minimisant l’angle de tir est privilé-giée ce qui résulte en :
ZcLIN = b 0−p b02− c0 (4.17) ZcLIN = V02 g + Z0− s V2 0 g + Z0 2 − 2V 2 0 g Zc+ (Xc− X0) 2+ (Y c−Y0)2+ Z02 (4.18) ZcLIN = V02 g + Z0− s V2 0 g 2 −2V 2 0 g (Zc− Z0) − (Xc− X0) 2− (Y c−Y0)2 (4.19) Ceci clos donc le développement mathématique permettant de calculer le point de visée et la vitesse minimale de la rondelle pour atteindre la cible dans le cadre des hypothèses initiales (on ne prend en compte que la gravité en négligeant les effets aérodynamiques).
4.2
La visée
On a donc établi dans la section précédente une relation permettant de calculer le point de visée du canon (Xc,Yc, ZcLIN)RGM pour atteindre la cible imposé par l’utilisateur (Xc,Yc, Zc)RGM en fonction de
la vitesse de tir V0 (équation4.19). Toutes les coordonnées dans ces équations sont exprimées dans le repère RGM, on utilisera donc ce repère, pour des raisons de simplicité, tout au long du calcul des paramètres de tir. Néanmoins, lorsque l’utilisateur impose une cible dans le but, celle-ci est exprimée dans le plan (x, z) du repère RGP : (Xc, 0, Zc)RGP. La combinaison des équations (2.9) et (3.10), avec
les coordonnées (XA,YA)RGM et (XB,YB)RGM issues du balayage laser des deux réflecteurs, nous permet
de calculer la position de la cible (Xc,Yc, Zc)RGM dans le repère RGM.
Il s’agit à présent de déterminer la valeur des angles α et β du canon à partir du point de visée (Xc,Yc, ZcLIN)RGM. Lorsque l’on vise un point avec le canon, l’axe x du repère RBM passe par ce point,
ce qui réduit ses coordonnées à une unique composante selon cet axe : (XBM, 0, 0)RBM. En utilisant les
équations de changement de repères (2.7) on peut développer :
Xc = (XBMcos β + XR) cos α − ZRsin α + XT Yc = XBMsin β
ZcLIN = (XBMcos β + XR) sin α + ZRcos α + ZT
(4.20)
On en détermine un système de deux équations à deux inconnues :
(
Yc = cos αXc + ZRtan α −cos αXT − XR tan β
ZcLIN = Xctan α + ZRtan α sin α − XTtan α + ZRcos α + ZT
En résolvant ce système d’équations à l’aide d’un logiciel de calcul formel tel que Maple on détermine les expressions des fonctions α = f (Xc,Yc, ZcLIN) et β = f (Xc,Yc, ZcLIN) qui seront utilisées dans le
calcul des angles d’orientation du canon.
4.3
Spécificité du lance rondelle
Les équations des sections précédentes ne prennent pas en compte les spécificités de la machine et de sa conception. En effet, on détermine la vitesse V0ainsi que les angles de tir α et β à partir de la cible visée (Xc,Yc, Zc)RGM et de la position de la rondelle (X0,Y0, Z0)RGM. Or dans la conception du lance
rondelle, la position de la rondelle dépend de l’angle α. Le calcul final de la vitesse V0et des angles α et β est donc réalisé par itérations.
La position initiale de la rondelle est calculée pour α correspondant à la visée de la cible, ZcLIN est
forcément supérieur ou égal à Zcdonc en en calculant la position initiale de la rondelle pour α corres-pondant à la visée de Zc, on s’approche de la solution finale. On calcule donc la position de la rondelle avec l’équation (2.7) de changement de repère (RGM-RBM) :
X0 = XRcos α − ZRsin α + XT Y0 = 0 Z0 = XRsin α + ZRcos α + ZT (4.22)
Cette valeur initiale de la position de la rondelle nous permet de déterminer les valeurs de V0, α et β connaissant la cible imposée. De cette nouvelle valeur de α on calcule la nouvelle position de la rondelle et on réitère le processus nous donnant de nouvelles valeurs de V0, α et β . L’itération est arrêtée lorsque ∆α et ∆β (écarts d’angles entre deux calculs) sont inférieurs à la résolution angulaire du canon (∆r).
De plus, le lance rondelle est limité, de par sa conception, sur les amplitudes angulaires des axes d’assiette et de lacet, on ne peut donc pas viser tous les points dans l’espace. Soit ZcMAX la hauteur
maximale que le lance rondelle peut viser pour une cible aux coordonnées (Xc,Yc, Zc)RGM. La valeur de
ZcMAX correspond à la valeur de ZcLIN pour des angles de visée maximums, donc en utilisant l’équation
(4.21) on déduit :
ZcMAX = Xctan αmax+ ZRtan αmaxsin αmax− XTtan αmax+ ZRcos αmax+ ZT (4.23)
En prenant en compte ces spécificités on peut résumer la procédure complète que le lance rondelle réalise pour déterminer les paramètres de tir :
Étape 1 : L’utilisateur indique la position de la cible (0,Yc, Zc)RGP ainsi qu’une vitesse initiale de
projectile s’il le souhaite (par défaut 25 m/s). Avec les positions des réflecteurs issues du balayage laser on transpose les coordonnées de la cible dans le repère RGM.