Selecionando um acelerômetro para o Deduced Reckoning

11

Eu nunca usei um acelerômetro antes, mas sei que eles vêm com saídas I2C, SPI e analógicas. Se eu optar por usar um dispositivo I2c ou SPI, acumularei erros devido ao tempo de comunicação?

A amostragem rápida de um sinal analógico provavelmente me proporcionará uma posição deduzida mais precisa do que o uso do I2C?

Isso será verdade para

  1. Um robô se movendo em uma sala
  2. Um robô se movendo em um terreno ao ar livre e provavelmente escorrega e desce uma ladeira.

Além disso, não tenho senso de Gs. Tentei mover minha mão rapidamente, com o telefone rodando o sensor andróico no punho e vi que as leituras estavam saturadas a 20m / s 2 . O que G posso esperar que meu robô experimente se for atingido por outro robô em movimento gordo ou atropelado por um ser humano que anda rápido?

Lorde Loh.
fonte

Respostas:

5

Aumentar a frequência de amostragem do sensor não melhora sua precisão ou precisão. Essa é uma característica do sensor que você geralmente não pode mudar. Se você tentar estimar a sua posição através da integração acelerações sozinho, você definitivamente vai acumular erro ao longo do tempo, porque todos os sensores é barulhento. Se você quiser usar os acelerômetros para determinar a posição ou a velocidade, combine-os com algum outro sensor que realmente mede a posição (mesmo com menor precisão) ou velocidade. Em seguida, você pode combinar esses diferentes sinais do sensor com um filtro Kalman para obter uma estimativa razoável de onde você está e a rapidez com que está se movendo.

Considerando as forças G, considere que 1 G é 9,81 m / s ^ 2, o que me parece muito, no contexto de pequenos robôs-hobby, pelo menos para robôs internos. O exterior pode ser uma história diferente, dependendo da potência do seu motor. Uma saturação a 20m / s ^ 2 deve ser suficiente.

Daniel Eberts
fonte
4

Pense em termos da velocidade do loop de controle. Uma velocidade de loop de controle rápido típica é de 1kHz. Alguns robôs usam uma taxa mais rápida, outros mais lentos. Geralmente, a velocidade do seu loop de controle é maior do que você realmente precisa.

Portanto, cada quadro de controle dura 1000us. Dentro desse quadro de controle, você precisa:

  • Experimente seus sensores
  • Execute os cálculos de controle
  • Envie as novas saídas para os motores

Contanto que você possa fazer tudo isso confortavelmente dentro do prazo, não terá problemas. Então, quanto tempo leva para ler o acelerômetro? Se for um dispositivo de 3 eixos, usando I2C de 400kbps, pode demorar cerca de 160us para ler os dados. Isso deixa você 840us para executar o cálculo e atualizar os motores. Mesmo um PIC de 8 bits pode gerenciar isso.


Sobre as forças G Durante um impacto, eles podem ser surpreendentemente altos. Por exemplo, quanto você acha que seria necessário para quebrar um disco rígido? Provavelmente não tanto assim. Bem, um disco rígido que eu havia dito recentemente foi classificado para aceleração máxima de 75G. Portanto, espere que dois robôs colidam para produzir pelo menos vários G. É impossível estimar com precisão, porque depende enormemente do projeto mecânico dos robôs. Se ambos são completamente sólidos como bolas de sinuca, você pode esperar acelerações muito altas. Se eles tiverem algum tipo de concha flexível, isso reduzirá bastante a aceleração. Mas, a questão é: você realmente precisa saber o valor real da aceleração durante um impacto?

Rocketmagnet
fonte
1

Pela sua pergunta, acho que você está tentando obter sua posição nos acelerômetros. Veja que tipo de errosvocê está esperando antes, e então talvez reconsidere. A estimativa de posição apresenta erros muito grandes, principalmente devido à incerteza na orientação. A aplicação em navios, aviões, foguetes etc. usa IMUs de alto grau de navegação de alta precisão muito caras. A latência para a qual sua pergunta se resume não é um problema tão grande. Mais relevante é a sincronização entre seus outros sensores (por exemplo, giroscópios). Os acelerômetros geralmente não são usados ​​para estimativa de posição (há alguns casos em que ajuda, mas apenas por curtos períodos), mas para compensar a deriva do giroscópio na estimativa de orientação. Você também pode usá-los diretamente para estimar sua orientação, mas sua estimativa é perturbada por acelerações dinâmicas.

Jakob
fonte