Kinematic Redundancy
- Detto anche: manipulator redundancy
- Categoria: Foundations & spatial maths › Kinematics
- Tag: kinematics, inverse-kinematics, null-space, manipulators, redundancy-resolution
Un robot è cinematicamente ridondante per un compito quando ha più giunti di quanti il compito ne richieda, così che la stessa posa dell'end effector può essere raggiunta con una famiglia continua di configurazioni dei giunti.
Definizione
Un manipolatore è cinematicamente ridondante rispetto a un compito quando il suo numero di giunti n supera la dimensione m del compito che deve controllare. Il caso classico è un braccio a sette giunti che controlla una posa dell'end effector a sei dimensioni, il che lascia un grado di ridondanza. La ridondanza è però definita rispetto al compito: anche un braccio a sei giunti è ridondante per un compito che fissa solo la posizione della punta di un utensile, o che lascia libera la rotazione attorno all'asse di un trapano. Per una posa fissa dell'end effector, le configurazioni dei giunti che la realizzano non formano un singolo punto ma una famiglia di dimensione (n − m), spesso chiamata varietà dei moti interni (self-motion manifold). In pratica, questo significa che il braccio può muovere il gomito mentre la mano resta ferma.
A livello di velocità, la ridondanza si manifesta come lo spazio nullo dello jacobiano del manipolatore J, di dimensioni m × n: le velocità dei giunti in quello spazio nullo non producono alcun moto dell'end effector. I controllori a velocità risolta (resolved-rate) lo sfruttano con la forma standard q̇ = J⁺ẋ + (I − J⁺J)q̇₀, dove J⁺ è la pseudoinversa. Il primo termine insegue il compito, e il secondo proietta un obiettivo secondario q̇₀ nello spazio nullo. Obiettivi secondari comuni sono restare lontani dai limiti dei giunti, tenere il gomito lontano dagli ostacoli, aumentare la manipolabilità per evitare le singolarità e ridurre le coppie ai giunti. La cinematica inversa con priorità dei compiti (task-priority inverse kinematics) si basa su questo e ordena più compiti per priorità, in modo che ciascun compito a priorità più bassa agisca solo nello spazio nullo di quelli sopra di esso.
La ridondanza cambia anche il comportamento della cinematica inversa. Un risolutore numerico di IK restituisce una soluzione fra infinite, scelta implicitamente dal suo seed e dal suo algoritmo, per cui interrogazioni consecutive possono saltare tra configurazioni lontane. La IK analitica per i comuni progetti a sette giunti con spalla e polso sferici parametrizza esplicitamente la libertà in più, spesso come un angolo del braccio o angolo di swivel che ruota il gomito attorno alla retta dalla spalla al polso. La ridondanza non va confusa con l'insieme finito di rami discreti di IK, come gomito alto o basso e polso ribaltato, che hanno anche i bracci non ridondanti a sei giunti.
Perché è importante
La ridondanza è ciò che permette a un braccio a sette giunti di aggirare gli ostacoli, evitare i limiti dei giunti e restare lontano dalle singolarità mentre la sua mano segue un percorso, ed è il motivo per cui molti bracci collaborativi e umanoidi hanno sette giunti. Rende però anche più difficili la cinematica inversa e la pianificazione, perché qualcosa deve scegliere una configurazione all'interno di un continuo, e scelte sbagliate portano ad arresti per limite dei giunti o a ribaltamenti improvvisi del gomito.
Applicazioni principali
- Evitamento degli ostacoli con il gomito e delle autocollisioni mentre l'end effector segue un percorso
- Evitamento dei limiti dei giunti e delle singolarità durante lunghi percorsi dell'utensile
- Manipolazione bimanuale e a catena chiusa, dove la libertà in più aiuta a soddisfare vincoli condivisi
- Controllo del corpo intero di umanoidi e manipolatori mobili con molti più giunti di quanti ne richieda un singolo compito
- Mantenere la postura del braccio prevedibile e lontana dalle persone nel lavoro collaborativo
- Ridurre le coppie ai giunti o l'energia per un dato moto dell'end effector
In pratica
Un ingegnere programma un braccio a sette giunti per pulire un tavolo con una spugna mentre una persona lavora nelle vicinanze. Il percorso di pulizia fissa la posa dell'end effector, lasciando un grado di libertà libero. Il controllore calcola le velocità dei giunti con la pseudoinversa dello jacobiano per il moto di pulizia e aggiunge un termine nello spazio nullo che spinge il gomito lontano dalla posizione tracciata della persona e verso il centro della corsa di ciascun giunto. Durante i test, il team scopre che un semplice risolutore numerico di IK, chiamato a ogni waypoint, a volte restituisce soluzioni con il gomito su lati opposti, causando grandi salti dei giunti. Il team passa a inizializzare ogni interrogazione dalla soluzione precedente (warm-starting) e a parametrizzare la posizione del gomito esplicitamente con l'angolo del braccio, così che il pianificatore scelga deliberatamente il grado di libertà ridondante invece di lasciarlo al risolutore.
Idee sbagliate comuni
- Ridondanza significa semplicemente avere più di sei giunti — è definita rispetto al compito, quindi un braccio a sei giunti è ridondante per un compito che vincola meno di sei coordinate dell'end effector
- I bracci ridondanti hanno più soluzioni di IK nello stesso modo dei bracci a sei giunti — i bracci non ridondanti hanno un insieme finito di soluzioni discrete, mentre i bracci ridondanti ne hanno famiglie continue
- Il moto nello spazio nullo non influisce mai sul compito — lascia invariata la posa dell'end effector solo al primo ordine, quindi passi ampi o moti vicino alle singolarità possono comunque disturbare il compito se l'errore non viene corretto
Chi dovrebbe saperlo
- Ingegneri di manipolazione e di pianificazione del movimento
- Ingegneri del controllo che lavorano sul controllo nello spazio del compito e sul controllo del corpo intero
- Sviluppatori di umanoidi e di manipolatori mobili
- Studenti di robotica che studiano la cinematica dei manipolatori
Tecnologie correlate
- Pseudoinversa dello jacobiano (Jacobian Pseudoinverse)
- Proiezione nello spazio nullo (Null-Space Projection)
- Cinematica inversa analitica (Analytic Inverse Kinematics)
- Ellissoide di manipolabilità (Manipulability Ellipsoid)
- Minimi quadrati smorzati (Damped Least Squares)
Termini correlati
Progetti correlati
- 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
- mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
- IKPy: Pure-Python inverse kinematics library that builds chains straight from URDF
- frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics