Elastic band
- Também chamado: elastic bands, elastic band method
- Categoria: Planning & manipulation › Motion planning
- Tags: motion-planning, local-planning, obstacle-avoidance, path-deformation, mobile-robots
Um método local de deformação de caminhos que trata um caminho planejado como uma banda esticável, tensionada por forças internas e afastada dos obstáculos por forças externas, para que se adapte em tempo real.
Definição
Uma banda elástica (elastic band) é um método para deformar um caminho em tempo real, apresentado por Quinlan e Khatib em 1993 para ligar o planejamento global de caminhos ao controle reativo. Um caminho livre de colisões vindo de um planejador global é representado como uma cadeia de pontos, ou de bolhas, regiões de espaço livre em torno de cada ponto dimensionadas pela distância até o obstáculo mais próximo. A banda é então tratada como um objeto físico. Forças internas de contração, como molas entre pontos vizinhos, a esticam para que fique mais curta e mais suave. Forças externas, derivadas de um potencial repulsivo em torno dos obstáculos, a afastam deles. A cada ciclo de controle a banda relaxa em direção a um equilíbrio dessas forças, de modo que, quando um obstáculo se move ou um novo aparece, o caminho se curva em torno dele mantendo seu início e seu objetivo.
As bolhas mantêm a banda conectada: enquanto as bolhas vizinhas se sobrepõem, os segmentos retos entre elas ficam livres de colisões, e pontos são acrescentados ou removidos à medida que a banda se estica ou encolhe. Como o caminho é apenas deformado, e não recalculado, o método é rápido o bastante para rodar dentro de uma malha de controle. Trabalhos posteriores estenderam a ideia para as elastic strips, para manipuladores móveis, que deformam uma sequência de configurações do robô inteiro no espaço de trabalho, e para a Timed Elastic Band, que acrescenta intervalos de tempo entre poses e resolve uma otimização esparsa com restrições de velocidade, de aceleração e cinemáticas. A Timed Elastic Band está disponível como planejador local no ROS.
A banda elástica difere de um método de campo potencial (potential field), que move o robô diretamente ao longo do gradiente de um potencial atrativo e repulsivo: aqui as forças agem sobre um caminho inteiro que já liga o início ao objetivo, então o robô não fica preso nos mínimos locais que podem parar um controlador puramente de campo potencial. Ela continua sendo um método local. Uma banda só pode se deformar de forma contínua, então não consegue saltar para outra forma de contornar um obstáculo, como passar pela esquerda em vez de pela direita; se um obstáculo corta a banda ou o corredor se fecha, um planejador global precisa fornecer um novo caminho. Algumas variantes mantêm várias bandas candidatas em classes de homotopia diferentes por esse motivo.
Por que importa
Robôs em ambientes que mudam precisam de caminhos que reajam a obstáculos em movimento dentro de um ciclo de controle sem descartar o plano global. As bandas elásticas e suas descendentes são uma forma padrão de fornecer essa camada reativa para robôs móveis e manipuladores, e o modelo de caminho baseado em forças também é usado para gerar trajetórias suaves e que levam em conta os obstáculos para outros fins.
Principais aplicações
- Planejamento local e desvio de obstáculos para robôs móveis
- Deformação de caminhos em tempo real em torno de pessoas e objetos em movimento
- Movimento reativo para manipuladores móveis por meio de elastic strips
- Suavização e encurtamento de caminhos vindos de planejadores globais
- Geração de trajetórias que levam em conta os obstáculos para dados de treinamento e demonstrações
Na prática
Um robô móvel de armazém recebe de um planejador baseado em grade um caminho global ao longo de um corredor. Seu planejador local representa os próximos metros do caminho como uma Timed Elastic Band. Quando uma pessoa entra no corredor, o mapa de custos do LiDAR registra um novo obstáculo, os pontos da banda são afastados dele e a otimização curva o caminho em torno da pessoa respeitando os limites de velocidade e aceleração do robô e seu raio de curva mínimo. O robô segue o caminho deformado e, depois que a pessoa passa, os termos de contração puxam a banda de volta para a linha original. Se o corredor for bloqueado por completo, a banda não consegue ser deformada até um caminho viável, e a pilha de navegação pede ao planejador global uma nova rota.
Equívocos comuns
- Uma banda elástica é um planejador global — ela deforma um caminho existente e precisa de um planejador global para fornecer a rota inicial e replanejar quando a banda se rompe
- Bandas elásticas são apenas campos potenciais — os campos potenciais movem o robô diretamente, enquanto uma banda elástica aplica forças a um caminho inteiro que já chega ao objetivo, o que evita os mínimos locais que prendem um controlador puramente de campo potencial
- Uma banda elástica encontra o caminho mais curto — ela converge para um caminho localmente curto e suave que passa pelos obstáculos do mesmo lado que o caminho inicial, o que pode não ser o mais curto globalmente
Quem deve saber
- Engenheiros de navegação de robôs móveis
- Pesquisadores de planejamento de movimento que trabalham com planejamento reativo
- Engenheiros que configuram planejadores locais de navegação no ROS
- Estudantes de robótica que estudam planejamento e controle
Tecnologias relacionadas
- Timed Elastic Band
- Elastic Strips
- Pilha de navegação do ROS (ROS Navigation Stack)
- Campos potenciais artificiais (Artificial Potential Fields)
- Dynamic Window Approach
Termos relacionados
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
- NeuPAN: Real-time end-to-end planner that maps raw lidar points directly to robot actions