Simulateur interactifAvancé

Simulateur de bras : cinématique et planification ROS

Explorez les limites articulaires, cinématiques directe et inverse et planification de mouvements sûrs dans ce simulateur de bras robotique au navigateur.

Catégorie
ROS
Durée
3–6 heures
Plateforme
Navigateur · ROS 2
Schéma technique : Simulateur de bras : cinématique et planification ROSREACHABLE WORKSPACE

01 / Commencez ici

Introduction

Un bras robotique transforme les commandes articulaires en mouvements d'outil précis par la géométrie, la rétroaction et la planification. Ce simulateur présente cette chaîne sans en masquer les difficultés : repères de coordonnées, poses accessibles, limites articulaires et singularités, pour que les utilisateurs ROS et les étudiants en robotique comprennent pourquoi un mouvement demandé réussit ou échoue.

Live lab / Forward & inverse kinematics · pick-and-place

Robot arm simulator

Pose the joints, drag a target and watch inverse kinematics solve it live, or set a pick-and-place task and run it — with honest reach, singularity, and limit reporting on a full 360° workspace.

Browser native
A planar robot arm kinematics simulator. Use the controls below to move the joints, drag a target, or run a pick-and-place task, or read the full theory and algorithm after this lab.

The filled dot is the base at the centre; segments are links with round joints; the tool shows a small x/y frame. The shaded ring is the reachable workspace (between the two dashed circles). In inverse mode the cross-marker is the draggable target and the faint arm is the other elbow solution. In pick-and-place mode, drag the box (pick) and the dashed square (place), then press Run.

Run

Forward mode. Drag the joint sliders to pose the arm.

Joints
Geometry & target
Tool X
0 px
Tool Y
0 px
Tool angle
0°
Status
Reachable
Reach
0 / 240 px

Keyboard: focus the workspace, then use Space to run a pick-and-place, R to reset, B to switch elbow, and F for full screen.

Commandes

Le simulateur fournit des curseurs articulaires, une cible d’outil à tirer, des superpositions de repères et des réglages de dimensions des segments, avec la base centrée pour que tout l’espace de travail accessible à 360° soit visible. Le mode direct calcule la pose de l’outil à partir des angles articulaires que vous réglez. Le mode inverse suit une cible que vous tirez — en résolvant les angles articulaires en direct et en signalant les cibles inaccessibles ou ambiguës plutôt que de s’y accrocher silencieusement. Un troisième mode pick-and-place permet de placer un point de prise et une destination, puis fait exécuter au bras toute la tâche : il va à l’objet, le saisit, le transporte et le relâche dans la zone de dépôt — le travail canonique pour lequel tout manipulateur réel est construit.

Théorie

Chaque articulation apporte une transformation entre repères de coordonnées. Multiplier ces transformations de la base à l’outil donne la pose cinématique directe. La cinématique inverse travaille à rebours et peut n’avoir aucune solution, une solution, ou plusieurs solutions.

Espace de travail accessible d'un bras plan à deux segments. Un anneau ombré entre un cercle en pointillés intérieur et un cercle en pointillés extérieur montre chaque point que l'outil peut atteindre. Une seule cible dans l'anneau est atteinte par deux configurations de bras : une solution coude haut et une solution coude bas partant de la même base.
Une cible dans l'anneau accessible a généralement deux solutions — coude haut et coude bas — tandis que les points hors du rayon extérieur ou dans le rayon intérieur n'en ont aucune. Télécharger le SVG

Près d’une singularité, un petit mouvement d’outil peut exiger un très grand mouvement articulaire. Un planificateur doit aussi respecter les limites de position, vitesse, accélération, couple et collision. La seule portée géométrique ne rend pas une trajectoire sûre.

Algorithme

  1. Définissez les longueurs de segments, les axes articulaires, les transformations d’origine et les limites articulaires.
  2. Calculez la cinématique directe pour l’état articulaire actuel.
  3. Comparez la pose actuelle de l’outil à la cible demandée.
  4. Utilisez un solveur analytique ou numérique pour réduire l’erreur de pose dans les limites.
  5. Rejetez les candidats en collision ou singuliers et sélectionnez une solution continue.
  6. Paramétrez le chemin en temps et envoyez des consignes synchronisées aux contrôleurs articulaires.

Code source

Un bras plan à deux segments a un modèle direct compact :

from math import cos, sin

def forward_kinematics(theta_1, theta_2, link_1, link_2):
    elbow = (link_1 * cos(theta_1), link_1 * sin(theta_1))
    tool = (
        elbow[0] + link_2 * cos(theta_1 + theta_2),
        elbow[1] + link_2 * sin(theta_1 + theta_2),
    )
    return elbow, tool

Pour les bras physiques, validez chaque trajectoire planifiée dans un environnement borné et conscient des collisions avant d’alimenter les actionneurs.

Hypothèses et différences avec le matériel

