Simulador de sensores de robô: calibração e fusão
Explore ruído, viés, deriva, quantização, perdas de amostras, filtragem e fusão em um simulador determinístico e interativo de sensores de robô.
- Categoria
- Sensores
- Tempo
- 60–150 min
- Plataforma
- Navegador · Microcontroller
01 / Comece aqui
Introdução
Robôs agem com base em medições atrasadas, enviesadas, ruidosas e incompletas. Este projeto torna essas limitações visíveis. Compare a verdade de referência, as amostras brutas e as estimativas filtradas; altere as condições de amostragem e aprenda como a calibração afeta o controle a jusante sem confundir um modelo educativo com um sensor específico.
Live lab / Deterministic measurement model
Robot sensor simulator
Compare a known signal with noisy absolute readings and a filtered estimate. Change one error source at a time to see what calibration can—and cannot—fix.
The main plot compares solid truth, individual absolute-sensor samples, and the thicker dashed estimate. The lower band shows signed estimation error around zero; gaps mark dropped absolute samples.
- Truth
- —
- Absolute
- —
- Estimate
- —
- Error
- —
- RMSE
- —
- Dropped
- 0
Keyboard: focus the plot, then use Space to run/pause, N to step, R to reset, and F for full screen.
Controles
Escolha um sinal de referência suave ou em degraus e depois ajuste a taxa de amostragem, a quantização, o ruído aleatório, a deriva, o viés, as perdas de amostras e a memória do filtro. Compare os dados brutos com as estimativas de média móvel, passa-baixa, mediana e complementares. As predefinições tornam reproduzíveis os comportamentos ruidosos, enviesados e pouco confiáveis dos sensores.
Teoria
Todo sensor tem faixa de medição, resolução, precisão, largura de banda, latência e modo de falha. A precisão da folha de especificações descreve apenas parte do sistema; montagem, temperatura, ruído da alimentação, interferência eletromagnética e propriedades da superfície frequentemente dominam os resultados reais.
A fusão funciona quando os sensores contribuem com informações complementares e sua incerteza é representada honestamente. Combinar duas medições enviesadas não cria automaticamente uma estimativa verdadeira. Comece com calibração, marcações de tempo, referenciais de coordenadas e verificações de qualidade dos dados.
Algoritmo
- Marque cada amostra no tempo e verifique sua faixa na entrada de aquisição.
- Converta as unidades brutas usando a escala, o deslocamento e o alinhamento dos eixos definidos pela calibração.
- Rejeite saltos impossíveis ou marque-os como inválidos em vez de inventar dados.
- Aplique o filtro mais leve que atenda ao requisito de ruído a jusante.
- Transforme as medições em um referencial de coordenadas comum e funda-as usando a incerteza conhecida.
- Registre valores brutos e processados para que as falhas permaneçam reproduzíveis.
Código-fonte
Um filtro passa-baixa exponencial é útil quando sua constante de tempo é escolhida deliberadamente:
class LowPass:
def __init__(self, alpha):
self.alpha = alpha
self.value = None
def update(self, sample):
if self.value is None:
self.value = sample
else:
self.value += self.alpha * (sample - self.value)
return self.value
Registre a amostra bruta ao lado do resultado filtrado. Caso contrário, um gráfico atraente pode ocultar clipamento, perdas de amostras e erros de calibração.
Premissas e diferenças do hardware
Este laboratório é um modelo educativo de sinal, não a folha de especificações de um sensor específico. O ruído aleatório usa uma semente e segue uma distribuição gaussiana ou uniforme, com um controle que você ajusta; uma IMU ou um sensor ToF real acrescenta viés dependente da temperatura, picos não gaussianos e variação de temporização do barramento que este modelo simplifica. A amostragem é perfeitamente periódica aqui, mas, em um laço de microcontrolador, a temporização e a latência de interrupção tornam as marcações de tempo essenciais — por isso todos os modos de processamento disponíveis nos controles comparam o sinal de referência, as amostras brutas e a estimativa juntas. A filtragem parece atraente em um gráfico, mas cada suavização acrescenta atraso que depois aparecerá como atraso de controle no hardware; essa mesma relação é discutida no tutorial de ruído e filtragem de sensores.
Diagrama do circuito
Confirme a tensão do barramento, os requisitos de pull-up, os endereços e o comprimento máximo do cabo antes de conectar vários sensores.
Experimentos guiados
Os controles deste laboratório existem para permitir que você produza deliberadamente cada falha de sensor e depois veja qual ferramenta a corrige. Fazer isso uma vez vale por muitas horas de leitura.
1. Prove que a filtragem não corrige um viés
Defina o ruído como zero e o viés como um deslocamento evidente. Agora experimente cada filtro por vez — média móvel, passa-baixa e mediana. Nenhum deles move a estimativa em direção ao sinal de referência, porque todos os três atenuam a variação e o viés não varia.
Depois defina o viés como zero e o ruído como alto e veja os mesmos filtros funcionarem bem. Esta é a distinção mais útil no trabalho com sensores: ruído, viés e deriva podem parecer iguais em um gráfico e precisam de três correções diferentes, e mais filtragem nunca cura um viés.
2. Veja uma média espalhar um pico que a mediana rejeita
Ative perdas de amostras ou picos e compare uma média móvel com uma mediana da mesma janela.
| Filtro | O que um valor atípico faz |
|---|---|
| Média móvel de 5 | Desloca a estimativa por cinco amostras consecutivas |
| Mediana de 5 | Não contribui em nada |
O ruído de sensores ultrassônicos e por tempo de voo não é gaussiano — ele se manifesta como valores ocasionais muito fora do normal contra um sinal que, de outro modo, é estável. É exatamente o caso que uma média trata pior.
3. Meça o que o atraso custa
Mude para o sinal de referência em degraus e reduza o alpha do filtro (ou aumente a janela). A estimativa fica mais suave e chega mais tarde. Leia o atraso no gráfico em cada
configuração:
| Configuração do filtro | Atraso típico | A 0,3 m/s, isso equivale a |
|---|---|---|
| Mediana de 3 | ~1 amostra | 3 mm |
| Média móvel de 10 | ~4,5 amostras | 14 mm |
| Passa-baixa, α = 0,1 | ~9 amostras | 27 mm |
| Passa-baixa, α = 0,02 | ~49 amostras | 147 mm |
A última linha produz um traço muito suave e orienta um robô para onde o obstáculo estava há 15 cm. Sempre verifique o atraso nas unidades que importam para o robô, e não em amostras — essa é a maneira mais comum de um filtro bem-intencionado piorar um robô.
4. Veja o que a fusão pode e não pode fazer
Defina uma fonte ruidosa, mas sem viés, e a outra suave, mas com deriva, e veja a estimativa complementar pegar a melhor parte de cada uma. Depois dê o mesmo viés às duas fontes e veja a estimativa fundida herdá-lo exatamente.
A fusão explora erros independentes. Um erro de modo comum sobrevive intacto, e é por isso que a calibração vem antes da fusão, e não depois.
O que observar
| Configuração | Bruto | Melhor filtro | Por quê |
|---|---|---|---|
| Ruído gaussiano, sem viés | Dispersa-se simetricamente | Média móvel ou passa-baixa | O ruído faz média em direção ao sinal de referência |
| Picos ocasionais | Bom na maior parte, com valores atípicos raros | Mediana | Rejeita valores atípicos diretamente |
| Deslocamento constante | Estreito, mas errado | Nenhum — calibre | A filtragem não vê o deslocamento |
| Deriva lenta | Começa certo, se afasta | Nenhum — recalibre ou funda | Precisa de uma referência absoluta |
| Perdas de amostras | Lacunas | Mediana e manter o último valor bom | Um valor inventado é pior que uma lacuna marcada |
| Quantizado | Cai em degraus discretos | Nenhum — esta é sua resolução | Filtrar entre degraus acrescenta atraso, não informação |
Aplicação em hardware
| Neste laboratório | Um sensor real |
|---|---|
| A amostragem é perfeitamente periódica | A temporização do laço e a latência de interrupção tornam as marcações de tempo essenciais |
| O ruído é gerado com uma semente segundo uma distribuição gaussiana ou uniforme | Picos não gaussianos e viés que varia com a temperatura |
| O sinal de referência está disponível para comparação | Você não tem um sinal de referência — é por isso que calibra contra uma entrada conhecida |
| As perdas de amostras são explícitas | Uma perda de amostra pode parecer um valor plausível |
| Um sensor por vez | Vários barramentos, várias taxas e problemas de alinhamento entre eles |
O procedimento prático para um sensor real é curto: mantenha-o imóvel contra uma entrada conhecida, registre alguns milhares de amostras com marcação de tempo e represente tanto a série temporal quanto um histograma. O histograma é a parte que as pessoas pulam e a mais informativa — o ruído gaussiano produz uma curva em sino, enquanto valores atípicos produzem uma curva em sino com alguns pontos distantes nas caudas; esses dois casos exigem filtros diferentes. O método completo está em ruído, viés e filtragem de sensores.
Lista de verificação de hardware
Componentes
- Microcontrolador ou computador de placa única
- Um ou mais sensores digitais ou analógicos
- Referências conhecidas para calibração
- Alimentação regulada e estável e níveis lógicos corretos
- Conexão para registrar experimentos repetíveis
Explore o grafo
Onde este simulador é usado
Os projetos, caminhos de aprendizagem e tutoriais que se apoiam neste laboratório.
Continue construindo
Baixar recursos
Use estas referências da página enquanto trabalha no projeto. Pacotes de projeto para download serão adicionados somente depois que seu código-fonte e sua versão forem publicados.
Dúvidas comuns
Perguntas frequentes
Um sinal mais suave é sempre um sinal melhor?
Não. Uma filtragem forte pode remover movimento útil e introduzir atraso. Escolha um filtro com base no espectro do ruído, no tempo de resposta necessário e nas decisões que consomem a medição.
Qual é a diferença entre viés e ruído?
O viés é um deslocamento repetível em relação ao valor verdadeiro, enquanto o ruído varia entre amostras. A calibração pode estimar o viés; a média ou a filtragem podem reduzir o ruído aleatório, mas não removem de forma confiável um viés desconhecido.
O que é deriva do sensor e como ela difere do viés?
O viés é um deslocamento fixo que você pode medir uma vez e subtrair. A deriva é uma mudança lenta desse deslocamento ao longo do tempo, normalmente com a temperatura ou o envelhecimento dos componentes, portanto uma calibração feita na inicialização deixa de corresponder gradualmente à realidade. A deriva é o motivo pelo qual execuções longas precisam de recalibração periódica ou de uma referência que permita ao estimador corrigir seus valores.
Qual filtro devo usar: média móvel, passa-baixa ou mediana?
A média móvel e o filtro passa-baixa exponencial suavizam ruído com aparência gaussiana, trocando resposta por suavidade por meio de sua janela ou constante de tempo. O filtro de mediana é melhor para remover picos e perdas de amostras ocasionais, porque poucas amostras ruins não deslocam o valor central. Escolha o filtro mais leve que atenda ao requisito a jusante, e não o que tem aparência mais suave.
Quanto atraso a filtragem acrescenta?
Todo filtro de suavização atrasa o sinal de referência, e mais suavização significa mais atraso: um filtro passa-baixa com uma constante de tempo longa rejeita mais ruído, mas fica ainda mais atrás de mudanças rápidas. Sempre represente a estimativa filtrada junto das amostras brutas e do sinal de referência, para que o atraso fique visível antes de você depender dele em um laço de controle.
O que é fusão de sensores e quando ela realmente ajuda?
A fusão combina vários sensores em uma única estimativa e só ajuda quando eles contribuem com informações complementares e sua incerteza é representada honestamente. Combinar duas medições enviesadas não cria uma estimativa verdadeira. Um filtro complementar, por exemplo, confia em um sensor em altas frequências e em outro em baixas frequências; comece com calibração, marcações de tempo e referenciais de coordenadas antes de fundir.
Por que toda amostra deve ser marcada no tempo?
As amostras raramente chegam em intervalos perfeitamente fixos, e fusão e filtragem supõem que você saiba quando cada valor foi medido. As marcações de tempo permitem detectar variação de temporização, alinhar dados de sensores diferentes e rejeitar leituras antigas. Registrar valores brutos ao lado dos processados mantém falhas como clipamento, perdas de amostras e erros de calibração reproduzíveis.
Leitura complementar
Referências
Fontes confiáveis para ir além do modelo educacional limitado deste simulador.