Oi Geektimes!
Entrada
Todos sabemos há muito tempo que os robôs são o nosso futuro. Existem muitas áreas da robótica. Desenvolvimentos militares, sociais, divertidos e apenas robôs de trabalho.
Mas desta vez quero falar em nome da equipe da faculdade no MIREA sobre o componente competitivo e exatamente sobre os robôs dos lutadores de sumô.
Um pouco sobre nossa equipe
Nós existimos desde 2014. Os vencedores e vencedores da maioria das competições são Robofinist, Robofest, MIPT Spartakiad e torneios menores, e também somos campeões absolutos da Rússia para 2016-2017 na nomeação de mini-sumô.
Quem são esses robôs de sumô?
Inicialmente, quando soubemos sobre essas competições, os lutadores de sumô eram feitos principalmente de lego. Mas essa é uma péssima idéia, mais sobre isso depois.
No momento, o sumô correto é descrito de maneira muito simples: um pedaço de ferro completamente autônomo sobre rodas, com cérebros e um par de sensores, que retira um pedaço de ferro semelhante do ringue.
Existem 4 tipos deles:
1. Mega-Sumoísta
2. Mini Sumoist
3. Micro-Sumoísta
4. Nano-Sumoísta
Todos diferem não apenas externamente, mas também internamente.
Mega são os maiores e mais perigosos robôs. Peso máximo de até 3 kg, a capacidade de colocar várias "ventosas", o que não é permitido com outros robôs.
Robôs pequenos e agradáveis, pequenos, de até 500 gramas, 10 por 10 cm, não difíceis de soldar, fáceis de instalar e montar. Eles são a indicação mais popular no sumô.
Miniaturas micro e nano - mini. Micro 5 por 5 por 5, nano 2,5 por 2,5 por 2,5. É difícil soldar e captar os detalhes. Mais popular que o mega sumô.
Nesta página, você pode ler as regras da competição com mais detalhes. (adicionado)
Qual é a essência do robo sumo?
O objetivo principal: empurrar o inimigo além dos limites de um polígono redondo. Quem primeiro toca em qualquer objeto fora dele perde. Parece que o difícil é simplesmente empurrar o inimigo para fora? E a dificuldade é que os robôs são completamente autônomos e cada vez mais novas estratégias estão surgindo, cada vez mais difíceis de lidar.
Vídeo com nossos robôs (adicionado):
Robofest 2016 (robô com raio, robô com bandeira de pirata, robô baixo preto sólido, robô alto preto sem foto)
Piquenique Robo 2017 (apenas nossos robôs, exceto um robô retangular com sensores de som)
Sem participação:
Robotex 2016Campeonato Letão de Robótica 2017Competição de Robôs RoboChallenge 2016Uma pequena visão geral das táticas de busca inimigas.Do que eles são feitos?
Vamos voltar ao lego. Muito provavelmente, muitos de vocês tentaram fazer algo com um construtor Lego programável, ou pelo menos já viram como fazê-lo. Existe até uma nomeação separada para esses robôs de 15 por 15, mas terrivelmente chata e adequada apenas para iniciantes ou pequenas robótica. Em comparação com amostras caseiras, essa perde em tudo, exceto na complexidade da montagem.
O primeiro é a baixa velocidade. Em segundo lugar, tamanhos enormes. Em terceiro lugar, a baixa velocidade de resposta dos sensores. E também o próprio controlador deixa muito a desejar.
Detalhes sobre montagem e montagem
Os lutadores de sumô que compõem a competição estão fazendo arduino. Eles usam placas textolite, sensores de solda, um controlador, um driver para ele, etc. Há também uma ampla seleção de sensores para detectar um inimigo, mas os infravermelhos ou a laser devem ser usados, porque sonares são muito lentos e volumosos. Obviamente, são necessários motores e rodas para que o robô possa se mover. Você pode colocá-los em um número ilimitado, mas a prática mostra que o robô funciona melhor em duas rodas localizadas na parte traseira. E, é claro, um robô não pode viver sem um balde e um gancho. O balde é apenas um estojo, um invólucro e proteção para a prancha e elementos. Na maioria das vezes, aço ou ferro. Os reboques são feitos de lâminas para facas de papelaria, mas existem amostras com uma abordagem não padronizada, por exemplo, uma régua de madeira afiada ou algodão, mas há pouco uso para essa abordagem.
O mais difícil (além da programação) de projetar um robô.Mas especialmente para aqueles que querem participar, mas ainda não sabem por onde começar, estamos prontos para compartilhar o rastreio do robô, que é um vencedor do prêmio do Spartakiad MIPT 2016.
PS Feito no
SprintLayoutIsso é chamado de primeiro estágio - a colocação de motores e sensores. Você também pode observar aqui dois pequenos sensores na frente da pick-up, então esses são os sensores de linha.
Eles são usados para detectar uma faixa branca no aterro, para evitar cair acidentalmente fora do ringue, mas não são um componente obrigatório e, de fato, não são usados com muita frequência. As altas velocidades geralmente não permitem que você pare a tempo.
E aqui o controlador, driver, interruptores e conector da bateria já estão aplicados.
Resta apenas imprimir o rastreio e transferi-lo para o PCB e depois rastrear as faixas.
Aqui está o que parece em uma placa pronta:
Pronto para lançar o robô:

