Algorithme anti-collision pont roulant et AGV DWA
Comparaison technique de trois algorithmes d'évitement de collision entre ponts roulants et AGV : DWA (200 ms/Jetson), VO (100 ms/PLC), APF (50 ms/STM32). Recommandation : algorithme hybride DWA + VO. Déployé sur un site automobile avec 6 ponts roulants + 12 AGV + 4 RGV, zéro incident, temps d'attente des tâches réduit de 25 s à 12 s.
Dans les scénarios où ponts roulants et AGV/RGV partagent une même ligne de production, l'algorithme d'évitement de collision détermine la sécurité et l'efficacité de la collaboration. Contrairement aux interverrouillages de sécurité à position fixe, les algorithmes d'évitement de collision calculent en temps réel les paramètres de mouvement optimaux de chaque équipement pour éviter activement les collisions. Cet article compare les trois algorithmes principaux — DWA, VO et APF — et propose une recommandation d'algorithme hybride.
Implémentation de l'algorithme DWA à fenêtre dynamique
Le principe fondamental du DWA (Dynamic Window Approach) consiste à échantillonner l'espace des vitesses (v,w) du pont roulant ou de l'AGV, à calculer une fonction d'évaluation pour chaque combinaison de vitesses échantillonnée, puis à sélectionner la combinaison (v,w) la mieux notée comme commande de mouvement pour le cycle suivant. L'espace des vitesses est défini par v∈[0,v_max] et w∈[-w_max,w_max]. La résolution d'échantillonnage typique est de 30 divisions pour la vitesse linéaire et 30 divisions pour la vitesse angulaire, soit 900 combinaisons (v,w) par cycle d'échantillonnage.
Fonction d'évaluation G(v,w)=a·heading(v,w)+b·dist(v,w)+c·vel(v,w). Le terme heading mesure l'écart angulaire entre la direction de déplacement et la direction cible (plus l'écart est faible, meilleur est le score). Le terme dist mesure la distance jusqu'à l'obstacle le plus proche le long de la trajectoire (plus la distance est grande, plus la sécurité est élevée). Le terme vel mesure la vitesse linéaire (une vitesse élevée améliore l'efficacité mais réduit la capacité d'évitement). Les trois termes sont normalisés sur l'intervalle [0,1] puis combinés par somme pondérée. Le temps d'exécution mesuré du DWA sur NVIDIA Jetson Orin NX est d'environ 120 à 180 ms (incluant la lecture des données, l'échantillonnage des vitesses, le calcul d'évaluation et la sortie des commandes), ce qui satisfait l'exigence de cycle de 200 ms. L'algorithme DWA déployé par Kelude sur Jetson est implémenté en C++ avec accélération CUDA pour le calcul parallèle de l'échantillonnage : l'évaluation parallèle de 90 combinaisons (v,w) ne prend que 8 ms.
Adaptation du DWA au contexte du pont roulant : le pont roulant ne possède qu'un degré de liberté de mouvement (le long de l'axe X du rail). L'espace des vitesses du DWA est donc simplifié en un échantillonnage unidimensionnel v_x∈[0,v_max] (la vitesse angulaire w est constamment nulle), réduisant le nombre de combinaisons de 900 à 30 et permettant de raccourcir le cycle de calcul à 30–50 ms. Par ailleurs, la distance de freinage du pont roulant est plus longue que celle d'un AGV (environ 0,5 m à 1 m/s). Le poids du terme dist dans la fonction d'évaluation doit donc être augmenté à b=0,5 (contre b=0,3 pour les scénarios AGV), afin de garantir une distance de freinage de sécurité suffisante. Les paramètres standard de l'algorithme DWA de Kelude pour ponts roulants sont : a=0,3, b=0,5, c=0,2, validés sur 6 projets.
Comparaison des trois algorithmes d'évitement de collision
Les trois algorithmes présentent des différences significatives d'adaptabilité dans les scénarios de collaboration pont roulant-AGV. Le DWA offre les meilleures performances en environnement dynamique inconnu (fonction d'évaluation combinant cap, distance et vitesse). Le VO excelle en précision pour la coordination des vitesses entre multiples équipements (dérivation géométrique du cône de vitesse). L'APF présente le calcul le plus léger et le temps de réponse le plus rapide pour la planification de trajectoire statique connue. La comparaison systématique ci-dessous couvre cinq dimensions — fondement mathématique, cycle de calcul, exigences matérielles, adaptabilité dynamique et complexité d'implémentation — afin d'aider les ingénieurs à sélectionner l'algorithme optimal selon les conditions du site.
| Dimension | DWA | VO | APF |
|---|---|---|---|
| Base mathématique | vitesseÉchantillonnage spatial+Évaluation | Relatifvitesse Dérivation conique | Gradient de fonction de potentiel Descente |
| Cycle de calcul | 200ms | 100ms | 50ms |
| Matériel | Jetson/Superviseur | PLC S7-1500 | STM32/PLC |
| Obstacle dynamique | Excellent | Bon | Mauvais |
| Scénario typique | AGVÉvitement dynamique d | pont roulant-AGVCoopératif | AGVPlanification statique |
Implémentation de la méthode VO par zone d’obstacle de vitesse
Le principe fondamental de l’algorithme VO (Velocity Obstacle) consiste à délimiter, dans l’espace des vitesses, les zones qui mèneraient à une collision. Définition : la zone d’obstacle de vitesse de l’équipement A, notée VO(A,B), est l’ensemble des vitesses v_A telles que (p_B-p_A)/t appartient à D(p_B-p_A, r_A+r_B), où p_A et p_B désignent les vecteurs de position des deux équipements, r_A et r_B leurs rayons de cercle circonscrit, et t l’horizon de prédiction. En termes simples : si l’équipement A se déplace à la vitesse v_A et l’équipement B à la vitesse v_B, alors la vitesse relative de B vue depuis A, v_rel = v_A - v_B, se trouvant dans la zone VO, indique qu’une collision surviendra dans les t secondes à venir.
Implémentation du VO dans l’automate PLC : L’automate S7-1500 exécute l’algorithme VO en langage SCL, représentant environ 150 lignes de code. À chaque cycle de calcul (100 ms), les zones VO de toutes les paires d’équipements (soit N×(N-1)/2 paires) sont calculées, et la vitesse actuelle de chaque équipement est vérifiée pour déterminer si elle se situe dans l’une de ces zones. Si c’est le cas, une vitesse d’évitement est calculée (la vitesse sûre la plus proche de la limite de la zone VO), puis transmise sous forme de consigne de limitation de vitesse à l’équipement concerné. Pour 6 équipements, le calcul porte sur environ 15 paires × environ 50 instructions par paire = 750 instructions, avec un temps d’exécution d’environ 2 à 3 ms sur le S7-1500. En cas d’exécution conjointe de DWA et VO, le PLC gère la partie VO (2 à 3 ms) tandis que le module Jetson traite la partie DWA (120 à 180 ms), les deux systèmes échangeant des données via Profinet.
Limites du VO et améliorations : Le VO suppose que l’équipement adverse se déplace en ligne droite à vitesse constante — cette prédiction devient caduque en cas d’accélération, de décélération ou de changement de direction soudain de l’autre équipement. Deux améliorations sont possibles : ① intégrer une contrainte d’accélération — en tenant compte de l’accélération maximale de l’équipement adverse lors du calcul VO, le cône de vitesse est étendu en cône d’accélération (Accelerated VO) ; ② réduire l’horizon de prédiction t — en le faisant passer de t = 5 secondes (scénario pont roulant) à t = 2 secondes, on échange la réactivité en temps réel contre la précision de prédiction. Avec t = 2 s, la précision de prédiction de collision du VO atteint environ 92 %, contre 78 % avec t = 5 s. Kelude recommande une valeur par défaut de t = 3 s, offrant une précision globale d’environ 88 %.
Cas pratique d’algorithme hybride en atelier
Un projet de coordination de dispatching dans l’atelier de montage final d’une usine automobile comprend 6 ponts roulants, 12 AGV et 4 RGV, couvrant l’ensemble de la manutention depuis la sortie des pièces embouties jusqu’à l’atelier de soudage. Configuration de la ligne : portée des ponts roulants de 28 à 31,5 m, largeur des voies de circulation AGV de 2,5 à 3 m, 6 postes de transfert pont-AGV et 4 points de jonction AGV-RGV. En heure de pointe, environ 280 opérations de manutention sont effectuées (soit une moyenne de 12,8 s par opération). Les ponts roulants assurent le levage et le transfert entre travées, les AGV le transport au sol, et les RGV le transport longue distance sur rail. Les trajectoires des trois types d’équipements se croisent en 18 points, rendant la maîtrise des risques de collision particulièrement délicate.
Configuration algorithmique : Le module Jetson Orin NX (100 TOPS) exécute DWA (planification locale de trajectoire AGV / cycle de 200 ms), le PLC S7-1500 exécute VO (coordination de vitesse multi-équipements / cycle de 100 ms), et APF assure la guidage global de trajectoire (calcul unique à la soumission de la tâche / environ 10 ms). Synergie des trois algorithmes : APF génère la trajectoire globale → VO effectue la détection de collision et génère les contraintes de vitesse → DWA échantillonne dans ces contraintes et produit la commande optimale (v, ω). La communication entre le PLC de dispatching et le Jetson s’effectue via Profinet IRT (cycle de 2 ms), avec une latence mesurée d’environ 280 ms.
Résultats livrés : Zéro incident de collision sur 12 mois consécutifs après mise en service. Le temps d’attente moyen des tâches est passé de 25 s (dispatching manuel) à 12 s (réduction de 52 %), le taux d’inactivité des ponts roulants de 41 % à 23 %, celui des AGV de 38 % à 19 %, et l’efficacité de la circulation des matières en ligne a augmenté de 37 %. Kelude propose des services de développement d’algorithmes sur mesure, incluant l’étude de site, la simulation, la sélection d’algorithmes, le déploiement Jetson, le développement PLC et un processus de test et de réception en quatre phases.
Processus de simulation, test et validation des algorithmes
Avant toute mise en service, l’algorithme d’évitement de collision doit passer avec succès un processus de validation en quatre phases.
Phase 1 — Simulation logicielle pure (Gazebo + Rviz) : Dans l’environnement ROS 2, des modèles 3D des ponts roulants et des AGV sont construits, l’implantation de la ligne de production (coordonnées des rails, trajectoires, postes de jonction) est importée, puis 200 tâches de manutention aléatoires sont exécutées (dont 5 % de tâches urgentes et 3 % de scénarios de panne d’équipement), en comptabilisant les collisions et l’efficacité des trajectoires. Critère de réussite : zéro collision et une efficacité moyenne des trajectoires ≥ 85 % de celle du dispatching manuel.
Phase 2 — Simulation matérielle dans la boucle (HIL) : Le boîtier Jetson et le PLC, avec les algorithmes réellement déployés, sont connectés à l’environnement de simulation. Le Jetson reçoit les messages d’état des équipements simulés émis par le PLC (via Profinet), exécute les algorithmes DWA + VO, puis envoie les consignes de vitesse aux équipements virtuels. Points de contrôle : vérifier que la latence de communication Profinet respecte l’exigence de cycle de 100 ms et que le temps d’exécution des algorithmes sur le matériel réel ne dépasse pas le budget de cycle (DWA ≤ 200 ms, VO ≤ 100 ms).
Phase 3 — Essais à vide sur site : Sur la ligne de production réelle, les ponts roulants et les AGV fonctionnent à vide pendant 48 heures, sous surveillance permanente d’un agent de sécurité, en comptabilisant le taux de fausses alertes de l’algorithme et le nombre de comportements anormaux.
Phase 4 — Essais en charge : La vitesse est progressivement augmentée jusqu’à la valeur nominale, puis l’exploitation se poursuit pendant 168 heures (7 jours). Le système de dispatching intégré collecte les KPI : temps d’attente moyen des tâches, taux de conflits et taux de ponctualité, avec une analyse comparative sur une semaine avant et après la mise en service. Kelude propose un service complet de test en quatre phases, avec rapport de test remis à chaque étape.
Questions fréquentes sur les algorithmes d’évitement
Q : Le VO peut-il être implémenté directement dans un automate PLC ?
A : Oui. Le VO repose sur des opérations géométriques de cône de vitesse, environ 150 lignes en SCL, exécutées en 2 à 5 ms sur un S7-1500. Le DWA, qui nécessite des dizaines de milliers d’opérations en virgule flottante, doit quant à lui être exécuté sur un ordinateur hôte.
Q : Comment éviter les minima locaux de la méthode du champ de potentiel artificiel ?
A : Par la méthode de perturbation (ajout d’une direction aléatoire lorsque la force résultante est proche de zéro), par l’utilisation de fonctions de potentiel harmoniques, ou par une approche hybride APF + DWA. La solution hybride APF recommandée par Kelude a déjà fonctionné plus de 1 000 heures sans blocage.
Q : Quels tests sont nécessaires avant la mise en service d’un algorithme d’évitement de collision ?
A : Quatre étapes : simulation (plus de 100 scénarios sous Gazebo), simulation matérielle dans la boucle HIL (boîtier edge + PLC en boucle fermée), essais à vide sur site (3 à 5 jours), puis essais en charge (5 à 7 jours). Kelude fournit un rapport de test complet pour chaque étape.
Q : Comment régler les poids de la fonction d’évaluation du DWA ?
A : Les valeurs initiales recommandées sont a = 0,5, b = 0,3, c = 0,2 (pont roulant) ou a = 0,3, b = 0,4, c = 0,3 (AGV). Une recherche par grille sur l’intervalle [0,1 ; 0,8] permet de déterminer la combinaison optimale minimisant le temps d’exécution des tâches et le nombre de collisions pondérés.
Normes de référence recommandées