Índice:

Faça você mesmo o robô seguindo a parede: 9 etapas
Faça você mesmo o robô seguindo a parede: 9 etapas
Anonim
DIY Parede Seguindo Robô
DIY Parede Seguindo Robô

Neste Instrutível, explicaremos como projetar um sistema de detecção e prevenção de obstáculos usando um GreenPAK ™ junto com alguns sensores ultrassônicos e infravermelhos (IR) externos. Este projeto irá apresentar alguns tópicos que são necessários para sistemas robóticos autônomos e artificialmente inteligentes.

Abaixo, descrevemos as etapas necessárias para entender como a solução foi programada para criar um robô seguindo a parede. No entanto, se você deseja apenas obter o resultado da programação, baixe o software GreenPAK para visualizar o arquivo de design GreenPAK já concluído. Conecte o GreenPAK Development Kit ao seu computador e acesse o programa para criar a parede seguindo o robô.

Etapa 1: Declaração do Problema

Recentemente, houve um interesse renovado pela inteligência artificial, e muito desse interesse é direcionado a máquinas totalmente autônomas e inteligentes. Esses robôs podem minimizar a responsabilidade humana e estender a automação a campos como serviços civis e defesa. Os pesquisadores de IA estão tentando automatizar serviços como combate a incêndios, assistência médica, gerenciamento de desastres e tarefas de salvamento por meio de veículos robóticos autônomos. Um desafio que esses veículos devem superar é como detectar e evitar obstáculos como entulho, fogo, armadilhas, etc.

Etapa 2: detalhes de implementação

Detalhes de Implementação
Detalhes de Implementação

Neste Instructable, estaremos usando um sensor ultrassônico, um par de sensores de detecção de obstáculo IR, um circuito acionador de motor (L298N), quatro motores DC, rodas, um esqueleto de carro com tração nas 4 rodas e um chip GreenPAK SLG46620V.

Um pino de saída digital do controlador GreenPAK é usado para acionar o sensor ultrassônico (também conhecido como sonar) e um pino de entrada digital é usado para coletar o eco resultante dos obstáculos à frente para análise. A saída do sensor de detecção de obstáculo IR também é observada. Depois de aplicar um conjunto de condições, se um obstáculo estiver muito próximo, os motores (ligados a cada uma das 4 rodas) são ajustados para evitar a colisão.

Etapa 3: Explicação

O robô autônomo para evitar obstáculos deve ser capaz de detectar obstáculos e evitar colisões. O projeto de tal robô requer a integração de diferentes sensores, como sensores de colisão, sensores infravermelhos, sensores ultrassônicos, etc. Ao montar esses sensores no robô, ele pode obter informações sobre a área circundante. Um sensor ultrassônico é adequado para detecção de obstáculos para um robô autônomo de movimento lento, pois tem um custo baixo e um alcance relativamente alto.

Um sensor ultrassônico detecta objetos emitindo uma curta explosão ultrassônica e, em seguida, ouvindo o eco. Sob o controle de um microcontrolador host, o sensor emite um pulso curto de 40 kHz. Este pulso viaja pelo ar até atingir um objeto e então é refletido de volta para o sensor. O sensor fornece um sinal de saída ao host que termina quando o eco é detectado. Dessa forma, a largura do pulso retornado é usada para calcular a distância até o objeto.

Este veículo robótico para evitar obstáculos usa um sensor ultrassônico para detectar objetos em seu caminho. Os motores são conectados por meio de um driver de motor IC ao GreenPAK. O sensor ultrassônico é conectado à frente do robô e os dois sensores de detecção de obstáculo IR são fixados nos lados esquerdo e direito do robô para detectar obstáculos laterais.

Conforme o robô se move no caminho desejado, o sensor ultrassônico transmite continuamente ondas ultrassônicas. Sempre que um obstáculo está na frente do robô, as ondas ultrassônicas são refletidas de volta do obstáculo e essa informação é passada para o GreenPAK. Simultaneamente, os sensores IR estão emitindo e recebendo ondas IR. Depois de interpretar as entradas dos sensores ultrassônicos e infravermelhos, o GreenPAK controla os motores de cada uma das quatro rodas.

Etapa 4: descrição do algoritmo

