Robot sumo instructions étape par étape. Robo(Mini) sumo, qu'est-ce que c'est et avec quoi se mange-t-il ? En savoir plus sur l'assemblage et l'emballage

Sumo- l'un des plus excitants Concours de robots Lego Ev3. Dans cette compétition, le robot doit pousser le robot de l'adversaire hors du cercle sans quitter le cercle lui-même.

Au tout début de la compétition, les robots sont placés au centre du cercle, après la strate les programmes sont lancés et les robots doivent attendre 3 secondes, après quoi les robots doivent atteindre la bordure du cercle et alors seulement ils ont l'occasion d'attaquer l'ennemi. Le portail contient des schémas de robots pour le sumo Lego et des instructions de montage

décrivons Algorithme et programme Sumo pour robot EV3

1 Action.

Le robot attend 3 secondes, nous nous éloignons du centre du cercle jusqu'à la frontière, nous avançons, nous tournons, nous cherchons l'ennemi, nous allons vers l'ennemi, si nous conduisons depuis la frontière, nous revenons.

Réglez l'attente sur 3 secondes.

2 actions. Nous retournons à la frontière.


3 actions. Une fois que le robot est arrivé à la frontière, il doit avancer. Mouvement vers l'avant.

4 Action. Nous avons mis en place une boucle infinie. Le robot attaquera l'ennemi jusqu'à ce qu'il soit expulsé ou jusqu'à ce que le temps de compétition soit terminé.

Nous y mettons un cycle de rotation avec un capteur à ultrasons. (vous pouvez également utiliser un capteur infrarouge)


5 Action. Nous avançons jusqu'à ce que le capteur de couleur voie une ligne noire, la bordure du cercle.

6. Action Après avoir vu la frontière, nous rentrons.

Exercer.

Réécrivez vous-même le départ en utilisant la leçon 1.

C'est le robot le plus simple, qui est fait de matériaux disponibles. Avec l'aide de tels robots, des compétitions sont organisées à SUMO, en particulier dans ce produit fait maison, un seul moteur est utilisé, il n'y a pas de circuit imprimé et le corps est en papier.


Vidéo du robot



Matériaux et outils pour créer un robot:

- bâton de colle sèche;
- ruban adhésif transparent ;
- bouton non fixe à deux sorties ;
- une LED clignotante type ARL-513URC-B ;
- type de transistor KP505A ;
- deux résistances de valeur nominale 1MΩ et 270Ω ;
- clip-connecteur pour la connexion à la batterie de type "Krona" ;
- modèle de moteur RF-300CA-D/C 3V ou similaire.






Fonctionnalité et caractéristiques du robot :
Sur la photo, vous pouvez voir le robot déjà assemblé. Pour déplacer l'appareil, un seul moteur est utilisé, il est installé verticalement, mais sous un certain angle. Lorsqu'il se déplace sur un segment court, le robot se déplace en ligne droite et sur un segment plus long, il fait un arc.

Pour allumer le robot, un bouton est utilisé, lorsqu'il est enfoncé, le robot s'allume pendant 20 secondes. Après cela, un arrêt automatique se produit et le robot est en mode veille jusqu'à la prochaine activation.

Une autre caractéristique du robot est qu'il s'arrête automatiquement au bord de l'anneau. L'accomplissement de cette condition est possible si le poids de l'adversaire ne sera pas inférieur au poids du robot, et l'épaisseur de l'anneau ne sera pas inférieure à 3 mm.

Une batterie de 9 volts est utilisée comme source d'alimentation, elle est installée sur le dessus du robot. Grâce au poids supplémentaire, le robot accumule l'énergie cinétique nécessaire pour les actions nécessaires.


Sur la photo, les composants du robot sont marqués de chiffres :

