Tutoriel · Débutant · 18 min de lecture

Capteurs robotiques : ultrasons contre temps de vol

Comparez les capteurs de distance à ultrasons et à temps de vol pour un robot, puis montez, étalonez, filtrez et validez-les pour un évitement fiable.

Un capteur de distance donne au robot ce qu’un pare-chocs ne peut pas : du temps pour réagir avant le contact. Il ne remplace pas le pare-chocs — un contacteur attrape le pied de chaise noir, la vitre et l’obstacle à la mauvaise hauteur que tout capteur de distance manque. Deux choix courants à bas coût sont le sonar à ultrasons et le temps de vol (ToF) optique. Les deux rendent compte d’une distance, mais ils interagissent différemment avec les surfaces. Choisir sur la seule portée maximale annoncée produit un évitement d’obstacles fragile.

La bonne question est : quel capteur donne des mesures valides pour les cibles, l’éclairage, la géométrie, la fréquence de mise à jour et la distance d’arrêt de ce robot ?

Comprendre comment chaque capteur mesure

Un capteur à ultrasons émet une salve sonore au-dessus de l’audition humaine et mesure le temps d’écho. La distance vaut environ la moitié du temps d’aller-retour multipliée par la vitesse du son. La division par deux rend compte de l’aller vers la cible et du retour.

Un capteur optique à temps de vol émet de la lumière infrarouge modulée et estime la distance à partir du signal de retour. Des composants comme la famille VL53 intègrent la chronométrie et le traitement du signal et exposent généralement les résultats en I2C.

Leurs modes de panne diffèrent :

  • Le son peut repartir loin de cibles inclinées, molles, étroites ou absorbantes.
  • Plusieurs capteurs à ultrasons peuvent s’entendre entre eux sans un ordonnancement contrôlé des déclenchements.
  • Les capteurs optiques peuvent peiner sur cibles peu réfléchissantes, fort infrarouge ambiant, diaphonie du verre de protection, ou cibles hors champ de vision.
  • Aucun type ne sait seul si un résultat est fiable ; utilisez les données d’état et de qualité du signal quand elles existent.
Comparaison des empreintes de deux capteurs de distance. Le capteur du haut émet un large cône d'environ trente degrés, avec un petit obstacle rond dans le cône mais hors de l'axe marqué comme l'objet détecté au lieu du mur derrière. Le capteur du bas émet un faisceau étroit d'environ deux degrés et demi qui atteint le même mur en un petit point.
Les mêmes mots — « capteur de distance » — pour deux empreintes très différentes. Le cône signale l'objet le plus proche n'importe où dedans ; le point signale un point unique et manque le reste. Télécharger le SVG

Choisir d’après la scène et la boucle de commande

Les modules à ultrasons sont utiles quand le coût compte, que les cibles sont assez larges, et qu’un faisceau acoustique large est acceptable. Ils peuvent détecter des objets transparents qui défient certaines méthodes optiques. Leur faisceau peut aussi signaler un mur proche qui n’est pas droit devant le robot.

Les modules ToF sont compacts, avec une chronométrie réglable sur beaucoup d’appareils, et peuvent offrir une région d’intérêt étroite. Plusieurs capteurs I2C identiques peuvent exiger des broches d’arrêt ou une séquence d affectation d’adresse. Le plein soleil et les surfaces sombres doivent être testés sur la plateforme réelle.

Avant d’acheter du matériel, écrivez quatre exigences :

  1. Distances utile minimale et maximale.
  2. Période de mise à jour exigée.
  3. Plus petit obstacle à détecter.
  4. Pire cible et environnement : tissu noir, vitre, mur incliné, soleil, ou circulation transverse.

Comparez ensuite ces exigences à la fiche technique du fabricant, pas à un résumé de place de marché.

Monter pour la mesure voulue

Placez l’axe de mesure où le robot a besoin d’une information de dégagement, pas seulement où un support convient. Un capteur haut sur le châssis peut manquer les obstacles bas ; trop bas, il peut voir des réflexions au sol ou la visserie des roues. Gardez pare-chocs et châssis hors du champ de vision.

Pour un braquage réactif, des mesures avant-gauche, avant-centre et avant-droite sont plus informatives qu’un seul faisceau avant. Trois capteurs n’ont toutefois pas besoin de tirer ensemble. Ordonnancez les salves ultrasonores séparément et laissez assez de temps aux échos pour s’éteindre.

Un montage rigide compte. Les vibrations changent la direction de visée et les mouvements de câbles peuvent corrompre des connexions limites. Si un capteur optique se trouve derrière une vitre de protection, suivez la procédure d’étalonnage de diaphonie du fabricant pour cet empilement mécanique exact.