Le bras est plan avec deux ou trois articulations rotoïdes, des segments parfaitement rigides, une réponse en vitesse instantanée et ni gravité, ni dynamique, ni collision — vous pouvez passer de coude haut à coude bas sans limite de couple. Les vrais servomoteurs ont des limites de position et de vitesse, du jeu de réducteur, un couple limité en courant et un affaissement dépendant de la charge, et un bras à 6 axes doit aussi gérer l’orientation, les singularités et le travail près des limites articulaires. Ce labo est l’endroit où vous apprenez pourquoi une cible dans l’anneau peut avoir deux solutions et pourquoi une cible sur son bord est singulière, avant d’ajouter la dynamique qui rend ces poses difficiles à tenir.

Schéma de câblage

Séparez l’alimentation des actionneurs à fort courant de l’alimentation de calcul tout en maintenant les signaux de référence et de sécurité exigés par le matériel choisi.

Schéma fonctionnel de l'architecture de commande du bras robotique. Un planificateur ou une pile ROS 2 envoie des cibles articulaires à un contrôleur, qui commande des servomoteurs intelligents via un bus. La rétroaction de position articulaire revient des servomoteurs au contrôleur, et un arrêt d'urgence coupe l'alimentation des servomoteurs indépendamment du chemin logiciel.
Le contrôleur boucle avec la rétroaction articulaire, tandis que l'arrêt d'urgence supprime la puissance des actionneurs sur son propre chemin — indépendamment du logiciel. Télécharger le SVG

Expériences guidées

Tirer une cible partout est le moyen le plus rapide de construire l’intuition de choses fastidieuses à prouver sur papier et coûteuses à découvrir sur le matériel.

1. Trouvez la forme de l’espace de travail

Tirez la cible lentement vers l’extérieur jusqu’à ce que le solveur signale inaccessible, puis suivez cette frontière tout autour. Tirez ensuite vers l’intérieur, vers la base.

Avec des longueurs de segments inégales, vous trouverez deux frontières : un cercle extérieur à L1 + L2 et un cercle intérieur à |L1 − L2|. L’espace de travail est un anneau, pas un disque, et il y a un trou au milieu que le bras ne peut physiquement pas atteindre.

Segments Portée extérieure Trou intérieur Forme
100 + 90 190 10 Anneau avec un petit trou
100 + 50 150 50 Anneau avec un grand trou
100 + 100 200 0 Un disque plein — des segments égaux peuvent se replier sur eux-mêmes

Cette dernière ligne est un fait de conception réellement utile : des longueurs de segments égales suppriment entièrement la zone morte. Si votre bras doit travailler près de sa propre base, c’est la raison de les choisir.

2. Regardez les deux solutions fusionner

Basculez entre les branches coude haut et coude bas sur une cible près du milieu de l’espace de travail : deux poses de bras clairement différentes atteignant le même point.

Tirez maintenant cette cible vers l’extérieur, vers la frontière. Les deux poses convergent, et à pleine extension elles deviennent la même pose. C’est une singularité, et c’est là que le bras perd la capacité de déplacer l’outil dans une direction quoi que fassent les articulations.

3. Sentez ce que coûte une singularité

Tirez la cible le long d’une droite qui passe près de la pleine extension, lentement et régulièrement. Regardez les angles articulaires plutôt que le bras.

L’outil se déplace à vitesse constante ; les articulations non. Près de la frontière, un petit mouvement d’outil exige un énorme mouvement articulaire, donc une trajectoire cartésienne lisse devient un mouvement articulaire violent. Sur le matériel, c’est un servo qui claque à sa limite.

Gardez les parcours planifiés dans environ 95 % de la portée maximale, et cela cesse d’être un problème.

4. Franchissez une frontière de branche et regardez le basculement

Réglez le solveur pour toujours choisir coude haut, puis tirez la cible dans une zone où cette branche heurte une limite articulaire et où le solveur bascule. Le bras pivote par un mouvement ample, rapide et complètement non planifié.

C’est pourquoi la bonne valeur par défaut est le mouvement minimal — choisir la branche la plus proche de la pose actuelle — plutôt qu’une branche fixe. Un basculement de branche silencieux en milieu de parcours sur du matériel réel est alarmant et peut être destructeur.

Ce que vous devriez observer

Action Résultat attendu Si vous observez autre chose
Cible au-delà de L1 + L2 Un « inaccessible » net Un NaN ou une pose accrochée signifie que le solveur teste la portée trop tard
Cible dans |L1 − L2| Aussi inaccessible Correct — c’est le trou, pas un bogue
Cible derrière la base Atteinte correctement Si elle se reflète, c’est atan au lieu de atan2
Bascule de branche de coude Même position d’outil, articulations différentes Les deux sont valides ; choisir est votre décision
Traction vers la frontière Les vitesses articulaires montent fortement C’est la singularité
Aller-retour via FK puis IK Les angles d’origine reviennent Un écart signifie une convention de signe ou d’écart incohérente

