Contents — find the section you need
Un percorso è geometrico; una traiettoria specifica quando quel percorso viene percorso e con quale velocità, accelerazione e jerk. L'asse centrale di una corsia non indica a un carrello carico, a un braccio robotico flessibile o a un manipolatore collaborativo con quale velocità può girare o fermarsi. Una polilinea priva di collisioni generata da un pianificatore può comunque richiedere una sterzata impossibile, saturare un giunto, generare vibrazioni o disperdere il carico. La generazione di traiettorie traduce la fattibilità geometrica in un'eseguibilità che tenga conto del tempo e della dinamica.
Questa introduzione confronta i profili di velocità trapezoidali/triangolari, i polinomi di quinto grado e il jerk minimo. Tratta inoltre i limiti, la sicurezza, l'implementazione e il confine con ROS 2 e la pianificazione dei percorsi. Vedi Guida alla pianificazione del percorso, Guida a ROS 2 e Guida a Visual SLAM.
Conclusione pratica
-
I profili trapezoidali rendono evidenti velocità e accelerazione massime. I movimenti brevi diventano profili triangolari senza segmento di crociera. I loro passi di accelerazione ideali implicano uno jerk infinito, che può eccitare meccanismi flessibili e carichi utili.
-
Un polinomio di quinto grado soddisfa le condizioni al contorno di posizione, velocità e accelerazione a entrambe le estremità. I punti finali con velocità e accelerazione nulle rendono la posizione, attraverso l'accelerazione, continua tra i segmenti.
Il jerk minimo minimizza \int j(t)^2dt in base alle condizioni del punto finale specificate; con durata fissa produce un polinomio di quinto grado. Il termine "minimo" si applica all'obiettivo selezionato, non automaticamente all'energia, al rischio di collisione o alla sicurezza.
- Monitorare contemporaneamente posizione, velocità, accelerazione, jerk, limiti, corrente, distanza di arresto, errore di tracciamento e aggiornamento della mappa. Un generatore di traiettorie non è un sistema di arresto di emergenza o di sicurezza anticollisione.
Parametrizzazione temporale di un percorso
Per un percorso spaziale p(s) e un avanzamento s\in[0,1] nel tempo t, la traiettoria è p(s(t)). Qui \dot s è la velocità di avanzamento:
Un'elevata curvatura aumenta l'accelerazione laterale. Un robot mobile obbedisce approssimativamente a a_{lat}=v^2\kappa, dove \kappa è la curvatura, quindi un limite laterale a_{lat,max} dà v\le\sqrt{a_{lat,max}/|\kappa|}. Aumentare la velocità senza smussare una curva richiede a un tracker una sterzata impossibile. Per un braccio robotico, anche una traiettoria dell'effettore finale fluida può generare un'elevata velocità articolare in prossimità di una singolarità cinematica; è necessario verificare congiuntamente i vincoli relativi a mano, veicolo, articolazione e attuatore.
Velocità trapezoidale e triangolare
Per una distanza D, una velocità massima v_{max} e un'accelerazione a_{max}, il tempo di accelerazione è t_a=v_{max}/a_{max} e la distanza percorsa solo in accelerazione/decelerazione è D_{tri}=v_{max}^2/a_{max}. Il limite di accelerazione è a_{max}. Se D\ge D_{tri}, il tempo di crociera è
Se D<D_{tri}, la crociera scompare e la velocità massima è v_p=\sqrt{Da_{max}}. Questo profilo è trasparente e facile da implementare in azionamenti semplici. Le sue variazioni istantanee di accelerazione non sono fisiche: un profilo a curva a S limita lo strappo j_{max} aumentando gradualmente l'accelerazione, riducendo urti e vibrazioni e, in generale, estendendo il movimento.
Diagramma: Duskcoil, concettuale. In un trapezio ideale, le discontinuità di accelerazione rendono il jerk simile a un impulso; questa non è una risposta misurata dalla macchina.
Polinomi di quinto grado e jerk minimo
Sia
Sei condizioni al punto finale — posizione, velocità, accelerazione al tempo iniziale e T — determinano i suoi sei coefficienti. In forma abbreviata questi sono p(0),\dot p(0),\ddot p(0),p(T),\dot p(T),\ddot p(T) e, per un movimento da fermo a fermo, p(0)=0,p(T)=D,\dot p(0)=\dot p(T)=\ddot p(0)=\ddot p(T)=0 . Per un movimento da fermo a fermo lungo la distanza selezionata, con \tau=t/T ,
Il problema del jerk minimo risolve
in funzione della posizione del punto finale, della velocità e dell'accelerazione. La condizione di Eulero-Lagrange annulla la derivata sesta, generando un'equazione di quinto grado. Accorciando T, la velocità, l'accelerazione e il jerk richiesti aumentano rapidamente, quindi la scelta della durata è altrettanto importante quanto la scelta della posizione del punto finale.
Diagramma: Duskcoil. Il confronto riguarda la fluidità del punto finale, non un'affermazione misurata universale su tempo, energia o sicurezza.
Implementazione e connessione ROS 2
Per un giunto, definire il movimento da q_0 a q_f, campionare q_d,\dot q_d,\ddot q_d da una distribuzione quintica e fornirli a un ciclo posizione/velocità/sforzo; velocità e accelerazione possono supportare il feedforward. La sola interpolazione per giunto potrebbe spostare l'effettore finale vicino a un ostacolo, quindi verificare anche la traiettoria cartesiana, la cinematica inversa, il range del giunto e l'autocollisione.
Per un robot mobile, levigare un percorso da A* o RRT, applicare limiti di velocità dipendenti dalla curvatura, scegliere una legge temporale trapezoidale/a S/a minimo jerk e convertire la velocità generata v(t) in velocità delle ruote o sterzata e accelerazione. Se una persona compare in una mappa dei costi locale, preservare il precedente percorso di arrivo regolare è meno importante che rallentare, fermare o ripianificare. La pianificazione globale del percorso non equivale alla sicurezza locale.
In ROS 2, è necessario distinguere i timestamp di percorso, traiettoria e comando di controllo. Definire il comportamento per i salti di clock, i messaggi di traiettoria ritardati, la cancellazione, la sostituzione e i periodi di controllo mancati; rifiutare le traiettorie obsolete ed evitare una discontinuità di velocità in caso di sostituzione. Il ciclo di vita di ROS 2 e i limiti hardware descritti in ROS 2 Primer aiutano ad assegnare queste responsabilità, ma non certificano la sicurezza in tempo reale o funzionale.
Limiti, sicurezza e controlli
I limiti includono |v|\le v_{max}, |a|\le a_{max} e |j|\le j_{max}, ma anche l'escursione delle articolazioni, la capacità di coppia/corrente/termica, l'attrito degli pneumatici, la velocità di sterzata, il carico utile, la percezione, la latenza di comunicazione e lo spazio di arresto. Una semplice stima d_{stop}\simeq v^2/(2a_{brake})+v t_{latency} mostra che lo spazio di frenata cresce quadraticamente con la velocità, mentre il ritardo di rilevamento e di elaborazione rimane invariato. Un generatore deve essere autorizzato ad abbandonare una traiettoria quando l'errore di tracciamento, l'incertezza di posizione, la saturazione, il rilevamento di ostacoli o la mappa obsoleta superano un determinato limite.
| Problema | Causa probabile | Monitor | Esempio di risposta |
|---|---|---|---|
| Errore in curva | discrepanza velocità/curvatura | errore laterale, saturazione dello sterzo | percorso lento e liscio, curvatura del tetto |
| Oscillazione del carico utile | jerk elevato/modalità flessibile | IMU, accelerazione, vibrazione | Curva a S, tempo più lungo, evitare la risonanza |
| Salto al cambio di obiettivo | velocità di confine discontinua | v,a,j , corrente | giunzione senza scosse e reinterpolazione |
| Impossibile arrestarsi | ritardo/frenata/errore di mappa | freschezza, distanza di arresto | limite di velocità e arresto sicuro |
| Giunto al limite | discrepanza IK/legge del tempo | posizione, velocità, coppia | ripianifica, rifiuta obiettivo, rallenta |
Lista di controllo per l'implementazione
-
Definire percorso rispetto alla traiettoria, fotogrammi, tempo target e periodo di controllo.
-
Impostare v,a,j in base ai limiti misurati dell'attuatore, del carico utile e dell'arresto.
-
Testare la commutazione triangolare/trapezoidale e le condizioni al contorno di sostituzione dell'obiettivo.
-
Verificare le derivate massime quando si riduce la durata quintica.
-
Scartare le vecchie traiettorie in caso di aggiornamento della mappa, salto di localizzazione, deviazione di tracciamento, perdita di comunicazione o rilevamento di ostacoli.
-
Verificare l'arresto di emergenza indipendente, i limiti di coppia e i limiti di corsa in caso di errore del software di traiettoria.
Una curva di posizione regolare garantisce un movimento fattibile?
La temporizzazione determina velocità, accelerazione e jerk. Verificare i loro limiti, nonché la traiettoria geometrica.
Commenti
Accedi per continuare.
Nessun dato disponibile.