Robo (Mini) sumo, qu'est-ce que c'est et avec quoi mange-t-il?

Salut les Geektimes!

image

Entrée


Nous savons tous depuis longtemps que les robots sont notre avenir. Il existe de nombreux domaines de la robotique. Développements militaires, robots sociaux, divertissants et simplement fonctionnels.
Mais cette fois, je veux parler au nom de l’équipe du Collège au MIREA de la composante compétitive, et exactement des robots des lutteurs de sumo.

Un peu de notre équipe


Nous existons depuis 2014. Les gagnants et les gagnants de la plupart des compétitions sont Robofinist, Robofest, MIPT Spartakiad et les tournois plus petits, et nous sommes également les champions absolus de la Russie pour 2016-2017 dans la nomination au mini-sumo.

Qui sont ces robots sumo?


Au début, lorsque nous avons découvert ces compétitions pour la première fois, les lutteurs de sumo étaient principalement fabriqués à partir de lego. Mais c'est une assez mauvaise idée, plus à ce sujet plus tard.

À l'heure actuelle, le bon sumoiste est décrit très simplement: un morceau de fer complètement autonome sur roues, avec des cerveaux et une paire de capteurs, qui fait tomber un morceau de fer similaire de l'anneau.

Il en existe 4 types:

1. Mega-Sumoist
2. Mini Sumoist
3. Micro-sumoist
4. Nano-Sumoist

Tous diffèrent non seulement à l'extérieur, mais aussi à l'intérieur.

Les méga sont les robots les plus grands et les plus dangereux. Poids maximum jusqu'à 3 kg, la possibilité de mettre diverses "ventouses", ce qui n'est pas autorisé avec d'autres robots.

Mini - jolis petits robots jusqu'à 500 grammes 10 par 10 cm Pas difficiles à souder, faciles à installer et à assembler. Ils sont la nomination la plus populaire au sumo.

Micro et nano - miniatures. Micro 5 par 5 par 5, nano 2,5 par 2,5 par 2,5. Il est difficile de souder et de saisir les détails. Plus populaire que le méga sumo.

Sur cette page, vous pouvez lire les règles du concours plus en détail. (ajouté)

Quelle est l'essence du robo sumo?


L'objectif principal: pousser l'ennemi au-delà des limites d'un polygone rond. Celui qui touche en premier un objet extérieur le perd. Il semblerait que la difficulté soit de simplement repousser l'ennemi? Et la difficulté est que les robots sont complètement autonomes et de plus en plus de nouvelles stratégies apparaissent, qui sont de plus en plus difficiles à gérer.

Vidéo présentant nos robots (ajoutée):
Robofest 2016 (robot avec foudre, robot avec un drapeau pirate, robot bas noir solide, robot haut noir sans photo)
Robo picnic 2017 (uniquement nos robots sauf un robot rectangulaire avec capteurs sonores)
Sans participation:
Robotex 2016
Championnat letton de robotique 2017
Concours de robots RoboChallenge 2016
Un petit aperçu des tactiques de recherche ennemies.

De quoi sont-ils faits?


Revenons au lego. Très probablement, beaucoup d'entre vous ont essayé de faire quelque chose avec un constructeur Lego programmable, ou du moins ont vu comment le faire. Il y a même une nomination séparée pour ces robots 15 par 15, mais terriblement ennuyeux et ne convient qu'aux débutants ou à la petite robotique. Par rapport aux échantillons faits maison, celui-ci perd en tout sauf la complexité de montage.

Le premier est la basse vitesse. Deuxièmement, des tailles énormes. Troisièmement, la faible vitesse de réponse des capteurs. Et le contrôleur lui-même laisse beaucoup à désirer.

Détails sur l'assemblage et l'assemblage


Les lutteurs de sumo qui composent la compétition font de l'arduino. Ils utilisent des cartes textolite, des capteurs de soudure, un contrôleur, un pilote, etc. Il existe également un large choix de capteurs pour détecter un ennemi, mais ceux infrarouges ou laser doivent être utilisés, car les sonars sont très lents et volumineux. Bien sûr, des moteurs et des roues sont nécessaires pour que le robot puisse se déplacer. Vous pouvez les mettre un nombre illimité, mais la pratique montre que le robot roule mieux sur deux roues situées à l'arrière. Et, bien sûr, un robot ne peut pas vivre sans un seau et un crochet. Le seau est juste un étui, un emballage et une protection pour la planche et les éléments. Le plus souvent, en acier ou en fer. Les remorques sont faites de lames pour les couteaux de papeterie, mais il existe des cas avec une approche non standard, par exemple, une règle en bois affûtée ou de la laine de coton, mais cette approche est peu utilisée.

Le plus difficile (en plus de la programmation) de concevoir un robot.

Mais surtout pour ceux qui veulent participer, mais ne savent pas encore par où commencer, nous sommes prêts à partager la trace du robot, lauréat du MIPT 2016 Spartakiad.

PS fait dans SprintLayout

Première étape
image