1. Clip pour la connexion de la batterie.
2. Verrouillage de la batterie.
3. Alimentation (pile 9V).
4. Moteur.
5. LED clignotante (indique que l'alimentation est connectée).
6. Bouton pour allumer le robot.
7. Résistance, grâce à elle, vous pouvez régler l'heure du robot.
8. Condensateur, il est également responsable de l'heure du robot.
9. Transistor de type KP505A, c'est un pilote de moteur.

Processus d'assemblage du robot :

La première étape. Nous faisons le cas
Pour la fabrication du boîtier, l'auteur utilise du carton ondulé, vous devez y appliquer un contour selon le gabarit. Le modèle peut être imprimé sur l'imprimante, il est joint à l'article. De plus, après avoir fait les plis nécessaires, le gabarit peut être coupé le long de lignes épaisses. Pour installer le moteur, vous devez couper un demi-cercle dans le carton, puis le plier un peu, comme indiqué sur la photo.







Deuxième étape. Installation de radioéléments
L'étape suivante consiste à installer tous les éléments radio nécessaires. Pour ce faire, vous devez prendre un poinçon et faire des trous dans le carton, ils doivent être faits en marques rondes. Pour sécuriser les composants, après l'installation, leurs fils doivent être légèrement pliés. Vous pouvez également voir une marque sous la forme d'un viseur sur le carton, ici vous devez faire un grand trou, un fil d'alimentation le traversera.

Après cela, vous pouvez prendre un fer à souder et procéder à la connexion des contacts des éléments radio conformément au schéma.










Troisième étape. Fixez les surfaces latérales inférieures
À ce stade, vous pouvez connecter les surfaces latérales inférieures. Pour ce faire, vous devez plier les plans inférieurs, puis les fixer avec du ruban adhésif transparent. Même sur la photo, vous pouvez voir les éléments du boîtier tournés vers le haut, ils sont nécessaires pour fixer la batterie.









Quatrième étape. Nous connectons les périphériques
Pour connecter l'alimentation à la batterie, vous devez utiliser un clip-connecteur. Le fil doit être passé à travers le trou, le rouge est soudé au contact positif de la LED et le noir au moins du condensateur C1.

Ensuite, vous devez connecter les surfaces latérales gauche et droite, par conséquent, la lettre "P" doit être obtenue. Pour une fixation fiable des éléments, une agrafe de l'agrafeuse est utilisée. L'endroit où installer les supports est indiqué par une flèche blanche. Vous pouvez serrer les agrafes avec une pince.






Cinquième étape. Installation et connexion du moteur
Pour que le robot se déplace droit, son arbre doit être à un certain angle par rapport à la surface. En d'autres termes, le robot se tiendra sur les parties latérales et son arbre ne sera en contact qu'avec la surface. Pour que la tige du robot ait une bonne prise en main, vous devez y mettre un élastique, il peut s'agir d'un batiste ou d'un dispositif de retenue en caoutchouc d'un stylo à hélium.

Le moteur est monté sur de la colle, le point de graissage est marqué d'une flèche blanche. Après avoir appliqué la colle, vous devez attendre un peu qu'elle devienne visqueuse, sinon la colle liquide peut pénétrer dans le moteur et le gâcher.

Pour une fixation supplémentaire, le moteur est enveloppé de ruban adhésif.





Quant à l'angle d'inclinaison du robot, tout cela est parfaitement visible sur les photos. Après l'installation, le moteur doit être connecté. Une sortie est reliée au négatif et l'autre au drain du transistor VT1.

Salut les Geektimes !

Introduction

Nous savons depuis longtemps que les robots sont notre avenir. Il existe de nombreuses branches de la robotique. Développement militaire, social, divertissement et robots fonctionnels.
Mais cette fois, je veux parler au nom de l'équipe du Collège de MIREA de la composante compétitive, mais exactement des robots sumo.

Un peu sur notre équipe

Nous existons depuis 2014. Gagnants et lauréats de la plupart des compétitions Robofinist, Robofest, le MIPT Spartakiad et des 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 de toute façon ?

Au départ, lorsque nous avons entendu parler de telles compétitions, les lutteurs de sumo étaient principalement fabriqués à partir de Lego. Mais c'est une très mauvaise idée, nous y reviendrons plus tard.

À l'heure actuelle, le bon lutteur de sumo est décrit très simplement : un morceau de fer complètement autonome sur roues, avec un cerveau et une paire de capteurs, qui fait tomber un morceau de fer similaire hors du ring.

Il existe 4 sortes :

1. Méga lutteur de sumo
2. Mini lutteur de sumo
3. Micro lutteur de sumo
4. Nano lutteur de sumo

Tout le monde est différent non seulement extérieurement, mais aussi intérieurement.

Mega - les robots les plus grands et les plus dangereux. Le poids maximum est de 3 kg, la possibilité de mettre diverses "ventouses", ce qui n'est pas autorisé avec d'autres robots.

Mini - agréables, petits robots jusqu'à 500 grammes 10 par 10 cm Pas difficile à souder, facile à mettre en place et à assembler. Ils sont la nomination la plus populaire dans le sumo.

Micro et nano - mini copies réduites. Micro 5x5x5, nano 2,5x2,5x2,5. Difficile à souder et à ramasser les pièces. Plus populaire que le méga sumo.

De quoi sont-ils faits?

Revenons aux 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 cela se faisait. Il existe même une nomination distincte pour de tels robots 15 par 15, mais c'est terriblement ennuyeux et ne convient qu'aux très débutants ou aux petits roboticiens. Par rapport aux échantillons faits maison, celui-ci perd en tout sauf la complexité du montage.

Tout d'abord, c'est à basse vitesse. Deuxièmement, la taille est énorme. Troisièmement, la faible vitesse de réponse des capteurs. Et aussi le contrôleur lui-même laisse beaucoup à désirer.

En savoir plus sur l'assemblage et l'emballage

Les lutteurs de sumo qui concourent se débrouillent sur arduino. Ils utilisent des cartes textolites, des capteurs de soudure, un contrôleur, un pilote, etc.. Il existe également un large choix de capteurs pour détecter un ennemi, mais cela vaut la peine d'utiliser des capteurs infrarouges ou laser, car les sonars sont très lents et encombrants. Bien sûr, des moteurs et des roues sont nécessaires pour que le robot se déplace. Vous pouvez les mettre en nombre illimité, mais la pratique montre que le robot roule mieux sur deux roues placées à l'arrière. Et, bien sûr, le robot ne peut pas vivre sans un seau et un crochet. Le seau n'est qu'un étui, un emballage et une protection pour la planche et les éléments. Le plus souvent en acier ou en fer. Les crochets sont fabriqués à partir de lames pour couteaux de papeterie, mais il existe des cas avec une approche non standard, par exemple une règle en bois aiguisée ou du coton, mais cette approche est peu utile.

La chose la plus difficile (en dehors de la programmation) est de concevoir un robot.

Première étape



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 crochet, ce sont donc les capteurs de ligne.

Ils sont utilisés pour détecter une ligne blanche sur la plage pour éviter les chutes accidentelles hors de l'anneau, mais ne sont pas un composant obligatoire et ne sont en fait pas utilisés très souvent. Les vitesses élevées ne laissent souvent pas le temps de s'arrêter.

Seconde phase



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 une planche de textolite, puis à élaborer les pistes.

Voici à quoi cela ressemble sur le plateau fini :

Conseil fini



Robot prêt à fonctionner :

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

Nous excluons la situation où les capteurs latéraux voient l'ennemi en même temps (car cela ne peut pas arriver, et si c'est le cas, alors il y a un dysfonctionnement dans l'un des capteurs), ainsi que la situation dans laquelle le côté et deux avant les capteurs donnent 0 (c'est-à-dire . voir), car cela ne peut pas non plus être, ou la chance est trop petite.

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

Code robot

// Définition des broches pour les capteurs int pin_left=10 ; int pin_center_left=11 ; int pin_center_right=4 ; int pin_center=12 ; int pin_right=7 ; // Broches aux moteurs int pin_motor_left_forward=9 ; int pin_motor_left_back=6 ; int pin_motor_right_forward=3 ; int pin_motor_right_back=5 ; // Variables pour stocker le résultat des capteurs d'interrogation int cl,cc,cr,l,r; // Fonction pour interroger les capteurs void GLAZ() ( cl = digitalRead(pin_center_left); cc = digitalRead(pin_center); cr = digitalRead(pin_center_right); l = digitalRead(pin_left); r = digitalRead(pin_right); ) // Fonction mouvement, acceptant des vitesses de 0 à 255 pour alimenter chaque vide moteur 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);} }


Il ne vous reste plus 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.

Vaut la peine d'être considéré

Il y a d'abord les éléments. Les capteurs que nous utilisons (sharp 340) sont assez rares voire inexistants. Par conséquent, si possible, vous devez en prendre beaucoup à la fois ou trouver un analogue adapté en termes de paramètres.

