Djinious
Robotique industrielleProduction et robotique

Manipulateur UR5 à 6 axes

Un bras UR5 spatial à 6 degrés de liberté modélisé comme un système multicorps unique — une cinématique inverse en forme close pilotant une trajectoire cartésienne de l’effecteur via une commande PD par articulation avec anticipation de gravité.

DjiniousLab
Le bras robotisé UR5 à 6 axes rendu en 3D dans une pose représentative à mi-portée, montrant les six articulations rotoïdes le long de la chaîne cinématique DH
articulations rotoïdes
6Rarticulations rotoïdes
espace de travail spatial
6 DDLespace de travail spatial
Aller-retour CI (rad)
~1e-16Aller-retour CI (rad)
Suivi cartésien (pic)
0,485 cmSuivi cartésien (pic)
Suivi cartésien (régime établi)
0,41 cmSuivi cartésien (régime établi)
erreur de suivi articulaire
< 0,0013 raderreur de suivi articulaire

Un bras robotisé. Un modèle. De l’espace articulaire à l’espace cartésien.

L’UR5 — un bras industriel à 6 articulations rotoïdes — modélisé de bout en bout comme une DAE multicorps. Une cinématique inverse en forme close alimente un régulateur PD par articulation avec anticipation de gravité qui maintient une trajectoire cartésienne de l’effecteur en simulation. Cinématique, inertie et commande, le tout sur une seule réplique numérique vivante.

Chaque sous-système, sur un seul canevas.

Rien n’est laissé de côté — la chaîne cinématique, l’inertie des liaisons et la commande portent chacune leur propre physique.

Six articulations rotoïdes

Les paramètres DH standard de l’UR5 enchaînent six articulations rotoïdes de la base au poignet. L’inertie du rotor (Jr) est disponible en paramètre optionnel mais maintenue à 0 pour la chaîne 6R — Jr > 0 déclenche une pathologie de réduction d’index MTK qui bloque les chaînes à N ≥ 5 articulations (ADR-0072).

Liaisons à inertie complète

Les masses des liaisons et les inerties principales diagonales proviennent de l’URDF UR5 publié. Les termes d’inertie hors diagonale sont négligés ; la DAE multicorps capture les forces inertielles dominantes sans couplage tensoriel complet.

CI en forme close

Un solveur analytique à poignet découplé referme la boucle de cinématique inverse en une seule branche. L’erreur d’aller-retour (CD ∘ CI) est d’environ 1e-16 rad — à la précision machine en virgule flottante.

Commande PD + anticipation de gravité

PD par articulation plus anticipation de gravité : in_tau → −q. La loi de commande de chaque articulation est indépendante, avec des gains ajustés à la fréquence propre du bras.

Observateur d’effecteur par CD

La cinématique directe propage les angles articulaires jusqu’à une position cartésienne de l’effecteur, comparée à la trajectoire de référence, ce qui fournit le signal d’erreur de suivi.

Composition DAE multicorps

Les primitives Revolute, FixedTranslation, FixedRotation et Link du kit multicorps pure-DJL composent la chaîne DH. Le moteur les abaisse vers une DAE symbolique.

Construit à partir de la chaîne DH, pas de matrices assemblées à la main.

Le modèle UR5 est assemblé à partir du même kit multicorps pure-DJL qui anime le quadricoptère Djinborn — des primitives Revolute, FixedTranslation, FixedRotation et Link câblées selon les paramètres DH standard. La cinématique et les forces inertielles émergent de la composition ; il n’y a ni jacobiennes ni matrices de masse codées à la main. La politique d’initialisation du moteur est réglée sur NoInit (ADR-0071) afin que la CI analytique puisse préconditionner les angles articulaires avant le démarrage de l’intégrateur DAE — une condition pour que le solveur analytique à poignet découplé fonctionne proprement dans la boucle.

Kit multicorps pure-DJL (Revolute/FixedTranslation/FixedRotation/Link) — sans modification de Rust ni de Julia. — ADR-0067

CI analytique à poignet découplé, une seule branche, poses non singulières. — ADR-0072

La politique moteur NoInit permet à la CI analytique de préconditionner l’état de la DAE. — ADR-0071

DjiniousLab
Le modèle système complet de l’UR5 ouvert comme graphe de nœuds dans le canevas DjiniousLab, montrant l’ensemble de la composition en boucle fermée câblée à partir des primitives du kit multicorps
La composition ur5_full_system ouverte comme canevas dans DjiniousLab — la boucle fermée entière comme un seul graphe élaboré : la trajectoire cartésienne alimente la cinématique inverse en forme close, à travers des filtres de référence par articulation vers une commande PD + anticipation de gravité, pilotant la centrale multicorps DH 6R, avec un observateur de cinématique directe captant l’extrémité. Un seul modèle que le worker résout de bout en bout.
DjiniousLab
Le bras UR5 à 6 axes dans une pose représentative, rendu depuis le visualiseur 3D DjiniousLab
L’UR5 dans une pose représentative à mi-portée — six articulations rotoïdes, masses de liaisons et inerties diagonales issues de l’URDF, CI en forme close dans la boucle, et commande PD par articulation avec anticipation de gravité, le tout simulé comme une seule composition.

Quatre jalons. Des chiffres réels.

Simulation vérifiée par rapport à quatre jalons sur la branche feat/multibody-ur5-arm. Périmètre : poses non singulières, une seule branche de CI. Aucun robot physique — ce sont des résultats de simulation en jumeau numérique.

Jalon

  • G-B1 : maintien de pose avec compensation de gravité : RÉUSSI
  • G-B2 : erreur de suivi articulaire : RÉUSSI
  • G-B3a : aller-retour CI (CD ∘ CI) : RÉUSSI
  • G-B3b : suivi cartésien (pic) : RÉUSSI
  • G-B3b : suivi cartésien (régime établi) : RÉUSSI

Résultat

  • G-B1 : maintien de pose avec compensation de gravité : angles articulaires stables, aucune dérive
  • G-B2 : erreur de suivi articulaire : < 0,0013 rad par articulation
  • G-B3a : aller-retour CI (CD ∘ CI) : ~1e-16 rad (précision machine)
  • G-B3b : suivi cartésien (pic) : 0,485 cm
  • G-B3b : suivi cartésien (régime établi) : 0,41 cm

Le bug qui ressemblait à une lacune physique.

Lorsque la chaîne 6R a tourné pour la première fois, la DAE semblait sous-déterminée — le solveur n’arrivait pas à converger. La première hypothèse était une inertie de rotor manquante (une correction facile : ajouter Jr par articulation). Le modèle tournait, mais le suivi restait médiocre. La cause réelle était un repère terminal en suspens : le connecteur Frame de sortie de la sixième articulation n’avait aucun corps en aval contre lequel réagir, si bien que les équations de contrainte étaient dégénérées. Identifier cela — et non l’inertie — comme cause racine exigeait de lire la structure du résidu plutôt que de deviner. La correction tenait en une ligne. Exposer honnêtement ce diagnostic erroné fait partie du dossier : la rigueur en ingénierie consiste à suivre le résidu, pas la première histoire plausible.