Étalonner le décalage et tester la répétabilité

Placez une grande cible plane perpendiculaire au capteur à plusieurs distances mesurées avec précision sur la plage de travail. Capturez au moins 50 lectures à chaque point. Enregistrez :

  • distance moyenne ou médiane annoncée ;
  • dispersion, comme minimum/maximum ou écart type ;
  • nombre d’états invalides ;
  • conditions ambiantes et matériau de cible.

Un écart presque constant est un décalage et peut être corrigé après en avoir compris la cause. Une erreur qui varie avec la distance exige un meilleur modèle ou une plage de confiance plus étroite. N’ajustez pas une courbe complexe sur un support lâche ou une mauvaise alimentation.

Pour un module ToF, exécutez l’étalonnage de décalage spécifié avant celui de diaphonie. Stockez les données d’étalonnage et chargez-les au démarrage si l’API de l’appareil l’exige. Réétalonnez après tout changement de vitre ou de géométrie de montage.

Filtrer les lectures invalides avant de lisser

Traitez un dépassement de délai, un code hors plage ou un état de basse qualité comme invalide — pas comme zéro centimètre. Zéro peut commander un arrêt d’urgence, donc transformer des erreurs de communication en zéro crée un comportement dangereux.

Une médiane des trois ou cinq derniers échantillons valides rejette les pics isolés sans les moyenner dans le signal de commande :

if (measurement.valid) {
  window.push(measurement.distanceMm);
  if (window.size() > 5) window.popOldest();
  filteredDistance = median(window);
}

Un filtre passe-bas donne un affichage plus lisse mais ajoute du retard. Le tutoriel de filtrage des capteurs explique ce compromis. Gardez la valeur brute et l’état de validité dans les journaux pour que le filtrage ne masque pas un capteur défaillant.

Transformer la distance en règle d’arrêt sûre

L’évitement d’obstacles doit tenir compte du mouvement. Un seuil utile inclut la distance de freinage, le retard de mesure, les retards de calcul et d’actionneur, et une marge :

stopThreshold = speed² / (2 × deceleration) + speed × delay + margin

Mesurez la décélération atteignable sur la surface réelle au lieu de la supposer — c’est la limite d’adhérence µg, pas ce que décident les moteurs, et le calcul détaillé est ici. À vitesse élevée, le terme de freinage croît avec le carré de la vitesse, donc un seuil fixe de 15 cm n’est pas également sûr à toutes les commandes.

Utilisez une hystérésis pour éviter le broutage : entrez à l’état arrêté sous un seuil et ne reprenez qu’au-dessus d’un seuil plus grand. Exigez un petit nombre de lectures valides cohérentes pour le braquage normal, tout en gardant une réponse volontairement prudente face à un obstacle proche crédible.

Valider les cibles difficiles

Construisez une matrice d’essais avec mur plat, mur incliné, poteau étroit, tissu sombre, panneau transparent et obstacle mobile. Testez près de la portée minimale, près du seuil d’arrêt visé, et près de la portée maximale d’exploitation. Répétez en éclairage intérieur et au soleil si le robot verra les deux.

Mesurez le taux de détection et la latence, pas seulement la distance moyenne. Un capteur précis 90 % du temps mais qui se fige périodiquement une demi-seconde peut être inacceptable pour un robot rapide.

Diagnostiquer les pannes courantes

  • Décalage stable partout : vérifiez le point de référence physique, puis appliquez l’étalonnage fabricant.
  • Lectures ultrasonores courtes aléatoires : cherchez diaphonie, bruit électrique, ou échos tardifs des structures proches.
  • Lectures ToF dégradées derrière une vitre : effectuez les étalonnages de décalage et de diaphonie pour ce matériau de protection.
  • Le robot oscille près d’un mur : ajoutez une hystérésis et réduisez le retard de filtrage avant de régler le braquage.
  • Il détecte les murs mais manque les pieds de chaise : la géométrie du faisceau et le montage ne couvrent pas la cible exigée.
  • Il s’arrête trop tard uniquement à haute vitesse : la logique de seuil ignore distance de freinage et latence.

Utilisez le simulateur d’évitement d’obstacles pour expérimenter portée, champ de vision, braquage et distance d’arrêt avant de transférer les seuils vers le matériel.

Explorer le graphe

Fait partie de ces réalisations

Les projets et parcours d'apprentissage qui incluent ce tutoriel.

Pour aller plus loin

Références