Deuxièmement, vous ne pouvez pas causer de dégâts critiques au robot ennemi ou utiliser, par exemple, des aimants pour le ramasser. Cela nous limite un peu dans le choix des moyens de lutte.

N'oubliez pas non plus les roues. Les courbes, fines et glissantes ne fonctionneront pas, vous ne pourrez tout simplement pas manœuvrer et il n'y aura pas assez de moment de force. Assurez-vous de tester les pneus.

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 logique de fabriquer des piles amovibles, car. Le robot se décharge assez rapidement et il met beaucoup de temps à se recharger.

Liste des achats nécessaires :

1. Fer à souder, soudure, flux (facultatif)
2. Planches de textolite (pour graver, il faut 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é)
3. Capteurs Sharp 340
4. Moteurs, choisissez au goût, plus il y a de régime, mieux c'est.
Cela vaut la peine d'en choisir un: polulu. (ajoutée)
5. Batteries (je vous conseille de prendre du lithium polymère) + station de charge
6. Clé (bouton de l'interrupteur, soudé à la carte) et éléments électriques (il y en a sur la photo avec une trace)
7. Chauffeur
8. Contrôleur, pour commencer, vous pouvez essayer le micro Polulu A-Star 32u4 et y télécharger le chargeur de démarrage arduino
9. Feuille de métal pour le corps
10. Percez des trous dans la planche
11. Lanceur et module de démarrage
PS Si j'ai raté quelque chose - écrivez, je le corrigerai.

Concurrence

Les prochaines compétitions auront lieu à Saint-Pétersbourg, Robofinist, alors maintenant nous nous y préparons intensivement et si vous voulez y 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 faire l'expérience du bonheur et concourir.

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

Nous espérons vraiment que le robot sumo ne se développera que dans notre pays et nous invitons tout le monde à participer à la création de notre robot. Cela a l'air très épique lorsque des pièces s'envolent d'un robot.

C'est la fin de notre article d'introduction et nous vous souhaitons beaucoup de succès en robotique, nous serons ravis de vous voir aux compétitions !

Dans cette compétition, les participants doivent préparer un robot autonome qui peut le plus efficacement pousser le robot adverse hors de la ligne noire de l'anneau.

1. Conditions de compétition

1.1. La compétition se déroule entre deux robots. Le but de la compétition est de pousser le robot adverse au-delà de la ligne noire de l'anneau.

1.2. Si une partie du robot touche le terrain en dehors de la ligne noire, le robot perd la manche (si un terrain en forme de podium est utilisé, alors la perte est comptée si une partie du robot touche la surface en dehors du podium).

1.3. Si à la fin du tour aucun robot n'est poussé hors du cercle, alors le robot le plus proche du centre du cercle est considéré comme le vainqueur du tour.

1.4. Si le gagnant ne peut être déterminé par les méthodes décrites ci-dessus, la décision sur la victoire ou un rejeu est prise par le juge de la compétition.

1.5. Pendant le tour, les membres de l'équipe ne doivent pas toucher les robots.

2. Champ

2.1. Cercle blanc d'un diamètre de 1 m avec un liseré noir de 5 cm d'épaisseur.

2.2. Dans le cercle, des bandes rouges marquent les zones de départ des robots.

2.3. Le point rouge marque le centre du cercle.

2.4. Le champ peut se présenter sous la forme d'un podium d'une hauteur de 10-20 mm.

3. Robot

3.1. Il n'y a aucune restriction sur l'utilisation des composants sur les robots, à l'exception de ceux interdits par les règles existantes.*

3.2.1. Pendant toute la compétition :

  • La taille du robot ne doit pas dépasser 250x250x250 mm.
  • Le poids du robot ne doit pas dépasser 1 kg.

3.2.2. Avant le début de la manche, le robot doit satisfaire la condition : Une plaque triangulaire avec un angle de 45 degrés, appuyée contre la surface du terrain, et amenée de n'importe quel côté du robot, doit toucher le robot à un point supérieur à 3 cm du terrain. Le point de contact est fixé avec n'importe quelle partie du robot, y compris : roues, chenilles, élastiques, fils...

3.2.3. Différend entre le participant et le juge sur des points de règles 3.2. lors du contrôle du robot, est toujours décidée non en faveur du participant.

3.3. Le robot doit être autonome.

3.4. Un robot qui, de l'avis des juges, endommage ou souille délibérément d'autres robots, ou autrement endommage ou contamine la surface du terrain, sera disqualifié pour toute la durée de la compétition.

3.5. Avant le match, les robots sont vérifiés pour les dimensions, le poids et la distance des pièces par rapport au terrain.

3.6. Restrictions structurelles :

  • Il est interdit d'utiliser des dispositifs adhésifs sur les roues et le corps du robot.
  • N'utilisez aucun lubrifiant sur les surfaces exposées du robot.
  • Il est interdit d'utiliser des dispositifs qui confèrent au robot une stabilité accrue, par exemple en créant un environnement sous vide.
  • Il est interdit d'interférer avec l'IR et les autres capteurs du robot rival, ainsi qu'avec les équipements électroniques.
  • Il est interdit d'utiliser des appareils qui lancent quelque chose sur le robot rival.
  • Il est interdit d'utiliser des substances liquides, en poudre et gazeuses comme arme contre un robot rival.
  • Il est interdit d'utiliser des substances inflammables.
  • Il est interdit d'utiliser des structures pouvant causer des dommages physiques à l'anneau ou au robot rival.

Les robots qui enfreignent les interdictions ci-dessus sont retirés de la compétition.

3.8. Les participants ont le droit de modifier rapidement le robot entre les tours (y compris la réparation, le remplacement des piles, le choix du programme, etc.), si les modifications apportées ne contredisent pas les exigences de conception du robot et ne violent pas les règles. de la compétition. Le temps pour le changement constructif opérationnel du robot est contrôlé par le juge, mais ne peut pas dépasser 1 minute.

3.9. Entre les matchs, il est permis de modifier la conception et les programmes des robots.*

4. Réalisation de concours.

4.1. Les compétitions consistent en une série de matchs. Le match détermine le plus fort des deux robots qui y participent. Le match se compose de 3 rounds de 30 secondes. Les rondes se déroulent d'affilée.*

4.2. Les compétitions consistent en au moins deux tentatives (le nombre exact est déterminé par le comité organisateur). Une tentative est une collection de tous les matchs auxquels chaque robot a participé au moins 1 fois.*

4.3. Avant la première tentative et entre les tentatives, les équipes peuvent ajuster leur robot.

4.4. Les équipes doivent placer leurs robots dans une zone de "quarantaine" avant de commencer une tentative. Une fois que le juge a confirmé que les robots répondent à toutes les exigences, la compétition peut commencer.*

4.5. Si lors de l'inspection une violation dans la conception du robot est constatée, le juge donne 3 minutes pour éliminer la violation. Cependant, si la violation n'est pas corrigée dans ce délai, l'équipe ne pourra pas concourir.

4.6. Après avoir placé le robot en "quarantaine" ne peut pas être modifié(par exemple : télécharger un programme, changer les piles)ou changer de robot jusqu'à la fin de la tentative.*

4.7. Les juges et les opérateurs de robots participent directement au duel - un de chaque équipe.

4.8. Après le démarrage des robots, les opérateurs doivent s'éloigner du champ de plus d'1 mètre en 5 secondes.

4.9. Chaque opérateur une fois pendant tout le match peut arrêter le début du tour sans pénalité, mais au plus tard 1 seconde avant la fin du compte à rebours de 5 secondes. Le délai de démarrage n'est pas autorisé à plus de 30 secondes. Un report d'une durée plus longue ne peut être effectué qu'avec l'autorisation spéciale du juge. Une fois le problème résolu, les robots sont prêts à redémarrer.*

4.10. Si pendant le tour, une partie électrique du robot n'est pas solidement fixée (arrachée ou accrochée à des fils), alors ce robot est considéré comme le perdant du tour.

4.11. Si pendant le match, la conception d'un robot a été accidentellement endommagée et nécessite plus de 50 secondes pour être réparée, le match peut être interrompu et l'équipe est autorisée à réparer la conception du robot, à ce moment, les matchs avec d'autres équipes peuvent avoir lieu, après avoir réparé le robot et terminé le match en cours, le match interrompu continue.*

4.12. Le match est remporté par le robot qui remporte le plus de tours. Le juge peut utiliser un tour supplémentaire pour clarifier les situations litigieuses.

4.13. Le tour est joué par le robot si :

  • L'une des parties du robot a touché la zone au-delà de la bordure noire de l'anneau.
  • Si le robot est plus éloigné du centre du ring que le robot de l'adversaire. Si le temps du tour est écoulé et qu'aucun des robots n'a dépassé les limites du ring.

5. Options de compétition

5.1. Les règles prévoient trois niveaux de difficulté. L'organisateur du concours est tenu d'avertir les participants à l'avance du niveau de difficulté choisi.

5.2. Niveau 1: Pas de manœuvres. Pour les débutants. Il est résolu principalement mécaniquement.

5.2.1. Après que le juge annonce le début de la manche, les robots sont placés par les opérateurs devant les lignes rouges.

5.2.2. Lorsque les robots sont placés dans leurs positions de départ, le juge s'enquiert de l'état de préparation des opérateurs, si les deux opérateurs sont prêts à démarrer le robot, puis le juge donne un signal pour démarrer les robots.

5.2.2. Après le signal de démarrage des robots, les opérateurs démarrent le programme.

5.2.3. Les robots doivent rouler en ligne droite et entrer en collision les uns avec les autres.

5.2.4. Les robots ne sont pas autorisés à manœuvrer intentionnellement autour du ring.

5.3. Niveau 2: Maniabilité limitée. Nécessite de l'expérience. Fournit la possibilité de manœuvrer sur le terrain.

5.3.1. Après que le juge annonce le début de la manche, les robots sont placés par les opérateurs devant les lignes rouges.

5.3.2. Lorsque les robots sont placés dans leurs positions de départ, le juge s'enquiert de l'état de préparation des opérateurs, si les deux opérateurs sont prêts à démarrer le robot, puis le juge donne un signal pour démarrer les robots.

5.3.3. Après le signal de démarrage des robots, les opérateurs lancent le programme.

5.3.4. Les robots doivent rouler droit et entrer en collision les uns avec les autres, après la collision, les robots peuvent manœuvrer autour de l'anneau à leur guise. Le temps entre le début du tour et la collision des robots ne doit pas dépasser 5 secondes.

5.3.5. Si les robots ne se heurtent pas dans les 5 secondes après le début de la manche, le robot pour lequel, de l'avis du juge, il n'y a pas de collision, est considéré comme le perdant de la manche.

5.3.6. Si les robots vont tout droit et n'ont pas le temps de se heurter en 5 secondes, alors le robot situé le plus loin du centre du terrain est considéré comme le perdant du tour.

5.4. Niveau 3: Maniabilité accrue. Nécessite de bonnes compétences. Force le robot à naviguer dans l'espace.

5.4.1. Le robot, dans sa conception, doit avoir un bouton de démarrage clairement visible qui remplit la fonction d'allumer et d'éteindre le robot.

5.4.2. Après que le juge a annoncé le début du tour, les robots sont préparés par les opérateurs, après la préparation, l'opérateur doit informer le juge que le robot est prêt, après cela, jusqu'à la fin du tour, l'opérateur ne peut entrer aucune donnée dans le robot, et le programme du robot doit être lancé en appuyant sur le bouton de démarrage.

5.4.3. Une fois les robots prêts, le juge détermine la disposition des robots au début du tour par tirage au sort.

Exemples de placement de robot :

5.4.4. Le juge place les robots sur les positions de départ.*

5.4.5. Sur ordre du juge, en appuyant sur le bouton de démarrage, les opérateurs démarrent les robots.

6. Arbitrage

6.1. Le comité organisateur se réserve le droit d'apporter des modifications au règlement du concours si ces modifications ne donnent pas d'avantages à l'une des équipes.

6.2. Le contrôle et le résumé sont effectués par le jury conformément aux règles ci-dessus.

6.3. Les juges ont pleins pouvoirs dans toutes les compétitions; tous les participants doivent respecter leurs décisions.

6.4. Le juge peut utiliser des tours supplémentaires pour clarifier les différends.

6.5. S'il y a des objections concernant l'arbitrage, l'équipe a le droit de faire appel oralement de la décision des arbitres auprès du comité d'organisation au plus tard à la fin du match en cours.

6.6. La relecture de la manche peut être effectuée sur décision des juges en cas d'ingérence extérieure dans le travail du robot, ou lorsque le dysfonctionnement s'est produit en raison du mauvais état du terrain de jeu, ou en raison d'un erreur commise par le jury.

6.7. Les membres de l'équipe et le leader ne doivent pas interférer avec les actions du robot de leur équipe ou du robot de l'adversaire, que ce soit physiquement ou à distance. L'ingérence entraîne une disqualification immédiate.

7. Règles de sélection des gagnants

7.1. Selon la décision du comité d'organisation, le classement des robots peut avoir lieu selon différents systèmes, en fonction du nombre de participants et des règles de l'événement au sein duquel se déroule la compétition. Système recommandé :

o La première tentative, dans laquelle tous les participants participent au système olympique (élimination) jusqu'à ce que 3-5 (nombre de finalistes annoncé à l'avance) finalistes soient déterminés. Les participants sont regroupés par paires à tour de rôle : le premier avec le deuxième, le troisième avec le quatrième, etc.

