Contents — find the section you need

Um caminho é geométrico; uma trajetória especifica quando esse caminho é percorrido e com qual velocidade, aceleração e solavanco. A linha central de um corredor não informa a um carrinho carregado, a um braço robótico flexível ou a um manipulador colaborativo a velocidade com que ele pode virar ou parar. Uma polilinha livre de colisões gerada por um planejador ainda pode exigir manobras impossíveis, saturar uma junta, provocar vibrações ou derramar sua carga. A geração de trajetórias traduz a viabilidade geométrica em executabilidade com reconhecimento de tempo e dinâmica.

Este guia compara perfis de velocidade trapezoidais/triangulares, polinômios quínticos e solavanco mínimo. Ele também aborda limites, segurança, implementação e a fronteira com o ROS 2 e o planejamento de trajetórias. Consulte Guia de Planejamento de Trajetória, Guia de Introdução ao ROS 2 e Guia de Introdução ao SLAM Visual.

Conclusão prática

  • Perfis trapezoidais tornam a velocidade e a aceleração máximas claras. Movimentos curtos se transformam em perfis triangulares sem segmento de cruzeiro. Seus passos de aceleração ideais implicam em jerk infinito, o que pode excitar mecânicas e cargas flexíveis.

  • Um polinômio quíntico atende às condições de contorno de posição, velocidade e aceleração em ambas as extremidades. Pontos finais de velocidade e aceleração zero tornam a posição contínua por aceleração entre os segmentos.

  • Jerk mínimo minimiza \int j(t)^2dt sob condições de ponto final especificadas; com duração fixa, resulta em um polinômio quíntico. “Mínimo” se aplica ao objetivo selecionado, não automaticamente à energia, risco de colisão ou segurança.

  • Monitore simultaneamente posição, velocidade, aceleração, solavanco, limites, corrente, distância de parada, erro de rastreamento e atualização do mapa. Um gerador de trajetória não é um sistema de parada de emergência ou de segurança contra colisões.

Parametrização temporal de um caminho

Para um caminho espacial p(s) e progresso s\in[0,1] ao longo do tempo t, a trajetória é p(s(t)). Aqui, \dot s é a taxa de progresso:

\dot p=\frac{dp}{ds}\dot s,\qquad \ddot p=\frac{d^2p}{ds^2}\dot s^2+\frac{dp}{ds}\ddot s

Alta curvatura aumenta a aceleração lateral. Um robô móvel obedece aproximadamente a a_{lat}=v^2\kappa, onde \kappa é a curvatura, portanto, um limite lateral a_{lat,max} resulta em v\le\sqrt{a_{lat,max}/|\kappa|}. Aumentar a velocidade sem suavizar uma curva exige um rastreador para realizar uma direção impossível. Para um braço, mesmo uma trajetória suave do efetor final pode criar alta velocidade articular perto de uma singularidade cinemática; as restrições da mão, do veículo, da articulação e do atuador devem ser verificadas em conjunto.

Velocidade trapezoidal e triangular

Para distância D , velocidade máxima v_{max} e magnitude da aceleração a_{max} , o tempo de aceleração é t_a=v_{max}/a_{max} e a distância de aceleração/desaceleração é D_{tri}=v_{max}^2/a_{max} . O limite de aceleração é a_{max} . Se D\ge D_{tri} , o tempo de cruzeiro é

t_c=\frac{D-D_{tri}}{v_{max}}

Se D<D_{tri} , o cruzeiro desaparece e a velocidade máxima é v_p=\sqrt{Da_{max}} . Este perfil é transparente e fácil de implementar em acionamentos simples. Suas mudanças instantâneas de aceleração não são físicas: um perfil em forma de S limita o solavanco j_{max} por meio de aceleração gradual, reduzindo o impacto e a vibração, enquanto geralmente prolonga o movimento.

Diagram 1 · Use the button to switch views
Perfil trapezoidal: posição, velocidade, aceleração e jerk

Diagrama: Duskcoil, conceitual. Em um trapézio ideal, as descontinuidades de aceleração tornam o jerk impulsivo; esta não é uma resposta medida da máquina.

Polinômios quínticos e jerk mínimo

Seja

p(t)=a_0+a_1t+a_2t^2+a_3t^3+a_4t^4+a_5t^5

Seis condições finais — posição, velocidade, aceleração no instante inicial e T — determinam seus seis coeficientes. Resumidamente, estes são p(0),\dot p(0),\ddot p(0),p(T),\dot p(T),\ddot p(T) e, para um movimento de repouso a repouso, p(0)=0,p(T)=D,\dot p(0)=\dot p(T)=\ddot p(0)=\ddot p(T)=0. Para um movimento de repouso a repouso ao longo da distância selecionada, com \tau=t/T ,

p(t)=D(10\tau^3-15\tau^4+6\tau^5)

