Índice:

Robô seguidor de linha para algoritmos de controle de ensino: 3 etapas
Robô seguidor de linha para algoritmos de controle de ensino: 3 etapas

Vídeo: Robô seguidor de linha para algoritmos de controle de ensino: 3 etapas

Vídeo: Robô seguidor de linha para algoritmos de controle de ensino: 3 etapas
Vídeo: Como fazer um ROBÔ que DIRIGE SOZINHO 2024, Julho
Anonim
Image
Image
Robô seguidor de linha para algoritmos de controle de ensino
Robô seguidor de linha para algoritmos de controle de ensino
Robô seguidor de linha para algoritmos de controle de ensino
Robô seguidor de linha para algoritmos de controle de ensino

Projetei este robô seguidor de linha há alguns anos, quando era professor de robótica. O objetivo deste projeto foi ensinar meus alunos a codificar uma linha seguindo um robô para uma competição e também comparar entre If / Else e controle PID. E não menos importante, como a mecânica e o comprimento do robô afetam esses algoritmos de controle. O objetivo era torná-lo mais rápido e confiável.

Fiz para ser programado com o IDE Arduino, mas também é possível usar o IDE de desenvolvimento de sua preferência. Tem um PIC32 poderoso com um bootloader USB, então você não precisa de um programador. Ele também tem um botão liga / desliga, uma reinicialização e um botão iniciar / programar. Os LEDs são conectados ao sinal PWM do motor, para que você possa ver a potência que está aplicando facilmente.

O robô é totalmente modular para experimentação e fácil de consertar em caso de acidente. Isso torna este robô a ferramenta perfeita para aprender programação de uma forma muito divertida. Meus alunos o usaram por um longo período e aprenderam algo novo a cada vez, até mesmo o controle PID. Sem falar que a barra sensora usa um algoritmo para retornar um inteiro, valor negativo que o robô está à esquerda, positivo à direita e zero está no centro da linha.

Suprimentos

2x motoredutores de micro metal 6V com suportes estendidos (qualquer relação de engrenagem está ok, os meus são 10: 1)

1x placa de sensor de linha

1x unidade de controle principal

1x 20 via fio plano, espaçamento de 1 mm. O meu tem 20 cm de comprimento.

1x ligante de acrílico (corte em acrílico transparente de 3 mm)

1x esfera de rodízio 1/8 (o meu é de metal)

2x roda de borracha, 3 cm de diâmetro.

1 bateria Lipo. Você pode alimentar o robô em até 10 V, mas lembre-se de que os motores são classificados para 6 V.

Alguns parafusos M2 e porcas para unir tudo.

Se você deseja fazer seu próprio, os arquivos de design, esquemas e tudo para construí-lo estão anexados na próxima etapa.

Etapa 1: O Hardware

O Hardware
O Hardware
O Hardware
O Hardware
O Hardware
O Hardware
O Hardware
O Hardware

Como você pode ver nas fotos todos os componentes são SMD, é a oportunidade perfeita para praticar suas habilidades de soldagem. Este robô foi soldado por 3 dos meus alunos, então você pode fazer isso sem problemas. Todos os arquivos de design estão anexados, você pode ver os arquivos com EAGLE. Gerbers também estão incluídos se você quiser placas de seu fabricante de PCB favorito.

As duas placas são unidas por uma peça de acrílico, o padrão de corte a laser também está incluído. Usei parafusos e porcas M2 para mantê-lo no lugar. O lançador da bola também é colocado aqui. E se você bater o robô, o acrílico irá quebrar e proteger as placas de danos, ideal para teste! O fio plano é usado para fazer a conexão entre a CPU e a placa do sensor. Os motores são facilmente conectados com fios à placa da CPU.

Nota: o PIC usa um firmware personalizado, é uma versão modificada do firmware original DP32. Você pode obter o firmware aqui. Uma conexão ICSP está incluída na parte inferior da placa da CPU.

Etapa 2: o software

O software
O software
O software
O software

Eu recomendo usar o Arduino IDE para programar o robô. Como falei antes esse seguidor de linha é baseado no PIC32MX250 e o torna compatível com o chipKIT DP32. Você só precisa instalar o pacote chipKIT no gerenciador de pacotes no IDE do Arduino e está pronto para começar. Além disso, você pode programá-lo no MPLAB ou no IDE que desejar, mas pode aprender a base no Arduino.

O resto é como programar qualquer outra placa Arduino. Conecte o robô ao seu computador com um cabo micro USB e pressione o botão do programa imediatamente após pressionar reset. Em seguida, envie o esboço com o botão de upload no IDE.

Eu incluí 3 esboços neste tutorial. O primeiro testa a matriz do sensor, o segundo é um seguidor de linha If / Else e o último é um seguidor de linha PID. Tudo já está funcionando, porém você precisará ajustar alguns valores se alterar o design. E também fique à vontade para fazer o seu! Existem maneiras melhores de fazer o algoritmo do seguidor de linha, a experimentação é a chave do sucesso.

Etapa 3: experimentando

Experimentando
Experimentando
Experimentando
Experimentando
Experimentando
Experimentando

Esta é realmente a parte mais importante, você deve tentar todas as possibilidades e encontrar aquela que funciona para você.

Sinta-se à vontade para experimentar rodas e materiais de diferentes diâmetros. Mude o comprimento do robô modificando a junta de acrílico. Use outra bateria, mesmo com uma voltagem diferente. Também pode ser menor ou maior. Talvez outra relação de engrenagem para os motores.

Modifique o software para usar menos sensores ou mesmo tente outros algoritmos, você pode se surpreender com o quanto o desempenho pode mudar. Ou por que não, se você é um usuário avançado faça isso com o MPLAB.

O céu é o limite!

Como dica adicional… Ajustar os ganhos do PID é uma jornada fascinante em que você pode aprender os efeitos no robô ao seguir a linha com diferentes valores de Kp, Kd e Ki. Horas e horas de aprendizado garantidas !!! As crianças não perceberão que estão realmente usando a matemática para realizar todas as tarefas exigidas.

Espero que gostem deste instrutivo, se precisar de algo pergunte-me nos comentários. Obrigado pela leitura:)

Recomendado: