Componente · Chassi
Conjunto de rodas Mecanum
A roda que empurra a 45°. Qual das quatro é esquerda, a verificação do X que detecta uma montagem invertida e a aderência que você troca por movimento lateral.
O que é
Uma roda Mecanum é uma roda comum com uma série de roletes de livre rotação fixados ao redor da aroa; o eixo de cada rolete fica a 45° em relação ao eixo da própria roda. Bengt Ilon patentou-a em 1972 na empresa sueca Mecanum AB, de onde vem o nome, e robôs de armazém a usam continuamente desde então.
A consequência desse ângulo de 45° explica toda a história. Uma roda normal só pode empurrar ao longo da direção em que rola. Uma roda Mecanum só pode empurrar ao longo do eixo de seu rolete—porque o rolete gira livremente em todas as outras direções e simplesmente não transmite força nelas. Assim, a força de uma roda Mecanum contra o piso fica fixa a 45° em relação ao chassi, independentemente do que o motor fizer.
Uma dessas rodas é inútil. Quatro delas, em pares esquerdo e direito, fornecem quatro vetores de força em ângulos alternados de 45°; a soma desses vetores pode apontar para qualquer direção no piso e conferir um torque. Essa é uma base holonômica: três graus de liberdade controláveis—avanço, movimento lateral e rotação—a partir de quatro motores comuns sem direção de esterço.
Lateralidade e por que ela não é opcional
As rodas Mecanum vêm em duas formas espelhadas, normalmente vendidas como esquerda (A) e direita (B), ou apenas marcadas como L e R no cubo. Um robô precisa de duas de cada, em pares diagonais:
| Canto | Lateralidade | Seu vetor de força, visto de cima |
|---|---|---|
| Dianteiro esquerdo | Esquerda (A) | Aponta para a frente e para a direita quando a roda avança |
| Dianteiro direito | Direita (B) | Aponta para a frente e para a esquerda |
| Traseiro esquerdo | Direita (B) | Aponta para a frente e para a esquerda |
| Traseiro direito | Esquerda (A) | Aponta para a frente e para a direita |
Cantos diagonais têm a mesma lateralidade. Comprar quatro rodas iguais é um erro real e comum—um “conjunto de quatro rodas Mecanum” de um vendedor confiável contém duas de cada, mas duas peças compradas separadamente frequentemente não contêm.
A verificação do X
O teste confiável não exige nenhuma marcação.
- Coloque o robô na bancada, com as rodas apoiadas no chão.
- Fique acima dele e olhe diretamente para baixo.
- Em cada roda, siga a linha dos roletes que você vê no topo.
- Essas quatro linhas devem apontar para o centro do robô e desenhar um X.
Se as linhas desenharem um losango—a configuração O—troque duas rodas na diagonal e verifique novamente.
Há uma sutileza que atrapalha quando as pessoas tentam raciocinar em vez de olhar: os roletes vistos no topo são espelhados em relação aos que tocam o piso, porque um rolete no topo da roda é o mesmo rolete levado meia volta. Os roletes que fazem o empurrão apontam para o outro lado. Isso não importa—o X que você vê continua sendo o teste correto e é o que todo mundo usa, precisamente porque ele pode ser visto.
Conexão de quatro delas a um Arduino
Mecanum é uma tração de quatro motores; portanto, um único L298N não basta. Use duas pontes H duplas ou uma placa de quatro canais:
| Roda | Driver | Pinos de direção | Pino PWM | Encoder A/B |
|---|---|---|---|---|
| Dianteira esquerda | Driver 1, canal A | 2, 4 | 3 | 18, 30 |
| Dianteira direita | Driver 1, canal B | 7, 8 | 5 | 19, 31 |
| Traseira esquerda | Driver 2, canal A | 24, 26 | 6 | 20, 32 |
| Traseira direita | Driver 2, canal B | 28, 22 | 11 | 21, 33 |
Dois detalhes costumam causar problemas:
- Quatro canais PWM que compartilham um temporizador não funcionarão todos. Em um Uno há seis pinos PWM em três temporizadores, e a biblioteca Servo ou
tone()roubam um. Um Mega ou ESP32 elimina o problema; em um Uno, verifique o mapa dos temporizadores antes de soldar. - Quatro encoders exigem quatro pinos de interrupção. Um Uno tem dois. Este é o motivo mais comum para uma montagem Mecanum terminar em um Mega 2560 ou ESP32.
Código mínimo funcional
A cinemática inversa tem quatro linhas. Todo o resto é cabeamento.
// Mecanum inverse kinematics: a chassis command in, four wheel speeds out.
// x is forward, y is to the robot's LEFT, omega is counter-clockwise.
const float LX = 0.075; // half the wheelbase, m
const float LY = 0.085; // half the track, m
const float K = LX + LY; // the only place geometry enters
void driveMecanum(float vx, float vy, float omega) {
float fl = vx - vy - K * omega;
float fr = vx + vy + K * omega;
float rl = vx + vy - K * omega;
float rr = vx - vy + K * omega;
// Scale, do not clip. Clipping each wheel on its own keeps the speed and
// throws the direction away, which is a bug you will chase for a week.
float peak = max(max(fabs(fl), fabs(fr)), max(fabs(rl), fabs(rr)));
if (peak > V_MAX) {
float s = V_MAX / peak;
fl *= s; fr *= s; rl *= s; rr *= s;
}
setWheel(FL, fl); setWheel(FR, fr);
setWheel(RL, rl); setWheel(RR, rr);
}
setWheel() é onde fica a malha de velocidade, se você tiver uma. Em malha aberta, basta escrever um valor de PWM; a tração Mecanum em malha aberta deriva—veja como fechar a malha na velocidade das rodas.
Os números que importam
São três, e todos os três dependem da geometria, não de algo que você possa resolver comprando outro componente.
| Grandeza | Mecanum | Rodas comuns | Por quê |
|---|---|---|---|
| Aderência em linha reta | 71% (1/√2) | 100% | O atrito limita todo o vetor de força de 45°; somente a componente para a frente move o robô |
| Aceleração máxima com μ = 0,85 | 5,9 m/s² | 8,3 m/s² | A mesma proporção, e a massa do robô se cancela nas duas |
| Velocidade diagonal máxima | 71% da velocidade máxima da roda | — | Um comando a 45° exige tudo de duas rodas e nada das outras duas |
| Graus de liberdade | 3 | 2 | A razão pela qual você as comprou |
A última linha é o que você está pagando. As três primeiras são a conta.
Solução de problemas
| Sintoma | Causa | Solução |
|---|---|---|
| O avanço funciona, mas o deslocamento lateral faz o robô curvar e girar | Uma roda está no canto errado | Faça a verificação do X; troque duas rodas na diagonal |
| O robô se desloca lateralmente no sentido errado | As quatro rodas estão espelhadas — o X está invertido | Troque o par esquerdo pelo direito |
| O robô deriva um pouco para um lado em um trecho longo e reto | Os motores não têm desempenho correspondente sob carga | Feche a malha de velocidade de cada roda, ou iguale e calibre os motores |
| A diagonal é muito mais lenta que o avanço | É o funcionamento projetado, não um defeito | O limite de 1/√2; aumente a velocidade máxima ou pare de usar diagonais |
| O robô treme e chia durante o deslocamento lateral | Os roletes estão patinando em vez de rolar — aderência excessiva, carga insuficiente ou rolete travado | Gire cada rolete à mão; todos devem girar livremente |
| A odometria é boa no avanço, mas péssima lateralmente | Os roletes patinam por projeto, então o encoder não mede o piso | Adicione uma IMU para a orientação; use rodas mortas para a posição |
| Um canto emite um som diferente dos outros | O rolamento de um rolete colapsou | Troque o rolete; um rolete travado transforma aquele canto em uma roda comum a 45° |
Mecanum ou as alternativas?
| Opção | Move lateralmente | Força de empurrão | Terreno | Custo e complexidade |
|---|---|---|---|---|
| Mecanum, 4 motores | Sim, em qualquer direção e orientação | Ruim — 71% antes mesmo de considerar a borracha dos roletes | Somente pisos planos e rígidos | 4 motores, 4 drivers de motor, 4 encoders |
| Rodas omni em X, 4 motores | Sim — mesmo envelope em losango, girado 45° e √2 maior | Ruim, com √2 menos força para essa velocidade | Somente pisos planos | Mesmo número de motores, difícil de encaixar |
| Tração diferencial, 2 motores | Não — precisa girar primeiro | Melhor nas mesmas rodas | Suporta muito mais | 2 motores, barato, simples e robusto |
| Swerve, 8 motores | Sim, com aderência total | Excelente | Bom | Quatro vezes o trabalho e o custo |
O resumo honesto: uma base Mecanum é a resposta certa quando o piso é plano e limpo, o espaço é apertado e o robô precisa manter a orientação enquanto se move—um corredor de armazém, um campo de competição, uma plataforma de câmera. É a resposta errada quando o robô precisa empurrar, subir ou saber exatamente onde está apenas pelas rodas.
Onde são usadas
Instale estas rodas sob um chassi e você estará construindo o robô omnidirecional Mecanum. Antes de cortar qualquer peça metálica, passe vinte minutos no simulador de tração Mecanum—montar uma roda invertida ali não custa nada, e essa é a falha mais provável.
Explore o grafo
Usado nestas montagens
Projetos, caminhos de aprendizagem e simuladores que incluem Conjunto de rodas Mecanum.
Comparar
Alternativas
Perguntas
Perguntas frequentes sobre Conjunto de rodas Mecanum
Como sei qual roda Mecanum vai em cada posição?
Coloque o robô na bancada, fique acima dele e olhe diretamente para baixo. Siga a linha dos roletes que você vê no topo de cada roda. Em uma base montada corretamente, essas quatro linhas apontam para o centro do robô e juntas desenham um X. Se desenharem um losango—um O—duas rodas estão nos cantos errados. Essa verificação leva cinco segundos, não exige marcações e detecta o erro de montagem Mecanum mais comum. As marcas L e R impressas no cubo ajudam, mas a verificação do X é em que se deve confiar, pois testa o que realmente importa.
O que acontece se uma roda Mecanum for instalada invertida?
O robô ainda se move, e é isso que torna a falha tão confusa. Avançar e dar ré parecem normais porque as componentes laterais ainda se cancelam em grande parte. O deslocamento lateral é que sai errado: o canto montado incorretamente empurra na direção transversal ao comando; portanto, um comando lateral vira uma curva lenta com rotação. No simulador, um percurso lateral quadrado que fecha com 17 mm de erro e as quatro rodas corretas termina a mais de um metro de distância e dezenas de graus rotacionado quando uma roda está invertida. Nada no código está errado, e nenhum ajuste de PID corrigirá isso. A pista que se lê em um robô real é o resíduo do encoder, que passa de zero para cerca de 0,28 e permanece nesse valor.
Rodas Mecanum precisam de encoders?
Precisam mais do que um robô de tração diferencial e obtêm menos informação deles. Mais, porque as quatro rodas precisam manter suas relações de velocidade para o robô ir onde foi orientado, e um motor que cede sob carga o desvia silenciosamente do curso. Menos, porque os roletes patinam por projeto; portanto, um encoder de roda mede a roda e não o piso—a parte lateral da sua odometria é o número menos confiável do robô. A maioria das montagens Mecanum sérias mantém encoders para a malha de velocidade e acrescenta uma IMU, ou rodas omni sem motor, para determinar a posição.
Por que meu robô Mecanum é tão fácil de empurrar?
Porque uma roda Mecanum só transmite força ao longo do eixo de seu rolete, que fica a 45 graus da direção desejada. O atrito limita todo o vetor de força, mas apenas a componente ao longo da direção de rolamento move o robô—portanto, você obtém 1/√2, cerca de 71%, da aderência que o mesmo robô e o mesmo piso dariam com rodas comuns. A borracha dos roletes costuma ter mais aderência do que isso sugere, mas a penalidade geométrica é real e não há configuração que a elimine. Se a necessidade for empurrar com força, não use rodas Mecanum.
Posso usar rodas Mecanum em tapete ou ao ar livre?
Em tapete, funcionam, mas perdem velocidade e precisão: os roletes afundam em vez de deslizar; portanto, o movimento lateral fica ruidoso e a odometria piora. Ao ar livre, não. Cascalho, grama e qualquer coisa com uma borda podem travar um rolete ou fazê-lo parar completamente, e um rolete travado transforma aquele canto em uma roda comum apontada 45° fora—que é novamente a falha de roda invertida, mas intermitente. Rodas Mecanum são para pisos planos, rígidos e limpos, exatamente os ambientes de armazéns e campos de competição.
Quantos motores um robô Mecanum precisa?
Quatro, um por roda, cada um controlável de forma independente nas duas direções. Não existe tração Mecanum de dois motores—todo o mecanismo é composto por quatro vetores de força cuja soma produz o movimento solicitado, e ligar duas rodas a um motor elimina dois deles. Isso significa quatro canais de ponte H, quatro conjuntos de fios de encoder se você quiser uma malha de velocidade e um orçamento de corrente dimensionado para quatro motores, não dois.
Leitura complementar