C'est ce qu'on appelle la toute première étape - le placement des moteurs et des capteurs. Vous pouvez également observer ici deux petits capteurs devant le micro, ce sont donc les capteurs de ligne.

Ils sont utilisés pour détecter une bande blanche à la décharge pour éviter de tomber accidentellement à l'extérieur de l'anneau, mais ils ne sont pas obligatoires et ne sont en fait pas utilisés très souvent. Les vitesses élevées ne vous permettent souvent pas de vous arrêter à l'heure.

Deuxième étape
image

Et ici, le contrôleur, le pilote, les commutateurs et le connecteur de batterie sont déjà appliqués.
Il ne reste plus qu'à imprimer la trace et la transférer sur le PCB, puis suivre les traces.

Voici à quoi cela ressemble sur une planche finie:

Conseil fini
image

Robot prêt à lancer:

image

Comme vous pouvez le voir, il n'y a rien de particulièrement compliqué ici. À propos des problèmes ci-dessous.

Passons à la programmation


Le moyen le plus simple consiste à utiliser des contrôleurs Arduino ou compatibles Arduino. Aussi, Arduino IDE pour nous aider. Selon le schéma standard, le robot dispose de 5 capteurs. Ainsi, les États peuvent être

2 ^ 5 $

Nous excluons la situation où les capteurs latéraux voient simultanément l'ennemi (car cela ne peut pas se produire, et si cela se produit, il y a un dysfonctionnement dans l'un des capteurs), ainsi qu'une situation dans laquelle le capteur latéral et les deux capteurs avant donnent 0 (c.-à-d. voir), car cela ne peut pas non plus être le cas, ou les chances sont trop faibles.

Pour le faire aller à l'ennemi, il suffit d'installer les broches, d'appliquer une tension aux moteurs et de lire les lectures des capteurs:

Code robot
//     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);} } 


Vous n'avez qu'à améliorer le code.

Important!
Les capteurs renvoient 1 s'ils ne voient rien et 0 s'il y a un obstacle.

Après avoir téléchargé le code via USB, le robot est prêt à concourir.

À considérer


Ce sont d'abord les éléments. Les capteurs que nous utilisons (Sharp 340) sont rares ou pas du tout. Par conséquent, si possible, vous devez en prendre beaucoup à la fois ou trouver un analogue adapté aux paramètres.

Deuxièmement, il est impossible d'infliger des dégâts critiques à un robot ennemi ou d'utiliser des aimants, par exemple, pour ramasser. Cela nous limite légèrement dans le choix des moyens de lutte.

N'oubliez pas non plus les roues. Les courbes, fines et coulissantes ne fonctionneront pas, vous ne pourrez tout simplement pas manœuvrer et le moment de force ne suffit pas. Assurez-vous de tester le caoutchouc.

Lorsque vous travaillez avec des moteurs, gardez à l'esprit qu'ils devront travailler sous une charge maximale et qu'ils brûleront assez souvent.

Il est également judicieux de fabriquer des piles amovibles, comme Le robot se décharge assez rapidement et prend beaucoup de temps à charger.

Liste des achats nécessaires:


1. Fer à souder, soudure, flux (facultatif)
2. Planches Textolite (pour graver, vous devez fermer toutes les pistes, puis mettre le tout dans une solution de peroxyde d'hydrogène + acide citrique + sel pendant plusieurs heures, puis déchirer le papier, par exemple, sous lequel les pistes étaient cachées)
3. Capteurs Sharp 340
4. Moteurs, choisissez de goûter, plus il y a de tours, mieux c'est.
Cela vaut la peine d'être choisi : polulu. (ajouté)
5. Batteries (je vous conseille de prendre du lithium-polymère) + station de charge
6. Clé (bouton interrupteur, soudé à la carte) et éléments électriques (voir l'image avec traçage)
7. Chauffeur
8. Contrôleur, pour commencer, vous pouvez essayer le micro Polulu A-Star 32u4 et remplir le chargeur de démarrage Arduino
9. Tôle pour le logement
10. Une perceuse pour les trous dans la planche
11. Lanceur et à lui le module de démarrage
PS Si vous avez manqué quelque chose - écrivez, je le corrigerai.

Compétition


Les prochains concours auront lieu à Saint-Pétersbourg, Robofinist, alors maintenant nous nous préparons dur pour eux, et si vous voulez participer, vous devez tout faire clairement et rapidement.

Mais ces compétitions ne sont pas les seules, il y en a beaucoup en Russie, les plus importantes se déroulent à Moscou. Environ une fois par mois ou deux, vous pouvez vivre le bonheur et participer à des compétitions.

De telles compétitions à l'étranger ne sont pas rares et nous voulons aussi y arriver. Voici une carte approximative des compétitions mondiales:

image

Nous espérons vraiment que dans notre pays le robo-sumo ne fera que se développer et nous invitons chacun à participer à la création de son propre robot. Cela semble très épique lorsque des pièces d'un robot s'envolent.

Nous terminons cet article d'introduction pour nous et souhaitons à tout le monde du succès en robotique, nous serons heureux de vous voir aux compétitions!

Source: https://habr.com/ru/post/fr406907/


All Articles