Descrição do Algoritmo
Descrição do Algoritmo

Na inicialização, os quatro motores são ligados simultaneamente, fazendo com que o robô avance. Em seguida, o sensor ultrassônico envia pulsos da frente do robô em intervalos regulares. Se houver um obstáculo, os pulsos sonoros são refletidos e detectados pelo sensor. A reflexão dos pulsos depende do estado físico do obstáculo: se for de forma irregular, os pulsos refletidos serão menores; se for uniforme, a maioria dos pulsos transmitidos serão refletidos. O reflexo também depende da direção do obstáculo. Se estiver ligeiramente inclinado ou colocado em paralelo com o sensor, a maioria das ondas sonoras passará sem ser refletida.

Quando um obstáculo é detectado na frente do robô, as saídas laterais dos sensores IR são observadas. Se for detectado um obstáculo no lado direito, os pneus do lado esquerdo do robô são desabilitados, fazendo com que ele gire para a esquerda e vice-versa. Se um obstáculo não for detectado, o algoritmo é repetido. O diagrama de fluxo é mostrado na Figura 2.

Etapa 5: Sensor Ultrassônico HC-SR04

Sensor Ultrassônico HC-SR04
Sensor Ultrassônico HC-SR04
Sensor Ultrassônico HC-SR04
Sensor Ultrassônico HC-SR04
Sensor Ultrassônico HC-SR04
Sensor Ultrassônico HC-SR04
Sensor Ultrassônico HC-SR04
Sensor Ultrassônico HC-SR04

Um sensor ultrassônico é um dispositivo que pode medir a distância de um objeto usando ondas sonoras. Ele mede a distância enviando uma onda sonora em uma frequência específica e ouvindo se a onda sonora retorna. Ao registrar o tempo decorrido entre a onda sonora sendo gerada e a onda sonora retornando, é possível calcular a distância entre o sensor de sonar e o objeto. O som viaja pelo ar a cerca de 344 m / s (1129 pés / s), então você pode calcular a distância até o objeto usando a Fórmula 1.

O sensor ultrassônico HC-SR04 consiste em quatro pinos: Vdd, GND, Trigger e Echo. Sempre que um pulso do controlador é aplicado ao pino de acionamento, o sensor emite uma onda de ultrassom de um "alto-falante". As ondas refletidas são detectadas pelo “receptor” e transmitidas de volta ao controlador por meio do pino Echo. Quanto maior a distância entre o sensor e um obstáculo, maior será o pulso no pino de eco. O pulso permanece ativado pelo tempo que leva para o pulso do sonar viajar do sensor e retornar, dividido por dois. Quando o sonar é acionado, um cronômetro interno é iniciado e continua até que a onda refletida seja detectada. Este tempo é dividido por dois porque o tempo real que a onda sonora levou para alcançar o obstáculo foi a metade do tempo que o cronômetro estava ligado.

A operação do sensor ultrassônico é ilustrada na Figura 4.

Para gerar o pulso ultrassônico, você precisa definir o acionador para um estado ALTO por 10 μs. Isso enviará uma explosão sônica de 8 ciclos, que refletirá em qualquer obstáculo na frente do dispositivo e será recebida pelo sensor. O pino Echo produzirá o tempo (em microssegundos) que a onda de som viajou.

Etapa 6: Módulo sensor infravermelho de detecção de obstáculos

Módulo sensor infravermelho de detecção de obstáculos
Módulo sensor infravermelho de detecção de obstáculos

Como o sensor de ultrassom, o conceito básico de detecção de obstáculo infravermelho (IR) é transmitir um sinal IR (na forma de radiação) e observar seu reflexo. O módulo do sensor IR é mostrado na Figura 6.

Recursos

  • Há uma luz indicadora de obstáculo na placa de circuito
  • Sinal de saída digital
  • Distância de detecção: 2 ~ 30 cm
  • Ângulo de detecção: 35 °
  • Chip comparador: LM393
  • Faixa de distância de detecção ajustável via potenciômetro:

○ Sentido horário: aumenta a distância de detecção

○ Sentido anti-horário: Reduza a distância de detecção

