Nonholonomic Constraint
- Também chamado: non-holonomic constraint
- Categoria: Foundations & spatial maths › Kinematics
- Tags: kinematics, mobile-robots, motion-planning, wheeled-robots, control-theory
Uma restrição sobre as velocidades de um sistema que não pode ser integrada em uma restrição sobre sua configuração, como uma roda que não pode deslizar lateralmente mas ainda assim pode alcançar qualquer posição.
Definição
Restrição não holonômica (nonholonomic constraint) limita as direções em que um sistema pode se mover a cada instante sem limitar quais configurações ele pode alcançar no fim. Restrições holonômicas podem ser escritas como equações sobre a própria configuração, como uma distância fixa entre dois pontos, e removem dimensões do espaço de configurações alcançável. Restrições não holonômicas são escritas sobre as velocidades, normalmente na forma pfaffiana A(q) q̇ = 0, e não podem ser integradas em equações desse tipo. O exemplo clássico é uma roda rolando sem deslizar: sua velocidade deve apontar na direção de sua orientação, mas, combinando o avanço e a curva, ela pode alcançar qualquer posição e orientação no plano.
Robôs móveis com rodas são o caso mais comum. Um robô de tração diferencial ou um carro não consegue se mover lateralmente de forma instantânea, então estacionar em vaga paralela exige uma sequência de arcos para a frente e para trás. Outras fontes incluem rodas esterçáveis em robôs com pernas e rodas, o rolamento de uma bola sobre uma placa e a conservação do momento angular em robôs espaciais em flutuação livre, que restringe as velocidades de um modo que não pode ser integrado. Se um sistema com essas restrições pode alcançar todas as configurações é uma questão de controlabilidade, respondida verificando se os colchetes de Lie das direções de movimento permitidas geram o espaço de configurações (teorema de Chow).
Restrições não holonômicas têm consequências práticas tanto para o planejamento quanto para o controle. Caminhos em linha reta no espaço de configurações muitas vezes não são viáveis, então os planejadores usam funções de condução como curvas de Dubins ou de Reeds-Shepp, primitivas de reticulado ou otimização de trajetória com a restrição incluída. No controle, o resultado de Brockett de 1983 mostra que muitos sistemas não holonômicos, incluindo o monociclo, não podem ser estabilizados em um ponto com uma lei de realimentação de estado suave e invariante no tempo; controladores práticos, em vez disso, seguem uma trajetória de referência móvel, usam realimentação variante no tempo ou descontínua, ou controlam um ponto à frente do eixo das rodas.
Por que importa
A maioria dos robôs com rodas é não holonômica, e ignorar isso produz planos que o robô não consegue seguir e controladores que falham perto do objetivo. O conceito também explica por que bases omnidirecionais e acionamentos holonômicos são escolhidos quando o movimento lateral importa.
Principais aplicações
- Planejamento de caminhos para carros, robôs de tração diferencial e cavalos mecânicos com reboque
- Controle de seguimento de trajetória de robôs móveis com rodas
- Otimização de movimento para robôs com pernas e rodas
- Estacionamento e manobras em espaços apertados
- Controle de atitude de robôs espaciais em flutuação livre
Na prática
Uma equipe que constrói um robô de entrega para ambientes internos com tração diferencial descobre que seu planejador global, escrito para um robô pontual, produz caminhos com cantos agudos e passos laterais em portas estreitas. Ela troca o planejador local para amostrar comandos de velocidade que respeitem a restrição do acionamento, como a velocidade de avanço e a taxa de giro, e acrescenta um comportamento de aproximação final que chega à estação de acoplamento ao longo de uma curva, em vez de tentar corrigir pequenos erros laterais sem sair do lugar. Em um quadrúpede com pernas e rodas, uma restrição semelhante é adicionada ao otimizador de corpo inteiro: a velocidade de cada roda em relação ao solo deve apontar ao longo de seu ângulo de esterçamento, de modo que o solver nunca planeja deslizamento lateral das rodas.
Equívocos comuns
- Um robô não holonômico não consegue alcançar algumas posições — geralmente ele consegue alcançar todas as configurações, só não por qualquer caminho
- Não holonômico significa que o robô tem menos graus de liberdade — o espaço de configurações mantém sua dimensão; apenas as velocidades instantâneas são restringidas
- Qualquer limite de velocidade é uma restrição não holonômica — limites de velocidade e de aceleração são limites de desigualdade, não restrições de igualdade não integráveis sobre a direção
- Um controle por realimentação padrão consegue estacionar um robô do tipo carro em um ponto — a condição de Brockett exclui para esses sistemas a realimentação suave invariante no tempo, então outras estratégias são necessárias
Quem deve saber
- Engenheiros de planejamento e controle de robôs móveis
- Equipes de planejamento de movimento de veículos autônomos
- Desenvolvedores de robôs com pernas e rodas e de robôs de campo
- Estudantes de robótica que estudam cinemática e controle
Tecnologias relacionadas
- Caminhos de Dubins (Dubins Paths)
- Curvas de Reeds-Shepp (Reeds-Shepp Curves)
- Planejadores de reticulado de estados (State Lattice Planners)
- Pure Pursuit
- Rodas Mecanum (Mecanum Wheels)
Termos relacionados
- Unicycle Model
- Configuration Space
- Omnidirectional Drive
- Kinematics
- Trajectory Planning
- Underactuated system
Projetos relacionados
- 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
Vídeos
- 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