Logótipo sheen.bot

Perspetivas

Porque É Que as Rodas Mecanum Têm Desvio no Período Autónomo do FTC (e Como Corrigir sem Dead Wheels)

24/09/2026·Sheen Robotics
Porque É Que as Rodas Mecanum Têm Desvio no Período Autónomo do FTC (e Como Corrigir sem Dead Wheels)

O desvio das Mecanum é causado pelo cancelamento imperfeito dos vetores de força nos tapetes de espuma maleáveis. Pode eliminar a maior parte do erro no período autónomo sem módulos de odometria, bloqueando a orientação com a IMU interna do Control Hub e controlando o perfil de aceleração.

As transmissões com rodas Mecanum desviam-se durante as rotinas autónomas do FTC porque o seu movimento depende do cancelamento matemático preciso de vetores de força diagonais a 45 graus. Nos tapetes de espuma EVA macios e irregulares, forças normais desiguais e o deslizamento dos rolos impedem que esses vetores se equilibrem na perfeição, criando uma rotação indesejada no eixo de guinada (yaw) que se agrava com a distância. Não precisa de módulos de odometria passivos e dispendiosos (dead wheels) para resolver isto: pode eliminar a grande maioria dos erros de trajetória em modo autónomo fechando o ciclo de controlo de orientação através da IMU integrada do REV Control Hub e limitando a aceleração para permanecer dentro dos limites de atrito estático dos seus rolos.

A Mecânica do Deslizamento das Mecanum

Uma roda de tração convencional aplica força paralelamente à rotação da roda. Uma roda Mecanum transfere a força através de rolos passivos inclinados a 45 graus em relação ao disco da roda. Quando um motor gira uma roda Mecanum para a frente, a área de contacto exerce um vetor diagonal: uma componente que empurra o robô para a frente e uma componente transversal de igual magnitude que empurra para o lado.

Para avançar em linha reta, as rodas esquerdas e direitas exercem forças transversais iguais e opostas que se anulam mutuamente, restando apenas o impulso para a frente. Para fazer translação estritamente lateral (strafe), pares diagonais opostos rodam em sentidos contrários, cancelando o impulso para a frente e combinando o impulso transversal.

Este cancelamento vetorial pressupõe três condições que nunca se verificam num campo de competição:

  • Forças normais simétricas: se o centro de massa do robô estiver minimamente deslocado em direção à bateria ou ao mecanismo de elevação, os cantos mais pesados sofrem uma força normal superior e maior tração. Os cantos mais leves derrapam, deixando forças transversais por cancelar.
  • Tração superficial uniforme: os tapetes modulares de espuma EVA macia deformam-se com o peso. Os rolos afundam-se na espuma a profundidades variáveis, alterando o ângulo de contacto efetivo e a resistência ao rolamento a cada milissegundo.
  • Atrito cinético idêntico: os rolos passivos de plástico e borracha das rodas Mecanum comerciais comuns apresentam pequenas variações de fabrico, folga axial e diferenças de atrito interno.

Quando os vetores de força não se cancelam na perfeição, o resultado imediato é um binário de guinada não comandado. Assim que o robô roda apenas dois ou três graus em relação à sua orientação pretendida, cada impulso subsequente dos encoders dos motores conduz o robô ao longo de uma trajetória rodada, multiplicando o erro de posicionamento ao longo do tempo.

A Solução: Correção Ativa de Orientação por IMU

Embora os encoders dos motores meçam quanto os eixos das rodas giraram, não conseguem medir o deslizamento dos rolos no piso. No entanto, não precisa de um rastreio de posição cartesiano completo para resolver a maior parte da imprecisão no período autónomo. Se impedir o robô de se desviar da orientação pretendida, os erros de translação dos encoders mantêm-se lineares e previsíveis, em vez de rotacionais e catastróficos.

Todos os REV Control Hubs contêm uma Unidade de Medição Inercial (IMU, Inertial Measurement Unit) interna capaz de ler a orientação angular absoluta (yaw) com elevada precisão e desvio mínimo ao longo de um período autónomo de 30 segundos.

Implementar o Ciclo de Bloqueio de Orientação

Em vez de enviar potências de translação diretas para os motores de tração, encaminhe o erro de orientação através de um ciclo de controlo Proporcional-Derivativo (PD) que injete potência rotacional corretiva nas equações cinemáticas das Mecanum em tempo real.