Especificações

  • Tensão de trabalho: 3 - 5 V DC
  • Tipo de saída: saída de comutação digital (0 e 1)
  • Orifícios para parafusos de 3 mm para fácil montagem
  • Tamanho da placa: 3,2 x 1,4 cm

Descrição do indicador de controle descrita na Tabela 1.

Etapa 7: Circuito Motorista L298N

Circuito do driver do motor L298N
Circuito do driver do motor L298N
Circuito do driver do motor L298N
Circuito do driver do motor L298N
Circuito do driver do motor L298N
Circuito do driver do motor L298N

O circuito do driver do motor, ou H-Bridge, é usado para controlar a velocidade e a direção dos motores CC. Ele tem duas entradas que devem ser conectadas a uma fonte de alimentação CC separada (os motores consomem muita corrente e não podem ser fornecidos diretamente do controlador), dois conjuntos de saídas para cada motor (positivo e negativo), dois pinos de habilitação para cada conjunto de saídas e dois conjuntos de pinos para o controle de direção de cada saída do motor (dois pinos para cada motor). Se os dois pinos mais à esquerda receberem níveis lógicos ALTO para um pino e BAIXO para o outro, o motor conectado à saída esquerda girará em uma direção, e se a sequência da lógica for invertida (BAIXO e ALTO), os motores irão girar na direcção oposta. O mesmo se aplica aos pinos mais à direita e ao motor de saída direito. Se ambos os pinos do par tiverem níveis lógicos ALTO ou BAIXO, os motores irão parar.

Este driver de motor bidirecional duplo é baseado no muito popular CI de driver de motor L298 Dual H-Bridge. Este módulo permite controlar de forma fácil e independente dois motores em ambas as direções. Ele usa os sinais lógicos padrão para controle e pode acionar motores de passo de duas fases, motores de passo de quatro fases e motores de CC de duas fases. Possui um capacitor de filtro e um diodo de giro livre que protege os dispositivos do circuito de serem danificados pela corrente reversa de uma carga indutiva, aumentando a confiabilidade. O L298 tem uma tensão de driver de 5-35 V e um nível lógico de 5 V.

A função do driver do motor é descrita na Tabela 2.

O diagrama de blocos mostrando as conexões entre o sensor ultrassônico, o driver do motor e o chip GPAK é mostrado na Figura 8.

Etapa 8: Projeto GreenPAK

Design GreenPAK
Design GreenPAK
Design GreenPAK
Design GreenPAK

Na Matriz 0, a entrada de disparo para o sensor foi gerada usando CNT0 / DLY0, CNT5 / DLY5, INV0 e o oscilador. A entrada do pino Echo do sensor ultrassônico é lida usando o Pin3. Três entradas são aplicadas em LUT0 de 3 bits: uma do Echo, outra do Trigger e uma terceira que é a entrada do Trigger com atraso de 30 us. A saída desta tabela de consulta é usada na Matriz 1. A saída dos sensores IR também é obtida na Matriz 0.

Na Matriz 1, as portas P1 e P6 são OU juntas e conectadas ao Pin17, que está conectado ao Pin1 do driver do motor. O Pin18 está sempre em uma lógica LOW e está conectado ao Pin2 do driver do motor. Da mesma forma, as portas P2 e P7 estão juntas em OU e conectadas ao Pin20 do GreenPAK, que está conectado a P3 do circuito acionador do motor. O Pin19 está conectado ao Pin4 do driver do motor e está sempre na lógica LOW.

Quando o pino Echo está ALTO, significa que um objeto está na frente do robô. O robô então verifica se há obstáculos à esquerda e à direita nos sensores de infravermelho. Se um obstáculo também estiver presente no lado direito do robô, ele vira para a esquerda e, se houver um obstáculo no lado esquerdo, ele vira para a direita. Dessa forma, o robô evita obstáculos e se move sem colisão.

Conclusão

Neste Instructable, criamos um veículo de detecção e evitação automática de obstáculos usando o GreenPAK SLG46620V como o principal elemento de controle. Com alguns circuitos extras, este projeto pode ser aprimorado para realizar outras tarefas, como encontrar um caminho para um ponto específico, um algoritmo de solução de labirinto, um algoritmo de seguimento de linha, etc.

Etapa 9: Imagens de Hardware

Recomendado: