Jacobian
- Detto anche: Jacobian Matrix, Robot Jacobian, Manipulator Jacobian
- Categoria: Foundations & spatial maths › Kinematics
- Tag: mathematics, kinematics, control, velocity, singularity
Matrice che lega le velocità dei giunti alle velocità dell'end effector, fondamentale per il controllo dei bracci robotici.
Definizione
In robotica lo jacobiano è una matrice che descrive la relazione tra le velocità dei giunti e le velocità dell'end effector. È lo strumento matematico fondamentale che collega lo spazio dei giunti di un robot (gli angoli dei motori) al suo spazio operativo (posizione e orientamento della pinza nel mondo reale).
Per un braccio robotico con n giunti, lo jacobiano è una matrice 6 per n (6 righe per le 3 velocità lineari + 3 angolari dell'end effector). Moltiplicando lo jacobiano per il vettore delle velocità dei giunti si ottiene la velocità risultante dell'end effector:
v_end_effector = J q_dot**
Usi principali dello jacobiano: - Controllo di velocità: data una velocità desiderata dell'end effector, calcolare le velocità dei giunti necessarie usando lo jacobiano inverso. - Mappatura delle forze: la trasposta dello jacobiano riporta le forze all'end effector a coppie ai giunti, consentendo il controllo della forza sulla punta dell'utensile. - Rilevamento delle singolarità: quando lo jacobiano perde rango (il suo determinante tende a zero), il robot è vicino a una singolarità, una configurazione in cui non può muoversi in determinate direzioni. Rilevarla evita movimenti pericolosi dei giunti ad alta velocità. - Cinematica inversa: i risolutori iterativi di cinematica inversa usano lo jacobiano per calcolare piccole correzioni dei giunti che spostano l'end effector verso una posa obiettivo. - Analisi della manipolabilità: lo jacobiano rivela quanto bene il robot può muoversi e applicare forze nelle diverse direzioni in una data configurazione. L'ellissoide di manipolabilità visualizza questa capacità.
Lo jacobiano cambia con la configurazione del robot: va ricalcolato a ogni passo temporale man mano che i giunti si muovono. Ciò rende il controllo basato sullo jacobiano efficiente dal punto di vista computazionale (una moltiplicazione di matrici) ma dipendente dalla configurazione.
Capire lo jacobiano è essenziale per chiunque lavori al controllo di bracci robotici, al controllo della forza o alla pianificazione del movimento oltre il semplice controllo nello spazio dei giunti.
Perché è importante
Lo jacobiano è il ponte tra le velocità dei giunti e la velocità dell'utensile: la matrice che dice quanto velocemente e in quale direzione si muove l'end effector quando ruota ciascun giunto. È ciò che rende possibile un controllo cartesiano fluido, ed è anche ciò che rivela i punti deboli di un robot: dove lo jacobiano perde rango, il braccio si trova in una singolarità e non può più muoversi affatto in qualche direzione. Ne dipende anche il controllo della forza, poiché la stessa matrice lega le forze all'utensile alle coppie ai giunti.
Applicazioni principali
- Controllo resolved-rate: guidare l'utensile a una velocità cartesiana comandata
- Asservimento visivo, che converte l'errore nello spazio immagine in movimento dei giunti
- Controllo della forza e controllo di impedenza, che riportano le forze all'utensile a coppie ai giunti
- Rilevamento ed evitamento delle singolarità durante la pianificazione
- Analisi della manipolabilità, che misura quanto liberamente il braccio può muoversi in una data posa
- Controllo nello spazio nullo nei bracci ridondanti, che muove il gomito tenendo fermo l'utensile
In pratica
In un anello di teleoperazione o di asservimento visivo, il controller calcola ripetutamente una velocità desiderata dell'utensile e la moltiplica per lo jacobiano inverso per ottenere le velocità dei giunti. Questo funziona bene finché il braccio non si avvicina a una singolarità, tipicamente un gomito completamente disteso o un allineamento del polso, dove l'inversa esplode e piccoli movimenti comandati richiedono velocità enormi ai giunti. I controller di produzione si proteggono con i minimi quadrati smorzati, che sacrificano un po' di precisione in cambio della stabilità, ed è per questo che un braccio spesso sembra lento o si rifiuta di muoversi vicino al bordo della sua area di lavoro.
Idee sbagliate comuni
- Lo jacobiano è una proprietà fissa del robot: cambia a ogni configurazione e va ricalcolato di continuo
- Invertirlo è sempre possibile: nelle singolarità perde rango e l'inversa non esiste
- Riguarda solo la velocità: la trasposta lega le forze all'utensile alle coppie ai giunti, ed è la base del controllo della forza
- Le singolarità sono rari casi limite: un braccio completamente disteso o un polso allineato sono pose del tutto normali da richiedere
Chi dovrebbe saperlo
- Chiunque implementi un controllo cartesiano di velocità o di forza
- Sviluppatori che scrivono anelli di teleoperazione o di asservimento visivo
- Ingegneri che indagano su un braccio che diventa instabile in certe pose
- Studenti che passano dal controllo di posizione al controllo di velocità e di forza
- Chiunque debba valutare se un braccio ha una destrezza utilizzabile in tutta la sua area di lavoro
Tecnologie correlate
- Cinematica inversa
- Analisi delle singolarità
- Controllo del movimento resolved-rate
- Ellissoide di manipolabilità
- Parametri di Denavit-Hartenberg
- Metodo dei minimi quadrati smorzati (Levenberg-Marquardt)
- Proiezione nello spazio nullo
- Teoria delle viti (screw theory)
Termini correlati
Progetti correlati
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
- PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
- MuJoCo MPC: DeepMind's interactive real-time model predictive control framework for MuJoCo
- PyPose: PyTorch library for differentiable robotics with deep learning and Lie group optimization
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
Video
- Velocity Kinematics & Jacobian Matrix | Robotics 101: Engineering Simplified