Como fazer com que duas faixas contínuas (faixas do tanque) se movam na mesma velocidade?


12

Eu tenho alguns motores Vex 269 conectados a um Arduino Duemilanove . Esses motores executam alguns passos do tanque Vex . Os dois motores são executados como servos no Arduino usando a Servo Library. O problema que estou tendo é que as duas faixas não giram na mesma velocidade quando enviadas o mesmo ângulo servo. Isso se deve claramente ao fato de as esteiras contínuas terem tantas partes móveis que é difícil obter forças de atrito idênticas em cada esteira.

Como faço para que eles movam a mesma velocidade? Eles deveriam estar se movendo na mesma velocidade, com o mesmo ângulo servo, independentemente do atrito e os motores Vex 269 simplesmente não são fortes o suficiente (o que significa que eu deveria usar o Vex 369 ou outro motor mais potente)? É melhor apenas tentar e errar o tempo suficiente para descobrir qual ângulo de servo resulta em velocidades iguais em cada um? Devo mexer com as faixas até que tenham atritos quase idênticos? Muito obrigado!

Respostas:


12

A resposta curta é que você precisa de um melhor controle (feedback) para fazer isso. Praticamente, você nunca poderá calibrar o sistema com precisão suficiente para seguir em frente por mais de algumas dezenas de comprimentos do corpo do robô. Depois de discar perfeitamente para um conjunto de condições, o ambiente ou as condições de desgaste serão alteradas e você precisará ajustá-lo novamente.

Condições de superfície, tração, atitude, isolamento do motor (a distribuição de energia elétrica para cada motor a partir de uma fonte de energia comum) e muitos outros fatores operacionais em tempo real afetam a velocidade de avanço de cada lado do bot.

Dependendo dos seus requisitos de precisão, algo tão simples quanto uma bússola magnética (posicionar o robô o mais à frente possível para maximizar sua capacidade de resposta) pode ajudá-lo a manter um rumo durante o movimento para frente.

Frequentemente, não é criticamente importante precisamente em qual direção o seu bot está se movendo; em vez disso, ele simplesmente precisa progredir em alguma tarefa (siga o líder, procure um alvo, etc.).

Se você postar mais detalhes sobre seu robô e seus objetivos de design, eu poderia ajudá-lo ainda mais.

Uma observação sobre a colocação do sensor magnético

Mas, por que eu deveria "posicionar [o transdutor magnético] o mais à frente possível"? Não é verdade que o ângulo é o mesmo? Sim. Isso é verdade, mas a magnitude do campo magnético da Terra não é. Você está em um local diferente na Terra .

Imagine que seu robô é tão grande quanto um carro. Se você se senta no centro geométrico do carro e o carro gira em torno de você, suas coordenadas na Terra não mudaram; somente sua atitude tem. Agora, se você está sentado sobre o capô do carro eo carro repete o movimento anterior, tanto a sua atitude e suas coordenadas mudaram. Mudar as coordenadas produz uma diferença maior na magnitude do campo da Terra do que na rotação sozinha.

Nos últimos anos, trabalhei em uma equipe com o Dr. Dwight Veihland, da Virginia Tech, sem dúvida o principal especialista do mundo em sensores magnéticos de sensibilidade super alta. Se eu cristalizasse o corpo de seu trabalho ( como neste exemplo ), eu diria que ele está sempre em busca de maiores proporções sinal-ruído na detecção de magnitudes cada vez menores.

Qualquer aumento na diferença de magnitude que você pode gerar facilita a vida do seu sensor ... e, nesse caso, você o obtém gratuitamente. Vários robôs de grande desafio da DARPA colocaram o sensor de GPS adiante pelo mesmo motivo.


1
Para expandir a excelente resposta do DrFriedParts, consulte "Controle PID" para descobrir mais sobre um tipo de controle de feedback comumente usado. Pergunta para DrFriedParts: como o posicionamento da bússola o mais à frente possível maximiza a capacidade de resposta? O ângulo será o mesmo, independentemente, embora eu possa ver se afastando das peças e motores de metal para ajudar.
usar o seguinte código

@ViennaMike - Obrigado! =) Expandi minha resposta para cobrir sua pergunta com mais detalhes do que cabia em um comentário.
DrFriedParts 08/12/12

Alguém conhece um artigo publicado com experimentos mostrando que a localização do sensor magnético no robô melhora a precisão da orientação devido à posição no campo magnético da Terra? Parece plausível, mas não estou convencido de que o efeito seria perceptível. Eu suspeitaria que apenas afastar o sensor de outros eletrônicos do robô teria um efeito maior. Eu ficaria interessado em ver os resultados de quaisquer experiências sobre isso!
golmschenk

@ViennaMike - O controle PID dos motores não pode ser usado aqui para resolver o problema. Você não possui nenhum feedback de posição / velocidade / corrente; portanto, não há nada para inserir no loop de controle do PID. O PID fornece um meio de abordar suavemente um valor-alvo, mas você não possui um valor-alvo sem feedback adicional sobre a posição do robô / velocidade de rotação diferencial das duas faixas (por exemplo, você precisa de mais informações do que o cenário / robô do OP providenciar).
DrFriedParts

@golmschenk - Veja o primeiro grande desafio da DARPA e os documentos divulgados pelas várias equipes da universidade sobre o posicionamento da antena GPS nos veículos (mesmo conceito) ... ou veja os documentos relevantes da Veihland. O efeito é substancialmente visível nas velocidades do carro ou com sensores magnéticos de escala de minutos. É perceptível em praticamente qualquer escala robótica prática com GPS.
DrFriedParts
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.