Transposition au matériel

La géométrie se transfère exactement. Rien d’autre, et l’écart est là où un premier montage de bras passe son temps :

Ce labo Un vrai bras à servomoteurs
Les articulations vont exactement où commandé Le zéro du servo est là où le palonnier a été monté ; certains tournent à l’envers
Pas de gravité L’épaule s’affaisse à l’extension — pire exactement là où la précision est pire
Pas de jeu Plusieurs degrés de jeu, facturés à chaque inversion
Mouvement instantané Un saut commandé part à pleine vitesse, avec une pointe de courant
Longueurs de segments parfaites Mesurez entre les axes articulaires, pas entre les bords des supports
Couple infini Un SG90 à 58 % du blocage ne tiendra pas la position précisément

Deux nombres font la démonstration. Quatre degrés de jeu à l’épaule sur une portée de 190 mm font plus de 13 mm à la pince — plus grand que toute erreur introduite par les maths. Et une longueur de segment mesurée 10 mm trop longue sur un segment de 95 mm est une erreur systématique de 10 % qu’aucun réglage ne supprimera.

La conséquence pratique est que la précision du matériel vient de l’étalonnage et d’un sens d’approche cohérent, pas d’une meilleure cinématique. Approchez toujours une cible depuis le même sens et le jeu devient un écart répétitif que vous pouvez soustraire. Le solveur complet, avec chaque cas d’échec traité, est dans cinématique inverse pour un bras à deux segments.

Liste de vérification du matériel

Composants

  • Bras robotique à trois axes ou plus
  • Contrôleur capable de mises à jour articulaires synchronisées
  • Rétroaction articulaire ou servomoteurs intelligents
  • Base rigide et point central d'outil défini
  • Arrêt d'urgence et alimentation limitée en courant

Explorer le graphe

Où ce simulateur est utilisé

Les projets, parcours d'apprentissage et tutoriels qui s'appuient sur ce labo.

Continuer la construction

Ressources à télécharger

Utilisez ces références sur la page pendant que vous avancez dans le projet. Les archives de projet téléchargeables ne seront ajoutées qu'une fois leur source et leur version publiées.

Questions courantes

Questions fréquentes

Quelle est la différence entre cinématique directe et cinématique inverse ?

La cinématique directe calcule la pose de l'outil à partir des valeurs articulaires connues. La cinématique inverse part d'une pose d'outil désirée et cherche une ou plusieurs configurations articulaires capables de la produire.

Pourquoi un bras à 2 segments a-t-il deux solutions (coude haut et coude bas) ?

Pour la plupart des cibles accessibles, le coude peut plier dans un sens ou l'autre tout en plaçant l'outil au même point, donnant une configuration coude haut et une configuration coude bas. Les deux solutions proviennent du plus-ou-moins dans l'angle en loi des cosinus pour la seconde articulation. Elles ne coïncident qu'à une singularité, où le bras est complètement tendu ou complètement replié.

Comment choisir entre coude haut et coude bas ?

Choisissez la configuration la plus sûre et la plus efficace pour la tâche : celle qui garde les articulations loin de leurs limites, minimise le mouvement depuis la pose actuelle, ou évite les obstacles. Ce simulateur permet de basculer entre les branches et montre la solution alternative en fantôme pour que le compromis soit visible.

Qu'est-ce qu'une singularité dans un bras robotique ?

Une singularité est une configuration où le bras perd la capacité de déplacer l'outil dans une direction — généralement quand il est complètement tendu ou complètement replié. Près d'une singularité, un petit mouvement d'outil peut exiger un très grand mouvement articulaire, donc les planificateurs ralentissent ou contournent ces poses. C'est aussi là que les solutions coude haut et coude bas fusionnent en une seule.

Quand la cinématique inverse n'a-t-elle aucune solution ?

Une cible plane à deux segments n'est accessible que dans l'anneau entre la portée la plus courte (la différence des longueurs de segments) et la portée la plus longue (leur somme). Un point hors de cet anneau ne peut être atteint à aucun angle articulaire. Une pose peut aussi être inaccessible parce qu'elle exige un angle articulaire interdit, une orientation que les articulations disponibles ne peuvent pas produire, ou entrerait en collision avec le bras lui-même.

Pourquoi utiliser la cinématique inverse analytique plutôt qu'un solveur numérique ?

Pour un bras plan à deux ou trois segments, la géométrie a une solution en forme fermée (analytique), donc vous pouvez calculer les angles articulaires exacts directement, de façon déterministe et rapide — idéal pour enseigner et tester. Les solveurs numériques sont nécessaires pour les bras redondants ou spatiaux où aucune forme fermée n'existe, mais ils itèrent, peuvent manquer des solutions, et sont plus difficiles à raisonner.

Pour aller plus loin

Références

Des sources faisant autorité pour aller plus loin que le modèle pédagogique, borné, de ce simulateur.