O método do mínimo jerk resolve

\min_p\int_0^T\left(\frac{d^3p}{dt^3}\right)^2dt

sujeito à posição, velocidade e aceleração da extremidade. A condição de Euler-Lagrange torna a sexta derivada zero, resultando em uma função quíntica. Encurtar T aumenta rapidamente a velocidade, a aceleração e o jerk necessários, portanto, selecionar a duração é tão importante quanto selecionar as localizações das extremidades.

Diagram 2 · Use the button to switch views
Comparação entre o método do mínimo jerk e o perfil trapezoidal

Diagrama: Duskcoil. A comparação diz respeito à suavidade do ponto final, não a uma afirmação universalmente mensurada sobre tempo, energia ou segurança.

Implementação e conexão com ROS 2

Para uma junta, defina o movimento de q_0 para q_f, amostre q_d,\dot q_d,\ddot q_d de uma quíntica e forneça-os a um loop de posição/velocidade/esforço; velocidade e aceleração podem suportar feedforward. A interpolação por junta sozinha pode mover o efetor final para perto de um obstáculo, portanto, verifique também o caminho cartesiano, a cinemática inversa, a amplitude da junta e a autocolisão.

Para um robô móvel, suavize uma rota a partir de A* ou RRT, aplique limites de velocidade dependentes da curvatura, escolha uma lei de tempo trapezoidal/curva em S/jerk mínimo e traduza a velocidade gerada v(t) para velocidades das rodas ou direção e aceleração. Se uma pessoa aparece em um mapa de custos local, preservar a chegada suave anterior é menos importante do que reduzir a velocidade, parar ou replanejar. O planejamento de trajetória global não garante segurança local.

No ROS 2, distinguem-se os registros de data e hora de caminho, trajetória e comando de controle. Define-se o comportamento para saltos de relógio, mensagens de trajetória atrasadas, cancelamento, substituição e períodos de controle perdidos; rejeitam-se trajetórias obsoletas e evita-se uma descontinuidade de velocidade na substituição. O ciclo de vida e os limites de hardware do ROS 2 descritos no ROS 2 Primer ajudam a alocar essas responsabilidades, mas não garantem segurança em tempo real ou funcional.

Limites, segurança e verificações

Os limites incluem |v|\le v_{max}, |a|\le a_{max} e |j|\le j_{max}, mas também alcance conjunto, torque/corrente/capacidade térmica, atrito do pneu, taxa de direção, carga útil, percepção, latência de comunicação e distância de frenagem. Uma estimativa simples d_{stop}\simeq v^2/(2a_{brake})+v t_{latency} mostra que a distância de frenagem cresce quadraticamente com a velocidade, enquanto o atraso de sensoriamento e computação permanece. Um gerador deve ter permissão para abandonar uma trajetória quando o erro de rastreamento, a incerteza de pose, a saturação, a detecção de obstáculos ou um mapa desatualizado excederem um limite.

Problema Causa provável Monitor Exemplo de resposta
Erro nas curvas incompatibilidade de velocidade/curvatura erro lateral, saturação da direção rota lenta e suave, curvatura da tampa
Oscilação da carga útil modo de alta instabilidade/flexível IMU, aceleração, vibração Curva em S, tempo mais longo, evitar ressonância
Salto na mudança de objetivo velocidade de fronteira descontínua v,a,j , atual emenda suave e reinterpolação
Não é possível parar atraso/frenagem/erro de mapa atualização, distância de parada limite de velocidade e parada segura
Junta no limite incompatibilidade IK/lei do tempo posição, velocidade, torque replanejar, rejeitar objetivo, desacelerar

Lista de verificação de implementação

  1. Defina o caminho versus a trajetória, os quadros, o tempo alvo e o período de controle.

  2. Ajuste v,a,j a partir dos limites medidos do atuador, da carga útil e da parada.

  3. Teste as condições de contorno de comutação triangular/trapezoidal e substituição de objetivo.

  4. Verifique as derivadas máximas ao reduzir a duração quíntica.

  5. Descarte as trajetórias antigas na atualização do mapa, salto de localização, desvio de rastreamento, perda de comunicação ou detecção de obstáculos.

  6. Verifique o botão de parada de emergência independente, os limites de torque e os limites de deslocamento caso o software de trajetória falhe.
Verifique seu entendimento
Uma curva de posição suave garante um movimento viável?

O tempo determina a velocidade, a aceleração e o jerk. Verifique seus limites, bem como o caminho geométrico.

Referências

Related reading

Explore another aspect of this fieldLaboratório MPC — resolva novamente uma sequência de curvatura dentro de um horizonte e dos limites de direçãoExplore another aspect of this fieldLaboratório de comparação de rastreamento de trajetória — execute PP, APP, RPP, Stanley e MPC sob as mesmas condições