o La deuxième tentative, dans laquelle tous les participants participent au système olympique (éliminatoire) jusqu'à la détermination de 3-5 (le nombre de finalistes est annoncé à l'avance) finalistes. Les participants sont regroupés par binômes à travers un : le premier avec le troisième, le second avec le quatrième, etc.

o Tous les finalistes des tentatives précédentes participent à la finale et concourent selon le système chacun avec chacun. Le classement est basé sur le nombre de matchs gagnés. Dans les situations contestables, des matchs supplémentaires sont organisés.

* les points notés du règlement peuvent être annulés ou modifiés par le comité organisateur d'une étape particulière du concours.

Conseils pour le comité organisateur :

  1. Au moins 2 arbitres sont requis pour la compétition : Le premier arbitre dirige les matchs, le second contrôle les robots avant les matchs.
  2. Si l'anneau est réalisé sous la forme d'une plate-forme ronde, la compétition sera plus spectaculaire et il sera plus facile pour les juges de déterminer le robot qui est tombé de l'anneau.

Ordre de conduite.

    Les compétitions consistent en une série de matchs. Le match détermine lequel des deux robots qui y participent est le plus fort. Selon le nombre de participants, le match se compose de 3 ou 5 rounds de 30 secondes. Le match est remporté par le robot qui remporte le plus de tours. Le juge peut utiliser un tour supplémentaire pour clarifier les situations litigieuses.

    Sur décision du comité d'organisation, le classement des robots peut s'effectuer selon différents systèmes, en fonction du nombre de participants et du règlement de l'événement au sein duquel se déroule le concours.

  • 6-26 participants - 5 tours par match, 20-40 participants - 3 tours par match.
  • La première tentative dans laquelle tous les participants participent au système olympique (élimination) jusqu'à la détermination des 3-5 (le nombre de finalistes est annoncé à l'avance) finalistes. Les participants sont regroupés par paires à tour de rôle : le premier avec le deuxième, le troisième avec le quatrième, etc.
  • La deuxième tentative à laquelle tous les participants participent selon le système olympique (élimination) jusqu'à la détermination des 3-5 (le nombre de finalistes est annoncé à l'avance) finalistes. Les participants sont regroupés par binômes à travers un : le premier avec le troisième, le second avec le quatrième, etc.
  • Tous les finalistes des tentatives précédentes participent à la finale et s'affrontent selon le système, chacun avec chacun. Le classement est basé sur le nombre de matchs gagnés, mais au début de la finale, tous les finalistes sont considérés comme égaux. Dans les situations contestables, des matchs supplémentaires sont organisés.
  • 3 tours dans un match. Pauses entre les tentatives 30 min.
  • Dans un premier temps, les participants sont divisés en 4 groupes égaux. Lors de la première tentative, les groupes 1 et 2 participent au premier champ et les groupes 3 et 4 participent au deuxième champ. Chaque participant joue sur son terrain selon le système "chacun avec chacun". Cela assure 50% des rencontres de chaque équipe avec des adversaires.
  • Lors de la deuxième tentative, les groupes 1 et 3 participent sur le premier champ et les groupes 2 et 4 participent sur le deuxième champ. Chaque participant reconquiert son terrain selon le système du "chacun avec chacun", sans réunions répétées tenues à la dernière tentative. Cela assure 75% des rencontres de chaque équipe avec des adversaires.
  • La troisième tentative est effectuée avec suffisamment de temps et n'est pas obligatoire. Lors de la troisième tentative, les groupes 1 et 4 participent sur le premier champ et les groupes 2 et 3 participent sur le deuxième champ. Chaque participant reconquiert son terrain selon le système du "chacun avec chacun", sans réunions répétées tenues lors des tentatives précédentes. Cela assure 100% des rencontres de chaque équipe avec des adversaires.
  • 5 à 7 équipes qui remportent le plus de matchs participent à la finale. Les finalistes s'affrontent selon le système chacun avec chacun. Le classement est basé sur le nombre de matchs gagnés, mais au début de la finale, tous les finalistes sont considérés comme égaux. Dans les situations contestables, des matchs supplémentaires sont organisés.