As equações cinemáticas padrão das Mecanum para a potência dos motores são:

  • Front Left = Drive + Strafe + Turn
  • Front Right = Drive - Strafe - Turn
  • Back Left = Drive - Strafe + Turn
  • Back Right = Drive + Strafe - Turn

Numa rotina de ciclo aberto, o valor de Turn é definido a zero durante deslocamentos em linha reta ou translações puras. Numa rotina ativa com bloqueio de orientação, o valor de Turn é calculado dinamicamente a partir do feedback de yaw da IMU em cada iteração do ciclo:

  1. Ler a orientação atual: Obtenha o ângulo de yaw atual a partir da IMU.
  2. Calcular o erro de orientação: Calcule a menor diferença angular entre a orientação pretendida e a orientação atual, garantindo que normaliza o ângulo entre -180 e +180 graus (ou -π e +π radianos) para evitar erros de descontinuidade angular (wrap-around).
  3. Calcular a correção: Multiplique o erro por um ganho proporcional calibrado (kP) e adicione a taxa de variação do erro multiplicada por um ganho derivativo (kD) para amortecer oscilações.
  4. Aplicar e normalizar: Substitua este valor de correção na variável Turn. Se o cálculo para qualquer motor exceder uma potência de 1.0 (ou -1.0), divida as quatro potências de motor pelo valor absoluto máximo para preservar as proporções vetoriais pretendidas sem saturação de sinal (clipping).

Normalizar as potências dos motores é fundamental. Se o seu robô estiver a avançar à potência máxima e o controlador exigir uma correção de rotação, a saturação não normalizada anulará o diferencial corretivo e permitirá que o robô se desvie, independentemente dos ganhos definidos no software.

Controlar o Deslizamento Cinético com Limitação da Taxa de Variação (Slew Rate)

A correção ativa de orientação lida com o desvio rotacional, mas acelerações bruscas causam deslizamento longitudinal e lateral, no qual as rodas giram mais depressa do que o chassis acelera. Quando os rolos perdem a aderência estática na espuma, os encoders dos motores registam distância que nunca chegou a ser percorrida.

Para corrigir o deslizamento cinético sem dead wheels:

  • Limitar a aceleração (Slew Rate): Nunca aumente bruscamente a potência-alvo do motor de 0.0 para 1.0 num único ciclo. Aumente a potência gradualmente com um limitador de rampa simples (por exemplo, limitando a aceleração a um aumento máximo de 0,05 de potência por ciclo de 20 milissegundos).
  • Desacelerar com um perfil de velocidade: Utilize perfis de velocidade trapezoidais ou em curva S para abrandar o robô antes de atingir a contagem-alvo dos encoders. Travar bruscamente faz com que o robô derrape nos tapetes, invalidando o ponto de paragem pretendido.
  • Contacto mecânico com o piso: Assegure-se de que o chassis da transmissão tem uma ligeira flexibilidade torcional ou uma suspensão oscilante (rocker) num dos eixos. Se um chassis rígido de quatro rodas encontrar uma junta irregular entre tapetes de espuma, uma das rodas levanta ligeiramente do chão, perdendo tração de imediato e provocando deslizamento.

Quando É Que as Dead Wheels São Realmente Necessárias?

As equipas recorrem frequentemente a módulos de odometria de três rodas com molas por acreditarem que as rodas Mecanum não conseguem executar uma trajetória fiável de 30 segundos em modo autónomo. Na realidade, um ciclo de bloqueio de orientação bem calibrado, combinado com rampas de velocidade baseadas em encoders, é suficiente para pontuar em tarefas autónomas de alto valor, alinhar com precisão nas paredes do campo e estacionar de forma consistente.

A odometria com dead wheels só se torna estritamente necessária quando a sua estratégia para o período autónomo exige trajetórias spline complexas e de alta velocidade com múltiplos pontos de passagem (como trajetórias completas em Road Runner ou Pedro Pathing), onde o robô tem de conhecer as suas coordenadas (X, Y) exatas após colidir com elementos de jogo ou efetuar translações laterais agressivas por toda a largura do campo.

Se está a construir e a aperfeiçoar transmissões para FTC ou procura dominar o perfil de movimento em modo autónomo com a sua equipa, explore os nossos guias de engenharia de competição em Sheen Robotics FTC Resources.

#ftc#robótica#mecanum#programação#sistemas-de-controlo

Mais Perspetivas