Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Nonholonomic Constraint

  • Detto anche: non-holonomic constraint
  • Categoria: Foundations & spatial maths › Kinematics
  • Tag: kinematics, mobile-robots, motion-planning, wheeled-robots, control-theory

Un vincolo sulle velocità di un sistema che non può essere integrato in un vincolo sulla sua configurazione, come una ruota che non può strisciare lateralmente ma può comunque raggiungere qualsiasi posizione.

Definizione

Vincolo anolonomo (nonholonomic constraint) limita le direzioni in cui un sistema può muoversi in ogni istante senza limitare quali configurazioni può raggiungere alla fine. I vincoli olonomi si possono scrivere come equazioni sulla configurazione stessa, come una distanza fissa tra due punti, e tolgono dimensioni allo spazio delle configurazioni raggiungibile. I vincoli anolonomi si scrivono sulle velocità, tipicamente nella forma pfaffiana A(q) q̇ = 0, e non possono essere integrati in equazioni di quel tipo. L'esempio classico è una ruota che rotola senza strisciare: la sua velocità deve essere diretta lungo il suo orientamento, eppure, combinando avanzamento e rotazione, può raggiungere qualsiasi posizione e orientamento nel piano.

I robot mobili su ruote sono il caso più comune. Un robot a trazione differenziale o un'auto non può muoversi lateralmente in modo istantaneo, quindi il parcheggio in parallelo richiede una sequenza di archi in avanti e all'indietro. Altre fonti sono le ruote sterzanti dei robot con gambe e ruote, il rotolamento di una sfera su un piano e la conservazione del momento angolare nei robot spaziali in volo libero, che vincola le velocità in un modo non integrabile. Se un sistema con vincoli di questo tipo possa raggiungere tutte le configurazioni è una questione di controllabilità, a cui si risponde verificando se le parentesi di Lie delle direzioni di moto ammesse generano lo spazio delle configurazioni (teorema di Chow).

I vincoli anolonomi hanno conseguenze pratiche sia per la pianificazione sia per il controllo. I percorsi rettilinei nello spazio delle configurazioni spesso non sono ammissibili, quindi i pianificatori usano funzioni di sterzata come le curve di Dubins o di Reeds-Shepp, primitive su reticolo o l'ottimizzazione di traiettoria con il vincolo incluso. Nel controllo, il risultato di Brockett del 1983 mostra che molti sistemi anolonomi, compreso l'uniciclo, non possono essere stabilizzati in un punto con una legge di retroazione dello stato regolare e tempo-invariante; i controllori pratici invece inseguono una traiettoria di riferimento in movimento, usano retroazioni tempo-varianti o discontinue, oppure controllano un punto davanti all'asse delle ruote.

Perché è importante

La maggior parte dei robot su ruote è anolonoma, e ignorarlo produce piani che il robot non può seguire e controllori che falliscono vicino all'obiettivo. Il concetto spiega anche perché si scelgono basi omnidirezionali e trazioni olonome quando il moto laterale conta.

Applicazioni principali

  • Pianificazione del percorso per auto, robot a trazione differenziale e trattori con rimorchio
  • Controllo di inseguimento della traiettoria di robot mobili su ruote
  • Ottimizzazione del moto per robot con gambe e ruote
  • Parcheggio e manovre in spazi ristretti
  • Controllo d'assetto di robot spaziali in volo libero

In pratica

Un team che costruisce un robot per consegne in interni a trazione differenziale scopre che il suo pianificatore globale, scritto per un robot puntiforme, produce percorsi con angoli netti e passi laterali nelle porte strette. Modifica quindi il pianificatore locale perché campioni comandi di velocità che rispettano il vincolo della trazione, come velocità di avanzamento e velocità di rotazione, e aggiunge un comportamento di avvicinamento finale che arriva alla stazione di aggancio lungo una curva invece di cercare di correggere piccoli errori laterali sul posto. Su un quadrupede con gambe e ruote si aggiunge un vincolo simile all'ottimizzatore del corpo intero: la velocità di ogni ruota rispetto al suolo deve essere diretta secondo il suo angolo di sterzata, così il solver non pianifica mai uno strisciamento laterale delle ruote.

Idee sbagliate comuni

  • Un robot anolonomo non può raggiungere alcune posizioni — di solito può raggiungere ogni configurazione, solo non lungo qualsiasi percorso
  • Anolonomo significa che il robot ha meno gradi di libertà — lo spazio delle configurazioni mantiene la sua dimensione; sono limitate solo le velocità istantanee
  • Qualsiasi limite di velocità è un vincolo anolonomo — i limiti di velocità e di accelerazione sono limiti di disuguaglianza, non vincoli di uguaglianza non integrabili sulla direzione
  • Un normale controllo in retroazione può parcheggiare in un punto un robot di tipo automobile — la condizione di Brockett esclude per questi sistemi la retroazione regolare tempo-invariante, quindi servono altre strategie

Chi dovrebbe saperlo

  • Ingegneri di pianificazione e controllo di robot mobili
  • Team di pianificazione del movimento per veicoli autonomi
  • Sviluppatori di robot con gambe e ruote e di robot da campo
  • Studenti di robotica che studiano cinematica e controllo

Tecnologie correlate

  • Percorsi di Dubins (Dubins Paths)
  • Curve di Reeds-Shepp (Reeds-Shepp Curves)
  • Pianificatori a reticolo di stati (State Lattice Planners)
  • Pure Pursuit
  • Ruote Mecanum (Mecanum Wheels)

Termini correlati

  • Unicycle Model
  • Configuration Space
  • Omnidirectional Drive
  • Kinematics
  • Trajectory Planning
  • Underactuated system

Progetti correlati

  • OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
  • 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
  • Ruckig: Real-time jerk-constrained time-optimal trajectory generation for robots and machines
  • DART: C++ physics engine for articulated rigid body dynamics and robotics simulation

Video

  • Holonomic vs. Nonholonomic Constraints for Robots | Fundamentals of Robotics | Lesson 4: Mecharithm - Robotics and Mechatronics
  • Nonholonomic Constraints & Lagrange Multipliers Explained | ESM 5314 Lecture 22: Dr. Shane Ross

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.