Remarque : gardez à l'esprit que le système de classement olympique peut évaluer injustement les participants si des adversaires égaux se rencontrent par paires. A cet égard, nous vous conseillons de vous classer "chacun avec chacun" parmi le plus de participants possible. une

  1. Les opérateurs peuvent configurer le robot à tout moment, sauf pour leur match et jusqu'à 5 minutes avant celui-ci.
  2. Si lors de l'inspection une violation est constatée dans la conception du robot, le juge accordera 3 minutes pour éliminer la violation. Cependant, si la violation n'est pas corrigée dans ce délai, l'équipe ne pourra pas participer à la compétition.
  3. Les équipes ne peuvent pas demander de prolongation avant un match.
  4. Avant le début du tour, les opérateurs peuvent choisir un programme et doivent placer les robots dans la zone strat (derrière la ligne rouge). De plus, le juge confirme l'état de préparation des participants et donne un signal pour commencer le tour, tandis que les opérateurs de robots doivent exécuter le programme sur les robots et s'éloigner du terrain de plus d'un mètre en 5 secondes. Dans les mêmes 5 secondes, les robots doivent se déplacer en ligne droite et entrer en collision les uns avec les autres. Après la collision, les robots peuvent manœuvrer autour de l'anneau à leur guise.
  5. Lors d'un match, l'un des juges appelle quelques concurrents au tour suivant et vérifie leurs robots.
  6. Avant le départ, le robot doit être complètement dans la zone de strate (derrière la ligne).

