Aller au contenu

Projets / TIPE

TIPE · Classes préparatoires · Janvier 2023 — Avril 2025

Lanceur de volant de badminton automatisé

Modélisation d'une assistance mécanique pour l'entraînement au badminton : détection du joueur par vision par ordinateur, localisation par stéréovision et pilotage d'un lanceur de volants motorisé.

PythonOpenCVStéréovisionArduino UNOServomoteursÉtude balistique
Interface logicielle OpenCV et terrain 2D

Interface logicielle · OpenCV + terrain 2D

Stéréovision et terrain virtuel 2D

Capture de l'interface logicielle : détection du joueur par OpenCV et affichage de sa position en temps réel sur un terrain 2D virtuel.

Dispositif expérimental en gymnase

Essais · Gymnase

Dispositif expérimental en gymnase

Photo du dispositif expérimental installé en gymnase : deux caméras sur support rigide et lanceur motorisé piloté par une carte Arduino UNO.

1. Le projet : localiser le joueur pour orienter le lanceur

L'objectif est de localiser un joueur en temps réel sur un demi-terrain afin d'orienter automatiquement un lanceur de volants selon différents modes d'entraînement : tir vers une position fixe ou tir aléatoire dans un rayon de difficulté autour du joueur.

2. Principe de fonctionnement

Quatre étapes s'enchaînent en temps réel, de la caméra jusqu'au servomoteur :

01 · DÉTECTIONVision par ordinateur• Filtrage colorimétrique HSV• Seuillage binaire• Contour principal du joueur02 · STÉRÉOVISIONTriangulation• 2 caméras, écartement fixe• Angles d'observation• Profondeur & azimut03 · ENTRAÎNEMENTLogique & terrain 2D• Terrain virtuel temps réel• Tir fixe ou aléatoire• Rayon de difficulté04 · COMMANDEArduino UNO• Liaison série USB• Servomoteurs d'orientation• Bouton de niveau & LEDs

3. Réalisation technique

  • Détection du joueur par filtrage HSV

    Après un premier prototypage avec YOLO, la détection temps réel repose sur un filtrage colorimétrique dans l'espace HSV, un seuillage binaire et l'extraction du contour principal. Les seuils sont réglés avec un outil de calibration interactif.

  • Localisation par stéréovision

    Deux caméras séparées d'une distance fixe mesurent les angles d'observation du joueur ; sa profondeur et son azimut sont déduits par triangulation. Un utilitaire aide à l'alignement physique des caméras.

  • Logique d'entraînement et interface 2D

    Position du joueur affichée en temps réel sur un terrain virtuel, avec deux modes : tir vers une position fixe ou tir aléatoire dans un rayon de difficulté autour du joueur. Paramètres réglables en cours d'exécution depuis le terminal.

  • Commande matérielle Arduino UNO

    Les consignes sont envoyées par liaison série USB à un firmware Arduino qui pilote les servomoteurs d'orientation et gère le boîtier de contrôle (bouton de niveau et LEDs d'état).

  • Étude balistique

    Modélisation de la trajectoire du volant avec prise en compte des frottements aérodynamiques (Cx·S) pour relier la distance de tir aux paramètres de lancement.

4. Matériel et schémas

Deux caméras fixées sur un support rigide (orientations parallèles, écartement connu) et une carte Arduino UNO connectée en USB suffisent à faire fonctionner le système.

Schéma de câblage Arduino

Électronique · Arduino UNO

Câblage de la carte Arduino

Liaison série USB avec l'ordinateur, servomoteurs d'orientation et boîtier de contrôle avec bouton de niveau et LEDs d'état.

Dimensions réglementaires du terrain de badminton

Géométrie · Référentiel

Dimensions du terrain

Cotes réglementaires du terrain de badminton, utilisées pour la modélisation graphique 2D.

5. Résultats expérimentaux

Comparaison entre les positions réelles sur le terrain et les mesures issues de la triangulation, pour trois essais à des distances croissantes.

ParamètreEssai 1Essai 2Essai 3
Distance réelle (mm)273054487388
Distance mesurée (mm)269854677412
Azimut réel (°)-10,807,9824,20
Azimut mesuré (°)-10,177,6723,67
Écart de distance (mm)321924
Écart d'azimut (°)0,630,310,53

Sur ces trois essais, l'écart maximal est de 32 mm en distance (environ 1,2 % à 2,7 m) et de 0,63° en azimut.