Como você pode ver, não há nada particularmente complicado aqui. Sobre os problemas abaixo.
Vamos para a programação
A maneira mais fácil é usar os controladores compatíveis com o arduino ou arduino. Além disso, o Arduino IDE nos ajuda. De acordo com o esquema padrão, o robô possui 5 sensores. Portanto, os estados podem ser
Excluímos a situação em que os sensores laterais veem simultaneamente o inimigo (porque isso não pode acontecer e, se ocorrer, ocorre um mau funcionamento em um dos sensores), bem como uma situação em que o lado e os dois sensores frontais dão 0 (ou seja, veja), porque isso também não pode ser, ou a chance é muito pequena.
Para fazê-lo ir para o inimigo, basta instalar os pinos, aplicar tensão nos motores e ler as leituras do sensor:
Código do robô// int pin_left=10; int pin_center_left=11; int pin_center_right=4; int pin_center=12; int pin_right=7; // int pin_motor_left_forward=9; int pin_motor_left_back=6; int pin_motor_right_forward=3; int pin_motor_right_back=5; // int cl,cc,cr,l,r; // void GLAZ() { cl = digitalRead(pin_center_left); cc = digitalRead(pin_center); cr = digitalRead(pin_center_right); l = digitalRead(pin_left); r = digitalRead(pin_right); } // , 0 255 void MOVE( int a, int b ) { if(a<0) { digitalWrite(pin_motor_left_forward,LOW); analogWrite(pin_motor_left_back,0-a); } else { analogWrite(pin_motor_left_forward,a); digitalWrite(pin_motor_left_back,LOW); } if(b<0) { digitalWrite(pin_motor_right_forward,LOW); analogWrite(pin_motor_right_back,0-b); } else { digitalWrite(pin_motor_right_back,LOW); analogWrite(pin_motor_right_forward,b); } } void setup() { pinMode (pin_center,INPUT);// pinMode (pin_right, INPUT);// pinMode (pin_left,INPUT);// pinMode (pin_center_right, INPUT);// pinMode (pin_center_left,INPUT);// pinMode (pin_line_left, INPUT); pinMode (pin_line_right, INPUT); pinMode (pin_start,INPUT);// pinMode (13,OUTPUT);// digitalWrite(13,HIGH); pinMode (pin_motor_left_back, OUTPUT);// pinMode (pin_motor_right_forward, OUTPUT);// pinMode (pin_motor_right_back, OUTPUT);// pinMode (pin_motor_left_forward,OUTPUT);// // while(!digitalRead(pin_start))continue; MOVE(200,200); } void loop() { GLAZ(); if(l && r) { if( (cl + cc + cr) < 2 || !cc ){ MOVE(255,255); } if( cc ) { if(!cl && cr) MOVE(0-180,180); if(cl && !cr) MOVE(180,0-180); } } else if( cc + cr + cl == 3 ) { if(!l && r) MOVE(0-200,200); if(!r && l) MOVE(200,0-200); } else if(cc) { if(!l && !cl && cr && r) MOVE(0-150,150); if(l && cl && !cr && !r) MOVE(150,0-150); } if(!digitalRead(pin_start))while(1){MOVE(0,0);} }
Você apenas precisa melhorar o código.
Importante!Os sensores retornam 1 se não virem nada e 0 se houver um obstáculo.
Depois de baixar o código via usb, o robô está pronto para competir.
Vale a pena considerar
Em primeiro lugar, esses são os elementos. Os sensores que usamos (sharp 340) são raros ou não são. Portanto, se possível, você precisará tomar muito de uma só vez ou encontrar um analógico adequado para os parâmetros.
Em segundo lugar, é impossível infligir qualquer dano crítico a um robô inimigo ou usar ímãs, por exemplo, para pegar. Isso nos limita um pouco na escolha de meios para a luta.
Também não se esqueça das rodas. Curvas, finas e deslizantes não funcionam, você simplesmente não será capaz de manobrar e o momento de força não é suficiente. Certifique-se de testar a borracha.
Ao trabalhar com motores, lembre-se de que eles terão que trabalhar com carga máxima e queimarão com bastante frequência.
Também faz sentido fabricar baterias removíveis, como O robô descarrega rapidamente e leva muito tempo para carregar.
Lista de compras necessárias:
1. Ferro de solda, solda, fluxo (opcional)
2. Placas Textolite (para gravar, você precisa fechar todas as faixas, colocar tudo em uma solução de peróxido de hidrogênio + ácido cítrico + sal por várias horas e, em seguida, rasgar o papel, por exemplo, sob o qual as faixas estavam ocultas)
3. sensores Sharp 340
4. Motores, escolha provar, quanto mais rpm, melhor.
Vale a pena escolher um pouco disso :
polulu. (adicionado)
5. Pilhas (aconselho você a tomar polímero de lítio) + estação de carregamento
6. Tecla (botão do interruptor, soldado à placa) e elementos elétricos (veja a figura com traços)
7. Driver
8. Controlador, para iniciantes, você pode experimentar o Polulu A-Star 32u4 micro e preencher o gerenciador de inicialização Arduino
9. Chapa para carcaça
10. Uma broca para furos no quadro
11. Launcher e para ele o módulo start
PS Se você perdeu alguma coisa - escreva, eu a corrigirei.
Concorrência
As próximas competições serão realizadas em São Petersburgo, Robofinist, então agora estamos nos preparando muito para elas, e se você quiser participar, precisará fazer tudo de forma clara e rápida.
Mas essas competições não são as únicas, existem muitas na Rússia, as maiores são realizadas em Moscou. Cerca de uma vez por mês ou dois, você pode experimentar a felicidade e competir.
Tais competições no exterior não são incomuns e também queremos chegar lá. Aqui está um mapa aproximado das competições mundiais:

Realmente esperamos que, em nosso país, o robo-sumo apenas se desenvolva e convidamos todos a participar da criação de seu próprio robô.
Parece muito épico quando peças de algum robô voam.Estamos terminando este artigo introdutório para nós e desejamos sucesso a todos em robótica. Teremos o maior prazer em vê-lo nas competições!