Calcul du temps de compétition :

Temps de match approximatif en 5 tours :

~ appeler une équipe et vérifier les robots (3 min) + 5 * (régler les robots (10 sec) + tour (30 sec) = 3-4 min.

Temps de compétition T en jouant chacun avec chacun pour N équipes :

T=((N*N-1)/2)*4 min

Exemple avec 10 commandes :

((10*9)/2)*4 min = 3 heures.

Un exemple avec 10 équipes dans un système mixte (chacune avec chaque + olympique) :

((5)+(5*4)/2)*4 min = 1 heure.

Calendrier indicatif pour une compétition en deux manches avec 20 équipes :

  • 9h00 – 9h30 Inscription des équipes.
  • 9h30 – 9h45 Rencontre avec les participants (Clarification des règles).
  • 9h45 – 10h30 Préparation des robots.
  • 10h30 – 11h30 Tenir 1 tentative de compétitions selon le système olympique ((10+5)*4min=1heure)
  • 11h30 – 12h00 Pause.
  • 12h00 – 13h00 Réalisation de 2 tentatives de compétitions selon le système olympique ((10 + 5) * 4min = 1 heure)
  • 13h00 – 14h00 Pause. (Tenir des matchs supplémentaires si de nombreuses équipes sont dans les cinq premiers lors des premières tentatives)
  • 14h00 – 15h00 Finale. Tout le monde avec tout le monde.
  • 15h00 – 16h00 Résumé.
  • 16:00 – 17:00 Récompense.

PROGRAMME "ROBOT MINI-SUMO. L'article final sur l'assemblage d'un robot mini-sumo. La première partie de l'article "Châssis pour un robot mini-sumo" décrit en détail comment fabriquer un châssis de robot. Dans cet article, nous analyserons en détail la compilation d'un programme pour un robot. Notre robot prêt. Il a un châssis, la fonction de "cerveau" sera assurée par un microcontrôleur, et la communication avec le monde extérieur sera assurée par des capteurs. Mais, malgré tout cela, il restera immobile sur la table. Et pour éviter que cela ne se produise, il est temps d'insuffler dans notre vie de création, pour ainsi dire, de se sentir complètement "créateur".Le programme que nous allons créer ne fera pas que raviver le robot, mais aussi le faire se comporter de manière significative et logique sur le ring.


1. La base du programme est l'algorithme.

Comme avant, nous ne pouvons pas nous passer d'un plan. Dans l'article précédent, notre plan était un schéma de circuit. En programmation, un plan s'appelle un algorithme. Certains d'entre vous savent ce que c'est, quelqu'un vient de l'entendre, mais il y a ceux qui ne le savaient pas et qui l'entendent pour la première fois.

Je n'utiliserai pas de termes scientifiques, je dirai simplement qu'un Algorithme est une description d'une séquence de certaines actions. Toute notre vie est constituée d'actions diverses ; nous marchons, nous parlons, nous bougeons nos bras et nos jambes, nous tournons la tête. Tout cela a sa propre signification - un algorithme, une séquence qui détermine notre comportement, et cela peut être compilé et décrit. Pour plus de clarté, je vais donner un exemple tiré de la vie. Vous vous brossez les dents tous les matins. Essayez de décrire comment vous le faites, comment écrire un programme pour vous-même. Voici ce qui se passe : « Nous prenons une brosse à dents. Pressez la pâte. Nous nous brossons les dents avec des mouvements gauche-droite. Je me rince la bouche. Mon pinceau."

En principe, tout est correct, mais on peut réaliser ce petit programme le midi, le soir, ou après chaque repas. Mais nous n'avons pas pris en compte des facteurs importants qui peuvent anéantir tous nos efforts. Au départ, nous avons parlé du matin. C'est un facteur important, et si vous n'en tenez pas compte, vous devrez vous brosser les dents allongé dans votre lit et les yeux fermés. Par conséquent, tout programme doit toujours avoir une sorte de début et de fin avec la possibilité de répéter le cycle. Le cycle de répétition pour une personne est le lendemain, où ce sera à nouveau le matin, et les dents devront à nouveau être brossées. Par conséquent, nous ajoutons l'algorithme suivant (séquence d'actions) à notre programme.

"Réveillez-vous. Sortez du lit… » Si vous arrêtez de créer l'algorithme à ce stade et passez directement au brossage des dents, le programme se bloquera (se bloquera). Pourquoi? Parce que nous n'avons pas encore pris en compte tous les facteurs. Vous êtes debout au milieu de votre chambre et incapable d'exécuter la commande suivante ; "Nous prenons une brosse à dents", puisque la brosse est dans la salle de bain et qu'il faut encore y entrer. Eh bien, si vous dormez dans la salle de bain, alors pas de problème - le programme fonctionnera ! Mais dans la plupart des cas, les gens normaux dorment dans une autre pièce. Cette approche est dite logique, c'est-à-dire significative. Toutes nos actions doivent être raisonnables et contenir un certain sens, sinon le but ne sera pas atteint. Alors "réveillez-vous. Se lever. Va aux toilettes" serait la meilleure option.

Remettons-nous au travail. Maintenant, comment planifier les actions du robot mini-sumo sur le ring ? Nous avons des règles où le but est clairement marqué - "Poussez l'adversaire hors du ring." Mais pour y parvenir, certains facteurs doivent être pris en compte. Le facteur principal est de ne pas dépasser le cercle lui-même, ou pour être plus précis, de ne pas dépasser la bordure blanche du cercle. Voici ce que nous avons :

Riz. 1 Algorithme du comportement du robot dans l'anneau.

Dans la figure 1, vous voyez un schéma fonctionnel. De toute évidence, c'est ainsi qu'il est d'usage de composer des algorithmes. Clair et compréhensible.

Le premier bloc est "Démarrer". A partir de ce moment, le programme commence à exécuter les actions du robot après sa mise sous tension. La première chose qu'il devra faire est de trouver l'ennemi, le bloc "Target Search". Le bloc suivant de notre schéma se présente sous la forme d'un losange "Cible trouvée ?". Cela signifie que nous aurons un choix d'actions pour réaliser un certain événement. Si la cible est trouvée (Oui), alors nous continuerons l'exécution du programme et passerons à la partie suivante du programme "Attaque", mais si la cible n'est pas trouvée (Non), alors il est plus logique de continuer le chercher. Le programme bouclera sur ce moment jusqu'à ce que le robot détecte l'ennemi. Lors de l'attaque, le robot avance vers l'adversaire, essayant de le pousser hors du ring, à ce moment le "Avez-vous atteint le bord du ring?" passe au bloc suivant "Reculer" et "Inversion". Après le virage, le cycle du programme principal est répété, c'est-à-dire qu'il recommence depuis le tout début et que le robot cherche à nouveau l'ennemi. Cela a été fait pour une raison. Si au moment de l'attaque, l'ennemi a réussi à s'échapper de notre robot, alors il faut reprendre sa recherche sans quitter le bord du ring. Tout avec la théorie. Passons à la pratique.

2. Règles d'écriture de programmes pour Arduino.

Bien que j'aie dit que la partie théorique est terminée, nous devrions étudier le principe de la construction d'un programme pour les microcontrôleurs Arduino, même si ces principes seront vrais pour les autres MK de la famille AVR.

Riz. 2 Méthode d'écriture d'un programme pour Arduino.

Cet organigramme nous montre clairement quels points importants, et dans quel ordre, doivent être observés lors de l'écriture d'un programme.

Au tout début du programme, si nécessaire, des modules supplémentaires sont connectés. Ensuite, les variables globales sont déclarées. Vient ensuite le bloc d'initialisation du contrôleur. Il définit les affectations de port, qu'il s'agisse d'une entrée ou d'une sortie, et d'autres paramètres. Des routines auxiliaires supplémentaires peuvent également être appelées à partir de ce bloc. Pour être bref, à cet endroit, le programme effectue les réglages préliminaires du contrôleur. Ce bloc est exécuté une fois lors du démarrage ou du redémarrage du contrôleur. Veuillez noter que la ligne "délai 5 secondes" a été ajoutée au bloc. Cela ne s'applique pas aux règles générales d'écriture d'un programme, mais c'est nécessaire pour un robot mini-sumo. Les règles stipulent qu'après l'ordre de l'arbitre, les robots doivent commencer à bouger après 5 secondes. Ce retard ne peut pas être effectué dans la boucle principale du programme, car il sera constamment répété et le comportement du robot ne changera pas pour le mieux.

Dans le bloc du cycle principal du programme, l'algorithme principal du comportement du robot dans l'anneau sera exécuté, que nous avons considéré dans la Fig. 1. Pendant le fonctionnement de la boucle principale, il sera possible d'accéder à des sous-programmes. Les programmeurs utilisent très souvent des sous-programmes pour optimiser et réduire le code. Par exemple, il est plus logique de choisir un programme pour avancer ou reculer dans des modules séparés et de ne pas l'inclure dans le corps principal du programme. À partir de là, il deviendra énorme, complètement illisible, et il sera très problématique de trouver une erreur ou d'apporter une petite modification.

3. Outil de développement Arduino IDE.

Téléchargez le dernier IDE Arduino sur Arduino.ru. Le programme ne nécessite aucune installation spéciale, il suffit de décompresser le contenu de l'archive au bon endroit. À la fin de cet article se trouve le fichier de bibliothèque du télémètre à ultrasons. Il doit être décompressé dans le dossier Bibliothèques.

Nous lançons l'application. Nous vérifions la bonne installation de la bibliothèque, allez dans le menu "Fichier" - "Exemples". Presque tout en bas, l'élément Ultrasonic devrait apparaître comme sur la fig. 3.

Riz. 3 Vérifiez que la bibliothèque Ultrasonic est correctement installée.

Si tout va bien, allez dans la rubrique "Service" - "Payer". Nous devons choisir notre carte - Arduino Pro Mini 5v.

Riz. 4 configuration de la carte contrôleur

Le port série doit être sélectionné celui qui apparaît après avoir connecté l'Arduino à l'ordinateur. Il faut dire un mot sur l'Arduino Pro Mini. Contrairement aux autres contrôleurs de la famille Arduino, le Pro Mini n'a pas de module de connexion informatique intégré. Il est fourni séparément en tant que carte adaptateur USB vers UART (TTL) et est connecté à la carte contrôleur à l'aide de quatre fils.

Riz. 5 Adaptateur USB-UART (TTL).

Sur la fig. 6 montre comment connecter correctement le contrôleur et l'adaptateur.

Riz. 6. Connexion du contrôleur à l'adaptateur USB-UART.

Contrairement à la connexion reçue des lignes de signal, au lieu de RX-TX et TX-RX, ces lignes doivent être connectées directement : RX-RX, TX-TX. La première fois que vous connectez l'adaptateur à votre ordinateur, les pilotes de périphérique démarrent automatiquement l'installation. Vous devez attendre la fin de l'installation. Une autre caractéristique du contrôleur est l'absence de réinitialisation logicielle au moment de la programmation. C'est bien sûr un peu gênant, mais pas suffisant pour refuser le Pro Mini. Il suffit d'appuyer sur le bouton Reset du contrôleur après que l'inscription "Compilation" se transforme en "Télécharger", Fig. sept.

Riz. 7. Affichage des informations sur la progression de la programmation MK.

4. Nous écrivons le code.

Dans ce chapitre, je ne m'attarderai pas sur la description des commandes, directives et opérateurs. Il est supposé que vous avez déjà quelques connaissances de base. Sinon, vous devez vous référer à la documentation sur le site officiel ou à d'autres sources sur le réseau.Nous écrirons clairement le code du programme selon le plan ou l'algorithme que nous avons compilé. J'ai ajouté du code à certains blocs de l'algorithme, que nous allons maintenant examiner plus en détail dans la Fig. huit.

Riz. 8. Ecriture du bloc initial du programme.

Le premier bloc : la directive # connecte la bibliothèque de contrôle du module à notre projet.

Deuxième bloc : nous déclarons des variables et y écrivons des valeurs initiales égales à zéro. Veuillez noter que nous ne créerons pas de noms pour les ports de sortie du MK. Je les ai délibérément laissés sous forme numérique afin que vous puissiez facilement vous référer au schéma de circuit. Dans ce bloc, nous déclarons seulement trois variables - ce sont les capteurs gauche et droit de l'anneau (_ et _), ils stockeront les valeurs ADC. En plus de la variable de distance du télémètre à ultrasons (_), il enregistrera la distance en centimètres à l'obstacle.

La ligne Ultrasonic ultrasonic (4, 2) n'est rien d'autre qu'une déclaration d'une variable pour le télémètre à ultrasons, tirée de l'exemple de la bibliothèque incluse. Entre parenthèses sont les ports auxquels les jambes et le capteur sont connectés.

Le troisième bloc : (), nous y configurons toutes les entrées et sorties du microcontrôleur. Nous recevrons les signaux entrants sur les ports 15, 17, nous leur attribuons donc (Entrée). Nous avons quatre ports contrôlant les moteurs : 3,5 pour le moteur gauche et 6,9 pour le moteur droit, nous les affectons en sortie.

Pourquoi utilisons-nous deux ports pour un moteur ? Tout est simple; Si une tension est appliquée aux contacts du moteur, il commencera à tourner dans l'une des directions, disons dans le sens des aiguilles d'une montre. Mais si vous changez la polarité, c'est-à-dire changez le "plus" et le "moins" - l'arbre du moteur tournera dans l'autre sens. Nous utiliserons cette propriété pour des manœuvres à part entière.

5. La boucle de la boucle principale.

Dans ce cycle, le programme principal du contrôleur est exécuté. Vous ne pouvez pas en sortir complètement ou le compléter. A partir de là, seuls les appels à des procédures externes, les soi-disant sous-routines, sont possibles.

Considérons la structure de notre cycle basé sur l'algorithme de la Fig. 9

Riz. 9. Algorithme de la boucle principale Loop.

Dès le début, nous devons obtenir les lectures de tous les capteurs, pour cela nous appelons le sous-programme :

void check_sensor() // Sous-programme de vérification des capteurs.

R_Sensor=analogRead(15); // lire les bons relevés de capteur

L_Sensor=analogRead(17); // lit les lectures du capteur gauche

retard(10); //retard pour terminer la conversion ADC

dist_cm = ultrasonic.Ranging(CM); // lire les lectures du télémètre à ultrasons

retard(10); // Délai pour terminer la conversion

Après réception des données, nous devons les traiter. Nous devons d'abord déterminer notre emplacement, que nous soyons dans le ring ou non. Si nous vérifions la présence d'un adversaire à moins de 40 cm dans le ring, s'il n'y a pas d'adversaire, nous le recherchons en tournant vers la procédure de gauche :

void go_left() // recherche une cible ou va à gauche

analogWrite(5, 100); //MOTEUR GAUCHE

analogWrite(6, 100); //MOTEUR DROIT

La valeur de la puissance des moteurs est presque divisée par deux, si on tourne trop vite, on peut se faufiler à travers la cible détectée par inertie.

Si la cible est détectée, nous devons l'attaquer en avançant à toute vitesse.

void go_forward() //Attack - aller de l'avant

analogWrite(3, 0); //MOTEUR GAUCHE

Si, au moment de l'attaque, nous avons heurté le bord du ring et trouvé une bande blanche, nous devons nous arrêter, reculer, faire demi-tour et avancer un peu, puis reprendre la recherche. Pour cela, appelez les procédures dans l'ordre :

go_stop(); // arrêt

retard(100); // attend 10ms

retourner(); // Reculer

retard(1000); //1 seconde.

aller à droite(); //Tournez à droite

retard(300); //300ms

aller de l'avant(); //Avance

retard(300); //300ms

void go_stop() //stop

analogWrite(5, 255); //MOTEUR GAUCHE

analogWrite(9, 255); //MOTEUR DROIT

void go_back () // retour en arrière

analogWrite(3, 255); //MOTEUR GAUCHE

analogWrite(6, 255); //MOTEUR DROIT

analogWrite(9, 0); //MOTEUR DROIT

void go_right () //recherche une cible ou se déplace vers la droite

analogWrite(3, 100); //MOTEUR GAUCHE

analogWrite(5, 0); //MOTEUR GAUCHE

analogWrite(6, 0); //MOTEUR DROIT

analogWrite(9, 100); //MOTEUR DROIT

void go_forward() //Attaque vers l'avant

analogWrite(3, 0); //MOTEUR GAUCHE

analogWrite(5, 255); //MOTEUR GAUCHE

analogWrite(6, 0); //MOTEUR DROIT

analogWrite(9, 255); //MOTEUR DROIT

Les délais entre les procédures déterminent la durée des moteurs dans différentes directions de mouvement. Si vous l'augmentez ou la diminuez, vous pouvez obtenir différents angles de rotation ou la distance que le robot parcourra avant l'exécution de la commande suivante.

Le sketch complet à télécharger se trouve en fin d'article.

Le code présenté, bien sûr, n'est pas l'option finale ou la plus correcte, chacun de vous a le droit de le compléter ou de le corriger en fonction de vos besoins, car l'essence générale de l'article est d'apprendre aux roboticiens débutants à penser logiquement et systématiquement, résoudre correctement les tâches en utilisant toutes les ressources disponibles.

Archives 1

Archives 2à l'article "Programme du robot minisumo".

Si VOUS avez des questions, écrivez sur le FORUM ou dans le chat en ligne sur la robotique, nous en discuterons !

Attention! La copie totale ou partielle du matériel sans l'autorisation de l'administration est interdite !

Bonjour! Souhaitez-vous assembler un robot qui n'est pas difficile à assembler? Vous êtes arrivé au bon endroit! =) C'est sur notre site que vous pourrez trouver des articles détaillés sur le montage pas à pas de votre premier robot, ainsi que de nombreux autres robots, et même pour des compétitions.

Nous sommes très heureux que nos articles vous aident, débutant en robotique, à maîtriser ce domaine des plus intéressants et à pomper vos compétences dans cette direction. Nous tenons également à noter que selon ces articles, nous, les développeurs du site Web SERVODROID, dispensons des cours de libre cercles de la robotique, et nous aimons vraiment enseigner et dire à tout le monde ce qu'est la robotique BEAM.

Aidez notre projet ! Inscrivez-vous sur notre site Web et venez sur notre chat ou forum en ligne et partagez vos créations et vos progrès - après tout, c'est votre activité qui attire de plus en plus l'attention sur la robotique pour les débutants - ils regardent votre succès et veulent devenir tout aussi cool , et nous vraiment C'est agréable de voir que tout fonctionne pour vous. Et si quelque chose ne fonctionne pas, nous vous aiderons ;)

Vous avez aimé l'article ? A partager entre amis :