Tutorial · Iniciante · 18 min de leitura
Sensores ultrassônicos x sensores de tempo de voo para robôs
Compare sensores ultrassônicos e de tempo de voo e aprenda a montá-los, calibrá-los e filtrar suas leituras para um desvio de obstáculos confiável.
Um sensor de distância oferece ao robô algo que um para-choque não oferece: tempo para reagir antes do contato. Ele não substitui o para-choque — um interruptor de contato detecta a perna preta da cadeira, o vidro e o obstáculo na altura errada que todo sensor de distância deixa passar. Duas opções econômicas comuns são o sonar ultrassônico e o sensor óptico de tempo de voo (ToF). Ambos informam distância, mas interagem de maneiras diferentes com as superfícies. Escolher apenas pela distância máxima anunciada produz um desvio de obstáculos frágil.
A pergunta útil é: qual sensor fornece medições válidas para os alvos, a iluminação, a geometria, a taxa de atualização e a distância de parada deste robô?
Entenda como cada sensor mede
Um sensor ultrassônico emite uma rajada de som acima da faixa audível humana e mede o tempo do eco. A distância é aproximadamente metade do tempo de percurso de ida e volta, multiplicada pela velocidade do som. A divisão por dois considera a viagem até o alvo e o retorno.
Um sensor óptico de tempo de voo emite luz infravermelha modulada e estima a distância a partir do sinal que retorna. Dispositivos como a família VL53 realizam internamente a medição do tempo e o processamento do sinal e normalmente expõem os resultados por I²C.
Seus modos de falha são diferentes:
- O som pode refletir para longe de alvos inclinados, macios, estreitos ou que absorvem bem o som.
- Vários sensores ultrassônicos podem ouvir os pulsos uns dos outros, a menos que sejam disparados em uma sequência controlada.
- Sensores ópticos podem ter dificuldade com alvos de baixa reflectância, forte infravermelho ambiente, interferência causada pela janela de proteção ou alvos fora do campo de visão.
- Nenhum dos dois tipos sabe automaticamente se um resultado é confiável; use os dados de status e de qualidade do sinal quando disponíveis.
Escolha com base na cena e no laço de controle
Módulos ultrassônicos são úteis quando o custo importa, os alvos são razoavelmente largos e um feixe acústico mais largo é aceitável. Eles podem detectar objetos transparentes que dificultam alguns métodos ópticos. O feixe também pode informar uma parede próxima que não está diretamente à frente do robô.
Módulos ToF são compactos, permitem controlar o momento da medição em muitos dispositivos e podem fornecer uma região de interesse mais estreita. Vários sensores I²C idênticos podem exigir pinos de desativação ou uma sequência de atribuição de endereços. A luz solar forte e as superfícies escuras devem ser testadas na plataforma real.
Antes de comprar o equipamento, escreva quatro requisitos:
- Distância mínima e máxima útil.
- Período de atualização necessário.
- Menor obstáculo que precisa ser detectado.
- Pior alvo e ambiente: tecido preto, vidro, parede inclinada, luz do sol ou tráfego cruzado.
Depois compare esses requisitos com o datasheet do fabricante, não com um resumo de anúncios.
Monte o sensor para a medição necessária
Coloque o eixo de medição onde o robô precisa de informações sobre a distância livre, e não apenas onde um suporte encaixa. Um sensor alto no chassi pode perder obstáculos baixos; um sensor baixo demais pode detectar reflexos do piso ou componentes das rodas. Mantenha o para-choque e o chassi fora do campo de visão.
Para o desvio de obstáculos reativo, medições na frente à esquerda, no centro e na frente à direita são mais informativas do que um único feixe para a frente. Entretanto, três sensores não precisam disparar simultaneamente. Programe os pings ultrassônicos separadamente e deixe tempo suficiente para os ecos se dissiparem.
Uma montagem rígida é importante. Vibrações alteram a orientação do eixo, e o movimento do cabo pode corromper conexões instáveis. Se um sensor óptico estiver atrás de uma janela protetora, siga o procedimento de calibração de interferência cruzada do fabricante para essa combinação mecânica exata.
Calibre o viés de medição e teste a repetibilidade
Coloque um alvo grande e plano perpendicular ao sensor, em várias distâncias medidas com precisão ao longo da faixa de trabalho. Faça pelo menos 50 leituras em cada ponto. Registre:
- distância média ou mediana informada;
- dispersão, como mínimo/máximo ou desvio padrão;
- contagem de status inválido;
- condições ambientais e material do alvo.
Uma diferença quase constante é um viés de medição e pode ser corrigida depois de entender sua causa. Um erro que muda com a distância precisa de um modelo melhor ou de uma faixa confiável mais estreita. Não aplique uma curva complexa a um suporte frouxo ou a uma alimentação ruim.
Para um módulo ToF, execute a calibração de viés especificada antes da calibração de interferência cruzada. Guarde os dados de calibração e carregue-os na inicialização, se a API do dispositivo exigir. Recalibre depois de trocar a janela de proteção ou alterar a geometria da montagem.
Filtre leituras inválidas antes de suavizar
Trate um tempo limite, um código fora da faixa ou um status de baixa qualidade como inválido — não como zero centímetros. Zero pode comandar uma parada de emergência; portanto, transformar erros de comunicação em zero cria um comportamento inseguro.
A mediana das três ou cinco últimas amostras válidas rejeita picos isolados sem incorporá-los ao sinal de controle:
if (measurement.valid) {
window.push(measurement.distanceMm);
if (window.size() > 5) window.popOldest();
filteredDistance = median(window);
}
Um filtro passa-baixa deixa a exibição mais suave, mas acrescenta atraso. O tutorial de filtragem de sensores explica essa troca. Mantenha o valor bruto e o status de validade nos registros para que a filtragem não esconda um sensor com defeito.
Transforme a distância em uma regra segura de parada
O desvio de obstáculos deve considerar o movimento. Um limiar útil inclui a distância de frenagem, o atraso da medição, o atraso de computação e atuador e uma margem:
stopThreshold = speed² / (2 × deceleration) + speed × delay + margin
Meça a desaceleração alcançável na superfície real, em vez de assumir um valor — o limite de aderência é µg, e não algo que os motores decidam; a conta completa está aqui. Em velocidades maiores, o termo de frenagem cresce com o quadrado da velocidade, portanto um limiar fixo de 15 cm não é igualmente seguro para todos os comandos.
Use histerese para evitar oscilação: entre no estado parado abaixo de um limiar e retome somente acima de um limiar maior. Exija um pequeno número de leituras válidas consistentes para o comando de direção normal, mas mantenha uma resposta intencionalmente conservadora diante de um obstáculo próximo e plausível.
Valide alvos difíceis
Monte uma matriz de testes com uma parede plana, uma parede inclinada, um poste estreito, tecido escuro, um painel transparente e um obstáculo em movimento. Teste perto da distância mínima, perto do limiar de parada pretendido e perto da distância máxima de funcionamento. Repita sob iluminação interna e sob luz do sol, se o robô verá as duas condições.
Meça a taxa de detecção e a latência, não apenas a distância média. Um sensor preciso em 90% das medições, mas que congela periodicamente por meio segundo, pode ser inaceitável para um robô rápido.
Diagnose as falhas comuns
- Viés constante em todas as distâncias: verifique o ponto de referência físico e aplique a calibração do fabricante.
- Leituras ultrassônicas curtas e aleatórias: procure interferência cruzada, ruído elétrico ou ecos atrasados de estruturas próximas.
- As leituras ToF pioram atrás de uma janela: faça as calibrações de viés e de interferência cruzada para o material da janela de proteção.
- O robô oscila perto de uma parede: acrescente histerese e reduza o atraso do filtro antes de reajustar o comando de direção.
- O sensor detecta paredes, mas perde pernas de cadeira: a geometria do feixe e a montagem não abrangem o alvo que precisa ser detectado.
- O robô para tarde demais apenas em alta velocidade: a lógica do limiar ignora a distância de frenagem e a latência.
Use o simulador de desvio de obstáculos para experimentar com alcance, campo de visão, comandos de direção e distância de parada antes de transferir os limiares para a implementação real.
Explore o grafo
Faz parte destas montagens
Projetos e caminhos de aprendizagem que incluem este tutorial.
Leitura complementar