Percepção → Planejamento → Controle
Visão geral: a pilha de robótica “Percepção → Planejamento → Controle”
A maioria dos robôs reais — robôs móveis, drones, braços industriais, veículos autônomos — é construída em torno de um loop:
- Percepção: transformar sinais brutos de sensores em estado (state) e compreensão de cena (scene understanding) (Onde eu estou? O que há ao meu redor? O que os objetos estão fazendo?).
- Planejamento: escolher o que fazer a seguir e computar uma trajetória viável (feasible trajectory) (Para onde devo ir? Como devo me mover?).
- Controle: produzir comandos de atuadores (actuator commands) que sigam o plano de forma robusta (Quais torques/velocidades devo aplicar agora?).
Essa decomposição não é apenas uma convenção histórica. Ela corresponde a como incerteza, restrições (constraints) e escalas de tempo se separam em sistemas físicos:
- Percepção precisa fundir sensores ruidosos e representar incerteza (uncertainty).
- Planejamento precisa raciocinar sobre geometria, dinâmica e restrições.
- Controle precisa rodar rápido, estabilizar o robô e rejeitar perturbações.
O aprendizado de máquina (machine learning) moderno se encaixa em cada bloco, muitas vezes como uma substituição de um submódulo (por exemplo, percepção aprendida), um auxiliar (por exemplo, função de custo aprendida), ou um resíduo (residual) (por exemplo, correção aprendida sobre um controlador clássico). O aprendizado ponta a ponta (end-to-end learning) de pixels a torques existe, mas na maioria dos sistemas em produção ele ainda é acoplado a uma estrutura modular por confiabilidade, facilidade de depuração e segurança.
Um modelo mental concreto: sinais e frequências
Uma forma útil de entender a pilha é pelos tipos de variáveis passadas entre blocos e suas frequências típicas de atualização:
- Sensores → Percepção: imagens, IMU, varreduras de lidar, encoders de juntas (10–1000 Hz)
- Saída da percepção:
- estimativa de estado ( \hat{x}_t ) (pose, velocidade, estados de juntas)
- mapa / grade de ocupação (occupancy grid) / cena 3D
- detecções de objetos, rastros (tracks), rótulos semânticos
- incerteza (covariâncias, distribuições de crença (belief distributions))
- Saída do planejamento: trajetória desejada ( x_{t:t+T}^* ), ou pontos de ajuste (setpoints), ou uma política (policy) ( \pi(\cdot) )
- Saída do controle: torques de motor, PWM, velocidades-alvo de juntas (100–2000 Hz)
Em muitos sistemas, o planejamento roda mais devagar (por exemplo, 1–50 Hz) do que o controle (por exemplo, 200–1000 Hz), enquanto a estimativa de estado pode ficar em algum ponto intermediário.
Um loop simplificado:
while robot_is_on:
y_t = read_sensors()
belief_t = perception_update(belief_{t-1}, y_t) # state, map, objects
plan_t = plan(belief_t, goal, constraints) # trajectory or policy
u_t = control(belief_t.state, plan_t) # motor commands
apply(u_t)
Na prática, isso é assíncrono e distribuído (por exemplo, nós do ROS (ROS nodes)), e “plan” pode ser reutilizado ao longo de muitas etapas de controle.
Percepção: de sensores a estado e cena
O que a percepção produz
A percepção normalmente inclui:
- Estimativa de estado (state estimation): pose, velocidade e/ou o estado completo das juntas do robô.
- Mapeamento (mapping): geométrico (nuvens de pontos, ocupação), semântico (rótulos de classe), ou ambos.
- Percepção de objetos (object perception): detecção, segmentação, estimativa de pose, rastreamento.
- Predição (prediction) (em ambientes dinâmicos): previsões de curto horizonte de agentes/obstáculos.
Um conceito-chave é que percepção não é apenas “reconhecimento” — é inferência sob incerteza. Robôs precisam agir mesmo quando os sensores são ruidosos, parciais ou enganosos.
Fundamentos clássicos (ainda amplamente usados)
Filtragem Bayesiana (Bayesian filtering): manter uma crença (p(x_t \mid y_{1:t})).
Isso leva a:- Filtros de Kalman (Kalman filters) (linear-Gaussiano) e Filtros de Kalman Estendido/Unscented (Extended/Unscented Kalman filters)
- Filtros de Partículas (Particle filters) (não-Gaussiano, multimodal) Veja: Filtragem Bayesiana, Filtro de Kalman, Filtro de Partículas
Geometria e estimação multi-view (multi-view estimation):
- calibração de câmera, geometria epipolar
- ICP (Iterative Closest Point) para alinhar nuvens de pontos
- grafos de fatores (factor graphs) / bundle adjustment para fusão multi-sensor
SLAM (localização e mapeamento simultâneos; Simultaneous Localization and Mapping): estimar pose e mapa conjuntamente.
Veja: SLAM
Onde o aprendizado se encaixa na percepção
Hoje o aprendizado é dominante em percepção semântica e densa, e é cada vez mais usado dentro de pipelines de estimativa de estado.
Componentes comuns de percepção aprendida:
- Detecção e segmentação de objetos via redes profundas (deep networks) (CNNs, vision transformers): caixas delimitadoras, máscaras, classes.
- Estimativa de profundidade (depth estimation) a partir de imagens monoculares ou aprendizado multi-view.
- Detecção de pontos-chave (keypoint detection) e características aprendidas (learned features) para rastreamento e localização (robusto a mudanças de iluminação/textura).
- Estimativa de pose de objetos rígidos (pose 6D) para manipulação.
- Aprendizado auto-supervisionado de representações (self-supervised representation learning) para reduzir custo de rotulagem (aprendizado contrastivo (contrastive learning), modelagem mascarada (masked modeling)).
Como o aprendizado interage com a estimação clássica:
- Modelos aprendidos fornecem medições (measurements) para um filtro/otimizador (por exemplo, uma rede neural produz pontos-chave; um grafo de fatores os funde).
- Modelos aprendidos geram incerteza (regressão heteroscedástica (heteroscedastic regression), ensembles) — crucial para o planejamento a jusante.
- Modelos aprendidos podem atuar como priores (priors) (por exemplo, priores de mapa, priores de forma de objetos).
Exemplo prático: robô móvel de armazém
- Sensores: encoders de roda + IMU + lidar 2D
- Percepção:
- EKF funde encoders e IMU para estimar velocidade
- scan matching + SLAM para estimar pose no mapa do armazém
- opcionalmente, um detector aprendido identifica aberturas de paletes ou pessoas a partir de imagens de câmera
- Saída: pose ((x, y, \theta)), grade de ocupação, rastros de obstáculos dinâmicos
O componente aprendido (detecção de pessoas) não substitui a localização; ele aumenta o modelo de mundo usado pelo planejamento por segurança.
Principais considerações de engenharia em percepção
- Latência importa: estimativas de estado atrasadas podem desestabilizar o controle; pipelines frequentemente usam sincronização temporal e predição/retrodicção.
- Calibração e convenções de referenciais: erros de percepção frequentemente vêm de extrínsecos ou timestamps incorretos, não de modelos.
- Robustez fora da distribuição (out-of-distribution): visão aprendida pode falhar com mudanças de iluminação/clima; a mitigação costuma envolver Sim2Real, aleatorização de domínio (domain randomization) e planejamento consciente de incerteza.
Planejamento: decidir o que fazer e como se mover
“Planejamento” cobre múltiplas camadas que às vezes são módulos separados:
- Planejamento de tarefas (task planning) (simbólico / discreto): escolher ações (pegar, colocar, abrir porta).
- Planejamento de movimento (motion planning) (contínuo): computar caminhos livres de colisão e trajetórias dinamicamente viáveis.
- Otimização de trajetória (trajectory optimization) / controle preditivo por modelo (model predictive control, MPC): otimizar uma trajetória sob dinâmica e restrições, frequentemente repetido online.
Para um aprofundamento em métodos geométricos e baseados em amostragem, veja: Planejamento de Movimento.
Fundamentos clássicos de planejamento
Planejamento discreto e baseado em grafos
- A*, Dijkstra: menor caminho em uma grade/grafo, amplamente usado para navegação 2D.
- Heurísticas importam: heurísticas admissíveis aceleram a busca.
Planejamento de movimento baseado em amostragem
- RRT / RRT*, PRM: bons para espaços de alta dimensionalidade (braços robóticos), onde grades explodem.
- Dependem de verificação de colisão e podem lidar com cinemática complexa.
Otimização de trajetória
- CHOMP, STOMP, TrajOpt e métodos relacionados otimizam trajetórias suaves usando gradientes (quando disponíveis) e restrições.
- Tipicamente precisam de bons chutes iniciais e tratamento cuidadoso de restrições.
MPC (controle de horizonte deslizante / receding horizon control)
- Planeja em um horizonte curto, executa a primeira ação, replaneja com novo estado.
- Fica na fronteira entre planejamento/controle e é comum em drones e veículos.
Onde o aprendizado se encaixa no planejamento
O aprendizado pode entrar no planejamento de várias formas “seguras para implantação” que preservam restrições:
Modelagem de custo a partir de percepção (perception-to-cost shaping) aprendida
- Exemplo: um robô aprende um mapa de custo a partir de preferências humanas (“manter distância de pessoas”, “evitar passagens estreitas”).
- O planejador ainda impõe evasão de colisão, mas o objetivo é aprendido.
Heurísticas aprendidas e guia de busca
- Predizer “distância ao objetivo” ou expansões promissoras para acelerar A* ou planejadores baseados em amostragem.
- Isso mantém a estrutura de correção do planejador, melhorando a velocidade.
Amostragem aprendida ou distribuições de proposta (proposal distributions)
- Em planejadores do tipo RRT, o aprendizado pode enviesar amostras em direção a passagens estreitas ou corredores prováveis de solução.
Aprendizado por imitação (imitation learning) para movimento
- Treinar uma política para propor trajetórias ou waypoints que se pareçam com o comportamento de um especialista, e então refinar com otimização.
- Veja: Aprendizado por Imitação
Aprendizado por reforço (reinforcement learning, RL) para camadas de decisão
- Especialmente para decisões de alto nível sob incerteza (por exemplo, entrar na faixa ou ceder na condução).
- Frequentemente combinado com restrições de segurança baseadas em regras.
- Veja: Aprendizado por Reforço
Modelos de mundo (world models) e aprendizado preditivo
- Aprender modelos de dinâmica (especialmente quando modelos analíticos são ruins) e então usá-los dentro do MPC (“controle preditivo por modelo aprendido (learned model predictive control)”).
- Comum em locomoção de robôs com pernas e manipulação, mas exige tratamento cuidadoso de incerteza.
Exemplo prático: planejamento de comportamento em direção autônoma
- Percepção: rastreia veículos/pedestres, estima faixas, prediz movimento em curto horizonte.
- Planejamento:
- planejador de comportamento escolhe trocar de faixa vs manter faixa
- planejador de movimento computa uma trajetória que satisfaz cinemática, restrições de colisão e conforto (limites de jerk)
- O aprendizado frequentemente contribui com:
- modelos de predição (aprendidos)
- funções de custo ajustadas a partir de dados de condução humana
- sugestões de política (por exemplo, para mesclagem), depois filtradas por restrições e regras de segurança
Planejamento sob incerteza (ideias de espaço de crença)
Quando a percepção é incerta (por exemplo, oclusões), o planejamento idealmente raciocina sobre uma crença (belief) em vez de uma única estimativa de estado. O planejamento completo em espaço de crença é caro, mas aproximações são comuns:
- inflar obstáculos por margens de incerteza
- restrições de chance (chance constraints) (“a probabilidade de colisão deve ser < 1%”)
- amostrar futuros possíveis de outros agentes
Essas ideias conectam fortemente o planejamento à Segurança em Robótica.
Controle: transformar planos em movimento estável
O controle opera na escala de tempo mais rápida e faz interface direta com hardware. O problema de controle é computar ações (u_t) para que o robô siga o movimento desejado enquanto permanece estável sob perturbações, erros de modelagem e ruído.
Veja também: Controle
Fundamentos clássicos de controle
Controle PID (PID control)
- Onipresente no controle no nível de juntas (loops de posição/velocidade).
- Fácil de implementar, mas limitado para dinâmicas acopladas multivariáveis.
Controle em espaço de estados (state-space control)
- LQR / iLQR para sistemas lineares(izados).
- Fornece trade-offs bem fundamentados entre erro de rastreamento e esforço de controle.
Espaço operacional / controle de impedância (operational space / impedance control) (manipulação)
- Controla o comportamento do efetuador final (rigidez/amortecimento) em vez de ângulos das juntas.
- Crítico para tarefas ricas em contato em Manipulação.
MPC como controlador
- Resolve novamente um problema de otimização online; lida naturalmente com restrições.
- Usado em drones, direção autônoma e robôs de alto desempenho.
Onde o aprendizado se encaixa no controle
O controle baseado em aprendizado é poderoso, mas mais sensível a mudança de distribuição e questões de segurança. Padrões comuns de integração:
Aprendizado residual (residual learning) sobre um controlador estabilizante
- Usar um controlador clássico como base e aprender um termo de correção: [ u = u_{\text{classical}}(x) + \Delta u_\theta(x) ]
- Mais seguro do que controle totalmente aprendido porque a linha de base fornece estabilidade.
Identificação de sistemas (system identification) e aprendizado de modelo
- Aprender parâmetros (atrito, massa, atraso de atuador) para melhorar um controlador baseado em modelo.
- Frequentemente mais robusto do que aprender a política inteira.
Aprendizado por imitação para políticas de realimentação
- Aprender uma política reativa a partir de demonstrações (por exemplo, teleoperação), e então implantar com restrições de segurança.
- Funciona bem quando o controle ótimo é difícil de especificar, mas existe comportamento especialista.
Aprendizado por reforço para controle rico em contato ou de alta dimensionalidade
- Particularmente bem-sucedido em locomoção e manipulação dexterous em simulação, depois transferido via Sim2Real.
- Tipicamente precisa de:
- aleatorização de domínio
- estado privilegiado de simulação (privileged simulation state) durante o treinamento
- camadas de segurança durante a implantação
Aprendizado seguro (safe learning) e imposição de restrições
- “Blindagem (shielding)” de ações aprendidas com restrições (por exemplo, funções barreira de controle (control barrier functions), projeção de ação (action projection)).
- Fortemente relacionado à Segurança em Robótica.
Exemplo prático: locomoção de quadrúpede
- Percepção: estimar pose/velocidade da base a partir de IMU + cinemática das pernas; opcionalmente visão para apoios (footholds).
- Planejamento: planejamento de apoios + trajetória do corpo (às vezes implícita).
- Controle:
- clássico: controlador de corpo inteiro ou MPC rastreando forças desejadas
- aprendizado: política de aprendizado por reforço propõe velocidades desejadas do corpo ou posicionamentos dos pés; um controlador impõe limites de torque e restrições de contato
Muitos sistemas reais bem-sucedidos usam comandos de alto nível aprendidos com controle de baixo nível baseado em modelo.
Como as peças se conectam: interfaces e modos de falha
Interfaces comuns entre módulos
- Percepção → Planejamento:
- estimativa de estado ( \hat{x} ) e incerteza
- representação de mapa / ocupação
- lista de objetos (pose, velocidade, classe) e movimento previsto
- Planejamento → Controle:
- trajetória de referência (posição/velocidade/aceleração)
- waypoints ou uma spline
- às vezes uma política ou ganhos de realimentação
Projetar essas interfaces é uma grande decisão arquitetural. Interfaces “finas” demais (por exemplo, apenas um objetivo pontual) podem tornar o planejamento frágil; interfaces “grossas” demais (por exemplo, grafos de cena completos) podem ser caras e difíceis de manter.
Modos de falha típicos por camada
- Falhas de percepção:
- calibração/sincronização temporal ruins
- modelo aprendido fora da distribuição (fog, glare, objetos novos)
- deriva na localização (falhas de fechamento de loop (loop-closure) no SLAM)
- Falhas de planejamento:
- trajetórias inviáveis devido a restrições incorretas
- oscilações por replanejamento frequente com mapas de custo inconsistentes
- mismatch de predição (outros agentes se comportam de forma inesperada)
- Falhas de controle:
- saturação (limites de torque/velocidade)
- dinâmicas não modeladas (backlash, stiction)
- instabilidade por atrasos ou ganhos incorretos
Um insight-chave de sistemas: erros se propagam para frente. Um pequeno viés de localização pode virar um grande erro de planejamento perto de obstáculos, que vira um problema de controle impossível. Por isso a robótica enfatiza incerteza e loops de realimentação.
Aprendizado ponta a ponta vs pilhas modulares
Políticas ponta a ponta (pixels → ações)
Um único modelo aprendido mapeia entradas de sensores diretamente para ações de controle:
[ u_t = \pi_\theta(y_{t-k:t}) ]
Vantagens:
- menos módulos projetados manualmente
- pode explorar pistas sutis
- pipeline de execução potencialmente mais simples
Desvantagens:
- difícil de depurar e verificar
- demanda muitos dados
- frágil sob mudança de distribuição
- restrições (colisão, limites de juntas) não são garantidas a menos que sejam impostas explicitamente
Abordagens híbridas (mais comuns na prática)
Um meio-termo pragmático:
- Aprender percepção (visão, profundidade, semântica), manter estimativa de estado e controle clássicos.
- Aprender funções de custo / heurísticas, manter o planejador baseado em restrições.
- Aprender resíduos, manter um controlador estabilizante.
Esses híbridos frequentemente atingem o melhor trade-off entre desempenho e confiabilidade.
Um resumo compacto de “onde o aprendizado se encaixa”
| Componente da pilha | Núcleo clássico | Adições de aprendizado (típicas) | Benefício na implantação |
|---|---|---|---|
| Percepção | filtragem, geometria, SLAM | detecção/segmentação, características aprendidas, estimativa de incerteza | compreensão mais rica da cena |
| Planejamento | A*, RRT*, otimização de trajetória, MPC | custos aprendidos, heurísticas, amostragem por proposta, dinâmica aprendida | decisões mais rápidas/melhores |
| Controle | PID/LQR/MPC, impedância | políticas de aprendizado por reforço/aprendizado por imitação, controle residual, aprendizado de modelo | lida com contatos/dinâmicas complexos |
Notas práticas de implantação (o que importa fora dos artigos)
- Dados não são i.i.d.: as ações do robô mudam quais dados ele vê (mudança de distribuição em malha fechada (closed-loop distribution shift)). Por isso o aprendizado por imitação frequentemente precisa de agregação de conjunto de dados (dataset aggregation) e por isso o aprendizado por reforço é atraente, mas caro.
- Simulação é essencial, mas imperfeita: dinâmica de contato, sensores e atrito são difíceis de igualar. Fechar essa lacuna é o foco de Sim2Real.
- Segurança é um requisito de primeira classe: robôs reais precisam de monitores, fallback e imposição de restrições. Veja: Segurança em Robótica.
- Restrições de computação e temporização: redes de percepção podem ser pesadas; planejadores podem precisar de garantias de tempo real; loops de controle devem ser determinísticos.
- Testes são em camadas: testes unitários para geometria, replay de logs para percepção, bibliotecas de cenários para planejamento, hardware no loop (hardware-in-the-loop) para controle.
Juntando tudo: um exemplo de pilha completa (manipulação móvel)
Considere um robô que se desloca até uma prateleira, pega um item e o coloca em uma caixa.
- Percepção
- SLAM para localização da base
- detecção por câmera + estimativa de pose 6D para o item-alvo
- segmentação de cena para identificar espaço livre para pegadas (grasps)
- Planejamento
- planejador de navegação para chegar à prateleira
- planejamento de movimento do braço para alcançar uma pose de pré-pega (livre de colisão)
- planejamento de pega (analítico + pontuação aprendida)
- trajetória pós-pega até a caixa
- Controle
- controle de velocidade da base para seguir comandos de navegação
- controle no espaço das juntas do braço ou controle de impedância durante a pega
- limiares de força/torque e reflexos para contato
O aprendizado pode ser crucial para ver e selecionar pegadas, enquanto planejamento/controle clássicos fornecem satisfação de restrições e estabilidade durante a execução.
Principal conclusão
“Percepção → Planejamento → Controle” é melhor entendido como um pipeline de decisão e execução em malha fechada com responsabilidades bem definidas:
- Percepção estima o que é verdade (e quão incerto isso é).
- Planejamento escolhe o que deve acontecer sob restrições.
- Controle faz com que realmente aconteça em hardware real.
O aprendizado de máquina moderno melhora cada componente — especialmente percepção e modelagem preditiva — mas os sistemas mais robustos no mundo real tipicamente usam projetos híbridos: modelos aprendidos embutidos dentro de estimação clássica, planejamento baseado em restrições e controle de realimentação estabilizante.