Lego Mindstorms Robots - Divertissant une robotique. Pourquoi utiliser le câble USB pour connecter le module LEGO® Mindstorms® EV3 à un ordinateur si vous pouvez vous connecter via Bluetooth? Connecter Robocam à EV3

Cette section présente divers robots LEGO. En commençant par Mindstorms - un robot pour les utilisateurs avancés et même des professionnels, se terminant par les caractères légendes: usine de héros, Ninjago, Chima, etc.


Commençons notre récit avec un jouet de LEGO inhabituel - un robot électronique interactif basé sur le processeur NXT 2.0! Avec l'aide de l'instruction, peut collecter même un bébé de 10 à 12 ans! Les robots lego Mindstorms aimeront non seulement aux enfants, mais aussi leurs parents, comme il est très fonctionnel et la possibilité de sa programmation est vraiment illimitée! Vous pouvez construire vos modèles programmables!

La programmation du robot est très pratique à effectuer via l'interface conviviale du programme pouvant être installé à partir du disque! Si vous le souhaitez, choisissez un ensemble de fonctions, vous pouvez combiner les touches de l'unité de contrôle centrale. Le robot a une très bonne fonctionnalité, qui est réalisée au détriment des servomoteurs interactifs et des capteurs spéciaux répondant à la lumière, au son, impact mécanique Et sur d'autres stimuli externes!

Les esprits peuvent se déplacer dans des directions différentes, reproduire des sons, distinguer les couleurs, collecter un cube de gravats, prendre des objets sans lourde, gardez la pièce à gauche en train ou en voiture à distance et bien plus encore! Outre les capteurs habituels fournis dans l'ensemble initial, vous pouvez acheter d'autres accessoires différents: divers capteurs, adaptateurs, moteurs, batteries et plus, ce qui élargira de manière significative les capacités de votre robot LEGO!

L'instruction sur le disque logiciel propose plusieurs modèles d'esprit initiaux et faciles à assembler: un robot, une trieuse de balles colorées, un gardien de la pièce et des autres.

Votre enfant ne vous ennuyera jamais, mais d'apprendre les compétences de la conception et de la programmation dans une forme de jeu, également une leçon très informative!

Une autre série est l'usine de héros. Les héros de la série d'usines de Hero sont des créatures très colorées, c'est un hybride d'une personne et d'un robot et du nom d'entre eux - Cyborg! Les robots de figures ont des mains et des jambes déplacées, elles détiennent diverses armes, ce qui les aide à se battre avec des hordes de mutants qui servent le Seigneur enflammé.

Cette série d'usines de héros est un analogue de Boneics, il sera donc heureux d'être perçu par les fans de dessins animés sur les robots.

Parmi les personnages, il y a aussi gentil: Stormer, Fourno, Breeze et Autres, et des héros négatifs: Pordozer, Jetbag, Von Nébul, qui obéir au Seigneur puissant et mauvais Fiery. Essayez de rassembler toute la collection des figurines usine Heroes Lego robots et organiser votre bataille pour la célébration de la bonne et de la justice!

Un robot recueilli de la concepteur Lego Mindstorms EV3, vous pouvez facilement gérer à distance de la première personne. Pour cela, vous aurez également besoin de deux smartphones, l'application Robocam installée sur l'une d'elles. Faisons connaissance avec l'application Robocam et apprenez à l'utiliser.

L'article décrit les nouvelles fonctionnalités figurant dans la première version de la version 1.0 de l'application Robocam. Tous les articles dédiés à l'application Robocam que vous pouvez trouver. L'application Robocam peut être installée à partir de Google Play Store.

Tout d'abord, voyons la vidéo, où le robot est montré, contrôlé par la première personne, que j'ai appelé le chercheur EV3. En plus du fait que le robot puisse rouler dans n'importe quelle direction, il sait lever et baisser sa tête, c'est-à-dire Le cadre auquel le smartphone est attaché. Et cela signifie que vous pouvez regarder non seulement sur les côtés, mais aussi haut / bas.

Quel est nécessaire pour l'expérience?

Pour répéter l'expérience que vous voyez sur la vidéo, vous avez besoin des éléments suivants:

  1. Robotcollectés à partir du designer Lego Mindstorms EV3.
  2. Smartphone Android Avec la caméra et l'application Robocam installée dessus. Android 2.3 et supérieur est pris en charge. Dans un smartphone, au moins une caméra doit avoir au moins une caméra, ainsi que des modules Bluetooth et Wi-Fi.
  3. Smartphone ou tablette Avec le navigateur moderne avec support HTML5. Bien adapté et testé navigateurs google Chrome, yandex.browser, firefox et opéra versions récentes. Le système d'exploitation est peut-être en principe (Android, iOS ou Windows), mais des tests complets n'ont été effectués que sur Android. Le smartphone ou la tablette doit être au moins écran tactile (De préférence avec une reconnaissance de la touche au moins 2 points) et du module Wi-Fi.

Schéma de connexion

Tout d'abord, voyons comment tous les appareils ci-dessus sont connectés les uns aux autres. Il est mieux illustré par le dessin ci-dessous.

Comme vous pouvez le constater, l'application Robocam est installée sur le smartphone 1. Ce smartphone est connecté au robot et connecté à celui-ci via Bluetooth. À partir du smartphone 1 à EV3, les gestionnaires de commandes reviennent des informations des capteurs.

Le 2e smartphone ou la tablette se connecte au smartphone 1 via Wi-Fi. Smartphone 1 et smartphone ou tablette 2 doivent être connectés à un routeur. À partir du smartphone ou de la tablette 2, les coordonnées des joysticks sur le smartphone 1 sont les coordonnées du smartphone et le flux vidéo de la caméra revient.

Comment gérer ev3

Pour mieux comprendre comment le robot EV3 est géré, voyons le schéma suivant.

Lorsque vous commencez à toucher les joysticks A et B, le smartphone ou la tablette 2 transmet les coordonnées de la touche de smartphone 1, qui les convertit en commandes pour Moteurs EV3. Comment les coordonnées seront converties dépend des paramètres de l'application Robocam. Nous allons parler plus sur les paramètres ci-dessous.

Collecter le robot

Pour répéter l'expérience, tout d'abord, vous devez collecter un robot que vous gérerez. Il peut s'agir d'un simple robot à deux roues, d'une voiture de robot ou d'un robot avec un mécanisme de mouvement complexe. De plus, peu importe ce que votre robot sera, car le programme Robocam est ajusté de manière flexible et vous pouvez gérer avec son aide avec un robot de toute conception. L'essentiel est que vous puissiez consolider votre smartphone sur votre robot afin que la caméra soit attribuée en avant, le long du déménagement.

Je recommande de commencer avec un modèle simple. Si vous avez un ensemble éducatif de Lego Mindstorms EV3, vous pouvez assembler le chercheur EV3 que vous voyez sur la photo et la vidéo au début de l'article. Voici le schéma d'assemblage du chercheur EV3:

Instructions pour l'assemblage de chercheuse EV3 Version 2.

Instructions pour assembler le robot du chercheur EV3 à partir du constructeur de composition de base de base de base de l'éducation Lego Mindstorms Education EV3 (45544).

Dans la version 2: Le cadre est fixé plus fort et ne pas tomber.

06/04/2016 4.95 MB 5783

Cuisson Android-Smartphone et Robocam

L'application Robocam fonctionne sur les smartphones ou les tablettes exécutant le système d'exploitation Android 2.3 et plus. Obligatoire est la présence d'un dispositif de n'importe quelle caméra intégrée et de modules Bluetooth et WiFi. L'application est gratuite, vous pouvez la définir à l'aide de Google Play Store. Voici la page d'application Robocam. Pour installer, cliquez sur le bouton Définir et prenez les autorisations requises en cliquant sur le bouton "Accepter".

Après l'installation, ouvrez l'application. Dans Android 6 et plus, vous verrez immédiatement une demande d'autorisation d'utiliser la chambre. Nous avons besoin d'une caméra, alors cliquez sur "Autoriser".

Une fois que l'application s'ouvre, vous verrez trois boutons ronds pour des actions de base et dans le fond d'écran de fond de la caméra.

Le bouton vert à gauche est responsable du lancement et de l'arrêt du serveur Robocam, qui est nécessaire pour connecter un smartphone ou une tablette 2, voir le diagramme ci-dessus. Dans le même temps, le bouton indique le serveur ou non. Sur la photo, l'arrière-plan des boutons blancs, cela signifie que le serveur ne fonctionne pas. Cela dit également l'indice d'en haut. Vous pouvez démarrer ou arrêter le serveur à tout moment en cliquant sur ce bouton.

Le bouton Magenta moyen est responsable de la connexion au robot EV3. Dans le même temps, le bouton indique si le smartphone est connecté au robot ou non. Sur la photo, les boutons d'arrière-plan sont blancs, cela signifie que le robot n'est pas connecté. Ce bouton a également un indice, juste sous la touche où l'état de la connexion est affiché dans la ligne supérieure (ceci n'est pas connecté dans l'image) et dans la ligne inférieure - le nom des paramètres actuels du robot (dans l'image C'est "EV3 chercheur").

Le bouton de droite ouvre les paramètres du programme Robocam. Si vous utilisez mon chercheur EV3, alors rien n'est nécessaire pour personnaliser quoi que ce soit, parce que Immédiatement après le premier lancement de l'application, les paramètres par défaut seront sélectionnés avec le nom "EV3 Chercher". Si vous avez un autre robot, vous devrez d'abord creuser dans les paramètres. Mais parlons de cela ci-dessous.

Serveur Robocam Démarrer et se connecter à celui-ci

Immédiatement, je dirai que cela n'a pas d'importance du tout que vous ferez avant, exécutez le serveur Robocam ou connectez le smartphone au robot. Cela peut être fait dans n'importe quel ordre.

Ainsi, une fois l'application installée sur le smartphone 1 (voir Schémas ci-dessus) et Ouvrir, vous pouvez démarrer le serveur Robocam. Pour ce faire, cliquez sur le bouton vert à gauche, tandis que le bouton clignote et "L'initialisation du serveur Robocam ..." sera écrit dans l'invite. Après un certain temps, après le démarrage du serveur, le bouton du bouton est peint dans une couleur verte et dans la pointe, il sera écrit "Robocam Server".

Si le smartphone n'est pas encore connecté à votre routeur Wi-FI (comme nous l'avons sur la photo), il est temps de le faire. Après la connexion à l'indice supérieur de la deuxième ligne, l'adresse sera affichée pour connecter le serveur Robocam. Lorsque vous activez le serveur, il n'ya aucune différence qui s'allume en premier, le serveur Robocam ou Wi-Fi.

Maintenant, vous pouvez vous connecter à Robocam Server. Pour ce faire, prenez le deuxième smartphone ou la tablette (je vais utiliser la tablette), assurez-vous qu'il est connecté au même routeur Wi-Fi, ouvrez le navigateur et accédez à la page avec l'adresse, qui est indiquée dans le Invite dans l'application Robocam (dans la photo, il "http: //192.168.1.153: 8088"). Le navigateur doit être utilisé par l'un de ceux qui ont été écrits ci-dessus. Si vous avez tout fait correctement, une page pour entrer dans un identifiant et un mot de passe sera chargée dans le navigateur. Entrez le login et le mot de passe ici et cliquez sur le bouton de connexion. Si après l'installation, vous n'avez rien changé dans les paramètres, les "administrateurs" par défaut et le mot de passe "123" sont installés.

Vous verrez ensuite la page principale du serveur Robocam sur lequel vous verrez une image de la caméra du smartphone 1 (voir le schéma ci-dessus).

Comme vous pouvez voir l'orientation du smartphone 1 - Portrait et ma tablette est un paysage. Vous pouvez retourner votre smartphone 1 afin qu'il soit aussi dans orientation paysage. Dans ce cas, la photo dans la machine à tablette changera au paysage.

Veuillez noter que l'orientation ne change pas si vous avez bloqué votre smartphone 1.

Pour désormais une image Plein écran, cliquez sur l'icône à droite sur la page. Ils supprimeront donc tous les boutons inutiles pour nous, les signets du navigateur, etc., et l'image de la caméra deviendra plus grande.

Connecter Robocam à EV3

Avant de connecter l'application Robocam à l'EV3, assurez-vous que votre robot EV3 et le smartphone sont allumés sur Bluetooth et qu'ils sont associés. Assurez-vous également que les moteurs sont connectés à ces ports spécifiés dans les paramètres du robot. Le nom des paramètres actuels est écrit à l'invite du bouton central de la deuxième ligne, dans l'image ci-dessous, c'est "chercheur EV3". Si vous avez collecté EV3 chercheurs de mon schéma (voir ci-dessus) et après avoir installé l'application Robocam, n'a pas changé les paramètres, puis reste confiant que tout est configuré correctement. Les paramètres seront écrits ci-dessous.

Donc, si tout est prêt, cliquez sur le bouton pourpre central. Si vous avez sur smartphone Bluetooth Il s'est avéré être éteint, vous verrez une demande d'inclusion. Cliquez sur "Oui".

En outre, vous verrez que le bouton commence à clignoter et au lieu de l'invite, une liste des périphériques jumelés via des périphériques Bluetooth apparaîtra. Choisissez votre robot EV3 (dans la photo est "EV3", mais vous pouvez avoir un autre nom dans les paramètres EV3).

Après cela, l'application se connectera à EV3.

Si, à ce moment-là, le client est connecté au serveur Robocam, vous verrez comment les joysticks apparaîtront (joysticks rectangulaires et ronds au bas du bas). Après cela, vous pouvez immédiatement contrôler le robot.

Dans les paramètres par défaut du chercheur EV3, vous aurez deux joysticks: rond et vertical (voir l'image ci-dessus). Le joystick vertical est géré par un porte-cadre du smartphone et le tour est le mouvement du robot. L'icône avec l'image de la paume à droite, modifie les joysticks dans des endroits pour changer de commande rapidement pour les gauchers et les droitiers. En savoir plus sur les joysticks sera écrit ci-dessous.

Arrêtez le serveur Robocam et la déconnexion EV3

Une fois que vous avez terminé de conduire un robot avant de fermer l'application Robocam, il est recommandé d'arrêter le serveur Robocam et de désactiver EV3 depuis le smartphone. Cela peut être fait dans n'importe quel ordre. Pour arrêter le serveur, cliquez sur le bouton vert à gauche. Après cela, le bouton du bouton deviendra blanc et l'invite affiche le "Server Robocam Off". Pour désactiver EV3, cliquez sur le bouton pourpre central. Après cela, le bouton du bouton deviendra blanc et sur la pointe dans le haut de la ligne, vous verrez l'inscription "EV3 n'est pas connectée". Dans le même temps, les moteurs s'arrêteront ou prennent la position d'origine en fonction des paramètres.

Pour aller aux paramètres, appuyez sur le bouton gris à droite.

Les paramètres sont divisés en 2 parties: paramètres du serveur et paramètres du robot. Tout d'abord, voyons ce qui est dans les paramètres du serveur. Sélectionnez "Serveur".

Les paramètres du serveur sont divisés en 2 groupes: paramètres de la caméra et paramètres de sécurité. Dans les paramètres de la caméra, vous pouvez sélectionner la caméra (avant ou arrière), la taille de l'image et la qualité JPEG. Plus vous définissez la taille de l'image, plus et plus rapide, il y aura une transmission vidéo au client, mais la qualité d'image s'aggravera. Influence de la même manière le transfert de vidéo et de qualité JPEG: que meilleure qualité JPEG (90 et plus pour cent), meilleure, mais la vitesse plus lente, et vice versa, plus la qualité de JPEG (40 et moins pour cent), plus la vitesse, mais pire la photo. Choisissez ce qui est optimal pour vous.

Dans les paramètres de sécurité, vous pouvez modifier le nom et le mot de passe du pilote (par défaut est le nom "Admin" et mot de passe - "123"). En outre, les observateurs par défaut sont inclus. Les observateurs peuvent parallèler avec vous voir l'image de la caméra, mais ne peuvent pas contrôler le robot. Vous pouvez également spécifier le nom et le mot de passe de l'observateur (par défaut, le "invité" et le mot de passe "123") sont utilisés ici. Pour désactiver les observateurs, retirez la case «Autoriser l'observateur».

Le nombre de pilotes et d'observateurs n'est pas limité, mais la connexion de plus d'un conducteur peut entraîner des conflits tout en exploitant et à transmettre le flux vidéo. Il n'est pas recommandé de se connecter au serveur Robocam plusieurs pilotes. Un grand nombre d'observateurs peuvent également affecter négativement le transfert de vidéo. Il est souhaitable de réduire le nombre d'observateurs au minimum ou généralement désactiver cette fonctionnalité.

Après avoir modifié les paramètres, vous pouvez les enregistrer en cliquant sur le bouton "Enregistrer" sur la droite ci-dessus ou quitter sans enregistrer en cliquant sur le bouton "Annuler" ou la flèche à gauche. Après avoir enregistré les paramètres du serveur, les clients peuvent être désactivés et vous devrez vous connecter à nouveau.

Liste des paramètres du robot

La deuxième partie des paramètres du programme Robocam est des paramètres du robot. Cliquez sur "Robot" pour accéder à la liste des paramètres de robots.

Dans la liste des paramètres de robots, vous pouvez voir les paramètres de tous vos robots. Vous pouvez ajouter ou supprimer les paramètres à tout moment en appuyant, respectivement, le bouton "Ajouter" ou "Supprimer" en haut de la droite. Et immédiatement sous les boutons, vous pouvez voir les paramètres actuels. Utilisation de cet élément, commutation entre les paramètres de vos robots. Voyons maintenant les paramètres du chercheur EV3. Pour ce faire, sélectionnez la liste "EV3 Chercher".

Au début informations générales: Nom et description du robot. Le nom et la description sont affichés dans la liste afin que vous puissiez facilement trouver les paramètres souhaités. De plus, le nom est affiché dans l'écran principal du programme sous le bouton central, avec lequel vous êtes connecté à l'EV3. Vous trouverez ci-dessous les réglages des joysticks.

Au total, vous pouvez configurer jusqu'à 4 joysticks, mais à la fois à l'écran, le client n'aura qu'une paire de joysticks 1-2 ou 3-4. Cependant, si vous utilisez un joystick 1 et 3, ils ne seront toujours pas visibles en même temps, car appartiennent à différentes paires et vous verrez soit Joystick 1, ou Joystick 3. L'apparition de chaque joystick est incluse dans la coche " Visibilité" Si vous avez activé 2 paires de joysticks, un bouton pour basculer entre paires apparaît sur l'écran du client.

Donc, dans les paramètres, vous pouvez voir le groupe "Joystick 1", "Joystick 2", "Joystick 3" et "Joystick 4". Chacun d'entre eux a collecté des paramètres pour un joystick. Voyons les réglages du "joystick 1". Tick \u200b\u200b"visibilité", comme vous avez déjà compris, montre ou cache le joystick. Si la coche n'est pas installée, les paramètres de ce joystick seront cachés.

Légèrement plus bas dans la liste déroulante La forme»Vous pouvez choisir la forme du joystick et avec le formulaire et ses caractéristiques. Les formulaires de joystick suivants sont disponibles: vertical, horizontal, rond, carré, flèches, flèches verticales et flèches horizontales. Voici ce que ressemblent les joysticks énumérés:

Le joystick vertical ne perçoit que la hauteur de l'instruction, c'est-à-dire Il vous a toujours touché à lui à gauche ou à droite, surtout à quelle hauteur. Touch Coordonnée pour cela va aller de -100 au point le plus bas à 100 au point le plus élevé avec 0 au milieu.

Le joystick horizontal fonctionne de la même manière, mais horizontalement. Il est toujours à quelle hauteur touche, la principale chose est à gauche ou à droite. Ici, la coordonnée tactile est calculée horizontalement à partir de -100 dans le point le plus à gauche jusqu'à 100 au point droit avec 0 au milieu.

Les joystick ronds et carrés sont similaires. Ici, les coordonnées du toucher sur les axes horizontales et verticales sont déterminées, allant également de -100 à 100 ° C 0 centralement. Mais dans le joystick tactile circulaire ne peut pas aller au-delà du cercle. Ceux. Si le point tactile est derrière la plage du cercle, le point sera pris à l'intersection de la ligne du point tactile au centre du cercle avec un cercle. Il peut être vivement vu dans la figure ci-dessous.

Les flèches de joysticks ne sont pas sensibles au point de contact, surtout, à laquelle vous touchez. Si vous touchez la flèche vers le haut, on croit que la coordonnée du joystick vertical sera de 100 et horizontalement 0. Pour la flèche vers le bas, la coordonnée horizontale du joystick sera également de 0, et la verticale se transformera à -100. De même, les flèches gauche et droite: la coordonnée verticale du joystick sera égale à 0, et l'horizontale sera respectivement -100 et 100.

Immédiatement sous la forme, le type de joystick est sélectionné dans la liste déroulante " Un type" Ici, vous pouvez choisir l'une des valeurs suivantes: "Moteurs indépendants", "Rouulation 1", "Roueutin 2" et "Boîte aux lettres".

Joysticks avec des types " Règle 1."Et" Règle 2.»Permettez au robot avec deux roues principales indépendantes, telles que le chercheur EV3. Les coordonnées du contact à de telles joysticks se transformeront automatiquement en commandes des moteurs. Pour le joystick, vous n'avez besoin que de choisir, sur lequel le port restera à gauche et sur quelles roues droites. Mais cela sera écrit juste en dessous.

"Rouulation 1" vous permettra de gérer un robot à deux roues comme une voiture. Ici, vous ne serez pas en mesure de déployer un robot sur place. Plus le contact est proche du centre par vertical, plus la vitesse est faible. "Rouulation 2" permet au robot de tourner sur place.

Joystick avec type " Moteurs indépendants"Convertit la coordonnée horizontale du toucher dans l'équipe du moteur, quelle que soit la coordonnée verticale. Pour le joystick, vous devrez spécifier quel moteur sera contrôlé lorsque la coordonnée horizontale change et que lorsque la coordonnée verticale change. Ce type de joystick peut être utilisé pour contrôler la machine, qui dispose d'un moteur qui tourne le volant et le deuxième moteur tord sur les roues principales. Dans ce cas, la variation de la coordonnée horizontale doit être configurée pour faire pivoter le premier moteur et la modification de la coordonnée verticale est de faire pivoter le deuxième moteur.

Joystick avec type " Boites aux lettres»Il va simplement transmettre des coordonnées de toucher boîtes aux lettres Ev3. Pour que votre robot vienne à vie, vous devrez écrire un programme pour EV3, qui traitera ces coordonnées. Avec l'aide d'un joystick de ce type, vous pouvez faire des modèles plus complexes de contrôler le robot, car Vous pouvez implémenter votre propre algorithme pour convertir les coordonnées extraites du joystick vers les commandes du moteur. Par exemple, vous pouvez faire un guide EV3. Le joystick 1 transmet les coordonnées dans les boîtes aux lettres avec les noms X et Y, le joystick 2 - dans les boîtes aux lettres W et Z, le joystick 3 - dans les boîtes aux lettres A et B et le joystick 4 - dans les boîtes aux lettres C et D.

Les deux paramètres suivants " Touche finale (pour l'axe horizontal)"Et" Fin de touche (pour l'axe vertical)»Déterminez ce qui va arriver lorsque vous arrêtez de parler du joystick. Ici, vous pouvez choisir l'une des deux options: "Retourner à zéro" ou "Enregistrer la position". Le retour à zéro est logique d'utiliser dans la plupart des situations, par exemple, si vous avez besoin d'un robot pour vous arrêter lorsque vous arrêtez de parler du joystick, convient simplement à l'option "Retourner à zéro". La position avec la préservation de la position sera utile lorsque vous devez vous rappeler la dernière coordonnée du Touch. Cette option est utilisée, par exemple, pour incliner le chercheur EV3. Ce paramètre est disponible pour toutes les formes de joystick à l'exception des joysticks-flèches.

Si vous utilisez le type de joystick "Moteurs indépendants", "Route 1" ou "Route 2", alors ci-dessous vous trouverez les paramètres de port de ce joystick. Les ports qui géreront le joystick peuvent être ajoutés et supprimés. Pour ce faire, il y a des boutons "Ajouter" et "Supprimer". Le nombre de ports n'est pas limité. Le bas de la première figure montre les réglages du joystick avec le type "Moteurs indépendants" et sur le second dessin du joystick avec les types "Rouulation 1" et "Rouulation 2". Comme vous pouvez le constater, il y a une petite différence.

Exécutons sur les paramètres du port. Réglage " Axe de joystick»Apparaît uniquement pour le joystick avec le type" Moteurs indépendants ". Une option ici est deux: "horizontale" et "verticale". Si vous avez choisi "horizontal", le moteur ne répondra que lorsque la coordonnée de coordonnées est modifiée le long de l'axe horizontal et si la "verticale" est choisie pour toucher l'axe vertical.

Réglage " Moteur»Apparaît uniquement pour les joysticks avec un type" ROUULATION 1 "ou" ROUULATION 2 ". Ici, vous choisissez entre "gauche" et "droite".

Réglage " Module EV3."Il faudra si vous avez collecté un robot avec l'utilisation de plusieurs modules EV3 connectés à la" guirlande ". Ici, vous pouvez choisir le numéro du module de 1 à 4. Si vous n'avez qu'un seul module EV3, il doit toujours être 1.

Réglage " Numéro de port»Vous pouvez sélectionner le port moteur de A à D.

Réglage " Valeur changeante»Apparaît uniquement pour le joystick avec le type" Moteurs indépendants ". Voici deux options: "Puissance moteur" et "ANGLEUR DE TURN MOTEUR". Si vous avez choisi " Puissance du moteur"Le joystick affectera la puissance du moteur, c'est-à-dire Plus du centre, le joystick vous touchez, plus le moteur tournera rapidement. Si vous avez choisi " Angle de rotation du moteur"Le joystick affectera l'angle de rotation du moteur, c'est-à-dire Le plus éloigné du centre, le joystick vous touchez, le moteur se tournera vers l'angle plus grand. Dans ce cas, la puissance du moteur sera configurée avec le réglage " Pouvoir" Plus ce chiffre sera, plus le moteur sera plus rapide réagira au changement de la coordonnée du toucher, et mieux il restera l'angle.

Cochez l'installation " Inverser"Permettra d'invaincre la puissance ou l'angle calculé, et" Coefficient»Augmentez ou diminuez la valeur calculée.

Lors de l'installation d'une tique " Freiner"Les moteurs vont s'arrêter rapidement, c'est-à-dire Va ralentir. Lorsque vous retirez cette coche, les moteurs vont tourner dans l'inertie à l'arrêt complet.

Voici les paramètres réels et tous les paramètres dans le programme Robocam. Si quelque chose est incompréhensible, écrivez dans les commentaires.

Connexion sans routeur

Maintenant, des astuces pouvant faire l'utilisation de l'application Robocam sont un peu plus pratiques. S'il n'y a pas de routeur à proximité, comme si vous êtes dans la rue, vous pouvez organiser la connexion entre le smartphone 1 et le smartphone ou la tablette 2 directement. Pour ce faire, vous devez activer le point d'accès sur le smartphone 1 (le point d'accès dans le système Android est généralement inclus dans les paramètres de connexions réseau). Après allumer, le smartphone 1 se transformera en routeur w-fi Et vous pouvez facilement connecter une tablette ou un smartphone à celui-ci 2. Voici comment la connexion ressemblera schématiquement.

L'adresse du serveur Robocam que vous pouvez apprendre exactement de l'invite au bouton. Dans la plupart des cas, pour un tel point d'accès, l'adresse sera toujours http://192.168.43.1:8088.

Utiliser Smartphone 1 comme Joystick

Vous pouvez faire une autre astuce avec l'application Robocam. Sur le smartphone 1 (sur lequel vous avez installé l'application Robocam) exécutez le serveur, connectez-vous au robot, puis sur le même smartphone, démarrez le navigateur (naturellement qui prend en charge HTML5) et accédez à http: // localhost: 8088. Vous verrez une page pour entrer un identifiant et un mot de passe. Connectez-vous comme pilote. Après avoir entré, vous verrez les joysticks et peut gérer le robot. Vrai dans ce cas, l'image de la caméra ne sera pas transmise. Wi-Fi peut être désactivé.

Résultat

J'espère avoir donné une quantité suffisante d'informations sur la manière d'utiliser l'application Robocam. Si vous avez des questions sur le programme ou des suggestions, vous pouvez les laisser dans les commentaires à cet article ou dans la communauté.

Quel est le designer le plus célèbre du monde? Bien sûr Lego! Et quelle est la plate-forme la plus célèbre pour enseigner la robotique? Bien sûr, lego Mindstorms! Nous comprendrons pourquoi.

LEGO: Le métier de charpentier au leadership dans le monde des jouets

Compagnie LEGO. Fondé en 1932. Son fondateur - Dane Ole Kirk Christiansen. En tant que charpentier, il a créé la production de produits pour la maison et, plus tard, elle a également pris la production de cubes en bois pour enfants. La société a été nommée Lego en reliant des mots danois jambe - joueret godt est bon.

En 1947, Lego a commencé à émettre des jouets en plastique et déjà en 1949, il y avait de célèbres briques lego Latch.

Les principales idées dugo sont la modularité et la compatibilité. Bien que les briques pendant 65 ans de leur existence ont changé de conception et de forme, elles sont absolument compatibles. Les éléments modernes peuvent être facilement attachés à des éléments de 40 ans.

Aujourd'hui, le domaine de l'activité dugo est bien sûr beaucoup plus large que la production de jouets. La société crée des vêtements, des films, des jeux, organise des concours, y compris des robotiques. Les musées Lego sont ouverts dans le monde. Flots de divertissement à thème - Lego, qui sont presque entièrement construits à partir de cubes Lego.

De Lego, vous pouvez collecter des modèles de voitures, d'avions, de navires, de bâtiments et, bien sûr, des robots. À partir de la fin du siècle dernier, Lego produit un designer robotique spécial qui est devenu le chef de la robotique éducative.

Lego Mindstorms: robotique pour tous

Idée Ajouter aux détails standard Lego Electronic Programmable Block, capteurs et moteurs électriques, faire la programmation des enfants simples et compréhensibles et développer un concepteur spécial pour créer des robots déviés non seulement lego-Design, mais aussi toute la société. Depuis 1991, 11 ans de suite, la société a des pertes. Et c'est la direction robootechnique qui a sauvé la situation.

Pour le premier concepteur robotique Lego Mindstorms. A été présenté en 1998. B 2006 est sorti la deuxième version du concepteur - NXT.et au début de 2013 sont apparus Ev3. (Réduction de Evolution 3.).

De gauche à droite des boîtes dugo Minstorms 1998, 2006, 2013

Le coeur du designer est un micro-ordinateur (microcontrôleur), il est également p-brique, ou r-brique (de Brique programmable. - Brique programmable). Détails standard de LEGO (poutres, engrenages, axes, roues) Changement peu avec le développement du concepteur, les modifications les plus importantes subissent le micro-ordinateur.

La première version du concepteur était équipée d'un micro-ordinateur Rcx., deuxième - NXT.et dans la version moderne - Ev3..

De gauche à droite, les microcomputers Lego: RCX (1998), NXT (2006), EV3 (2013)

Avec le développement du concepteur, le fabricant adhère aux politiques de compatibilité ascendante, c'est-à-dire Les détails des anciennes versions peuvent être utilisés conjointement avec le nouveau designer. Par exemple, les capteurs de la version NXT peuvent être utilisés avec EV3. Le développement du concepteur dans la jambe avec le temps est principalement le développement d'un environnement de micro-ordinateur et de programmation. Une distinction importante du bloc EV3 moderne est qu'elle fonctionne sur un système d'exploitation Linux distribué librement.

Caractéristiques techniques du micro-ordinateur LEGO EV3:

  • Processeur - Arm9 (ARM7 a été utilisé dans le concepteur NXT 2.0);
  • rAM - 64 mégaoctets;
  • Mémoire flash - 16 mégaoctets;
  • sD EXPANSION SLOT;
  • USB 2.0 avec support de connexion Wi-Fi;
  • Bluetooth 2.1;
  • résolution de l'écran monochrome de 178 × 128 pixels;
  • quatre ports d'entrée;
  • quatre portage de la production;
  • interface de contrôle à six blocs;
  • haut-parleur intégré de haute qualité;
  • repas autonomes de six batteries AA, ou à l'aide de la batterie courant continu Ev3 2050 mah;
  • système d'exploitation Linux.

Avis vidéo MicroComputer Lego EV3:

Composition Lego Mindstorms EV3

Designeur Lego Mindstorms. - Il s'agit d'un ensemble de détails de LEGO standard, de micro-ordinateurs et de capteurs.

Lego Mindstorms EV3 Composants

Le concepteur a été conçu pour deux audiences cibles: pour Devoirs (enfants et amants) et pour utilisation dans les établissements d'enseignement (Élèves et enseignants). Pour chaque groupe, un ensemble de base a été créé - respectivement version en boîte de Lego ev3 et version éducation de Lego EV3.

Aussi pour chaque groupe, il existe plusieurs ensembles supplémentaires. Par exemple, le jeu de ressources, facultatif, est simplement un ensemble de détails de LEGO standard supplémentaires, en développant les capacités du constructeur. Il n'y a pas de limite claire entre la boîte et la version éducative - il s'agit du même constructeur qui a un petit ensemble complet différent.

Aujourd'hui, cet ensemble est activement mis en œuvre en Russie en Russie dans une robotique éducative pour les enfants d'âge préscolaire et des étudiants plus jeunes.

Un tel constructeur vous permet de collecter et de programmer avec un ordinateur plusieurs modèles de base en fonction des instructions et d'inventer votre propre. Dans l'ensemble de pièces compatibles avec des briques LEGO standard.

Lego Education Wedo seto Composition:

  • 158 éléments de construction;
  • Commutateur LEGO USB;
  • moteur;
  • capteur d'inclinaison;
  • capteur de distance.

À travers le commutateur, contrôle les capteurs et les motos utilisant le logiciel Wedo. À travers les connecteurs d'interrupteur, la mise sous tension des moteurs est appliquée et échange de données entre capteurs et ordinateur.

Présentation vidéo de l'ensemble LEGO WEDO:

Lego Education Wedo n'est pas seulement un concepteur, mais un soutien méthodique complet, prêt à introduire dans le processus éducatif. C'est un bon début pour la robotique.

Trouvez les cercles de robotique où Lego Wedo est utilisé dans notre.

Lego Education Wedo 2.0

UPD. 12.12.2017: Education Lego Début 2016 nouvelle version Robotique designer éducatif pour les enfants Wedo 2.0 (art.45300).

Partie ensemble de base Lego Wedo 2.0 inclut de nouvelles versions des capteurs de commutation, d'inclinaison et de mouvement, du moteur. Malheureusement, le nouveau designer n'est pas compatible avec les moteurs et les capteurs LEGO WEDO de la version précédente, car son microprocesseur (Smart Chub) dispose d'autres connecteurs de connexion. Smartthab Wedo 2.0 se connecte à un ordinateur ou à un comprimé à l'aide du protocole Bluetooth 4.0.

Existe-t-il une alternative augo dans la robotique éducative?

Aujourd'hui, la plate-forme Lego est le chef incontesté de la robotique éducative. Les ensembles de munitions Lego Mindstorms sont équipés de cercles de robotique dans de nombreux pays du monde. Sur les positions les plus importantes des esprits lego et en russe.

Quelles sont les raisons de ce leadership? Il y en a plusieurs.

Premièrement, c'est certainement la qualité de la plate-forme, d'une part, d'une part, d'une part, d'autre part, des opportunités de conception. De ce concepteur, vous pouvez construire non seulement des robots de jouets, mais également des prototypes de structures sérieuses, telles que, etc. Et inventer et mettre en œuvre tout cela peut les enfants. Et des esprits, vous pouvez faire un robot qui!

Robot Venerer sur WRO-2014 à Kazan

Y a-t-il des alternatives à la fonctionnalité? En général, oui. Ceci, par exemple, coréen, allemand, domestique Tour autre. Les plates-formes énumérées sont similaires à la LEGO. Il y a des concepteurs plus chers.

Deuxièmement, il s'agit d'un puissant mouvement olympiade robototechnique basé sur lego. Concours de classe mondiale - tels que, ainsi que de nombreux événements régionaux et festivals, contiennent l'obligation d'utiliser LEGO dans leur réglementation.

Les fabricants de designers de LEGO alternatifs font également la promotion de la concurrence sur la base de leurs plates-formes. Les compétitions de la robotique des jeunes sont donc entièrement basées sur des constructeurs de Huna. Les commentaires multiplateformes gagnent en popularité. En Russie, cela et juste annoncé Icar..

Troisièmement, la continuité des esprits lego. Avant de pouvoir être décrit ci-dessus Nous faisons., après - Tétrix. et Matrice.Les deux derniers utilisent des contrôleurs NXT et EV3, mais offrent une expansion mécanique et constructive importante. Étant donné que les enfants modernes se familiarisent avec lego à l'âge de même un an, continuent ensuite de travailler avec elle, puis il semble naturel et plus simple.

Quatrièmement, sur la popularité de Lego joue également un facteur de temps - il n'était que le premier dans cette région et a remporté le marché. Il y a des communautés actuelles dans différents paysIl existe de nombreux développements, il existe une expérience considérable dans l'éducation.

Le module principal du designeur Lego Mindstorms EV3 peut fonctionner avec le micrologiciel de Lejos qui vous permet d'exécuter des applications Java. Surtout pour cela, Oracle publié et prend en charge une version séparée de la version complète Java SE.

JVM normal m'a permis d'utiliser les extensions de gestion Java intégrées à celle-ci (JMX) pour mettre en œuvre télécommande Manipulateur de robot. Pour combiner les éléments de contrôle, les lectures de capteurs et les images des caméras IP installés sur le robot, la mémoire est utilisée sur la plate-forme globale.


Le robot lui-même se compose de deux parties principales: châssis et mains-manipulateur. Ils sont gérés par deux ordinateurs EV3 entièrement indépendants, leur toute coordination est effectuée via le serveur de contrôle. Il n'y a pas de connexion directe entre les ordinateurs.

Les deux ordinateurs sont connectés au réseau intérieur IP via des adaptateurs Wi-Fi Netgear Wnn1100. Le robot est contrôlé par huit moteurs Mindstorms - dont 4 "gros" et 4 "petits". Les capteurs infrarouges et à ultrasons sont également installés pour s'arrêter automatiquement à l'obstacle lorsqu'ils sont déplacés à l'envers, deux capteurs tactiles pour arrêter la rotation du manipulateur due aux obstacles et un capteur gyroscopique qui facilite l'orientation de l'opérateur en visualisant la position de l'épaule.

Dans le châssis installé deux moteurs, chacun transmet une force pour une paire de lecteurs suivis. Un autre moteur transforme entièrement tout le manipulateur de la main de 360 \u200b\u200bdegrés.

Dans le manipulateur lui-même, deux moteurs sont responsables de la levée et de l'abaissement de l'épaule "et de" l'avant-bras ". Trois autres moteurs sont engagés dans l'escalade / l'abaissement de la brosse, son tournant de 360 \u200b\u200bdegrés et une compression / pressant "doigts".

Le nœud mécanique le plus complexe est "brosse". En raison de la nécessité de transporter trois moteurs lourds dans la zone "coude", la conception s'est avérée suffisamment rusé.

En général, tout ressemble à ceci (les cases des matchs étaient difficiles à trouver pour l'échelle):

Deux caméras sont installées pour envoyer une photo:

  • Smartphone normal Android avec une application Webcam IP installée pour une vue générale (à l'image de HTC One)
  • Caméra de micro-caméra de micro-caméra Wi-Fi autonome, installée directement sur les "brosses" d'un manipulateur et aidant à saisir les objets d'une forme complexe

Programmation EV3.

Par le robot, il s'est avéré le plus simple que possible. Les programmes de deux ordinateurs sont très similaires, ils exécutent le serveur JMX, enregistrent Mbean S, correspondant aux moteurs et capteurs et s'endormirent en attendant les opérations JMX.

Le code des classes principales à la main-manipulateur

public standing vide Main (String args) (essayer (départ ... "); ev3helper.startjmxserver (" 192.168.1.8 ", 9000); MBeanserver mbs \u003d GestionFactory.getplatFormMbeanserver (); Moteur Ev3LargerEguledDeFault (Briquefinder.getDefault ( ). GetPort ("A")); Largemotorxbean m \u003d nouveau largemotorcontroller; ObjectName n \u003d nouveau nom d'objet ("Robot: nom \u003d Motora"); mbs.registermbean (m, n); // Enregistrement d'autres moteurs ici Ev3Touchsensor touchsensor \u003d nouveau Ev3touchsensor (sensorport.s1); touchsensormxbean tos \u003d nouveau touchsensorcontroller (touchsensor); N \u003d nouveau nom d'objet ("robot: nom \u003d capteur1"); mbs.registermbean (tos, n); // Enregistrement d'autres capteurs ici EV3HELPER.PRINTONLCD (" En cours d'exécution "); Son.beepEpenceUncerup (); thread.sleep (integer.max_value);) Catch (Distanrable e) (E.PrintStackTrace ();))) Public Class EV3Helper (Voyant statique StartJMXServer (Adresse de chaîne, Port Int) ( MBeanserver Server \u003d GestionFactory.getplatf Ormmbeanserver (); Essayer (Java.rmi.registry.LocAreeReGyRy.Createregist (Port); JMXServiceURL URL \u003d Nouveau JMXServiceURL ("Service: JMX: RMI: /// JNDI / RMI: //" + adresse + ":" + string.valueof (port ) + "/ Serveur"); plan Accessoires \u003d nouveau hashmap (); Accessifs.put ("com.sun.management.jmxremote.authenticate", "faux"); pros.put ("com.sun.management.jmxremote.ssl", "faux"); Jmxconnectorserver connectorverver \u003d jmxconnectorserverfactory.newjmxconnectorserver (URL, accessoires, serveur); Connectorverver.start (); ) Catch (Exception E) (E.PrintStackTrace ();))) Voyant statique printOnLCD (chaîne S) (LCD.Clear (); LCD.Drawstring (S, 0, 4);))

Pour chaque type de capteur et de moteur, une interface MBean "A et implémente sa classe qui déléguette directement tous les appels à la classe incluse dans l'API Lejos est créée.

Un exemple du code d'interface

interface publique Largemotorxbean (abstrait public Vide en avant (); Abstrait public de suspension Booléen (); Abstrait public Int gettachocount (); Gettachée abstraite public (); abstrait public vide flt (); abstrait public vide flt (Boolean ImmedialeTurn); Résumé public butée nulle (booléen immédiestorielle); abstrait public booléen iSmoving (); Public abstrait annulation invité (); Abstrait public Rotateto (Int-enfoncement, Booléen ImmedialeTurn); Public abstrait Vidange Setacceleration (Int Accélération); Public Abstract résumé int getlimittangle (); abstrait public vide Resettatatatatatatatatatacte (); Abstrait public Rotation rotation (Int-angle, Boolean ImmedialeTurn); Abstrait public Rotation rotation (Int-angle); Rotateto abstrait public (INT limitail); Boolean isystalled (); Public Abstract Void SetStalthrodress; Résumé public Int getrotationsPeed (); Public Abstract Float GetMaxSpeed \u200b\u200b(); Résumé public void en arrière (); Arrêt abstrait annuel (); Abstrait public int getspeed (); Résumé public vide SetSpeed \u200b\u200b(int vitesse); )

Exemple de code de mise en œuvre MBean "A

classe publique LargemotorController implémente LargemotorXBean (moteur final Ev3Largeréglementation; Moteur de LargemotorController (Ev3LarGereGullemodMotor) (this.motor \u003d Moteur;) @Override Public Void Awwe () (Moteur.Forfait (); Moteur Booléen () (Moteur de retour. suspension ();) @override publique int gettachocount () (retour moteur.gettachocount ();) @Override get de flotteur public () (retour Motor.get (gePosition ();) @Override Public Void Flt () (Motor.flt () ;) @Override publique vide Flt (Motor.flt (ImmédiasTereturn);) // Méthodes de délégation similaires ignorées)

Curieusement, cette programmation s'est terminée. Sur le côté du serveur et le lieu de travail de l'opérateur, une seule ligne de code n'a été écrite.

Connecter au serveur

La gestion directe du robot est effectuée par le serveur de plate-forme IOT agrégé. installée version gratuite Le produit du gestionnaire de réseau agrégé comprend le pilote de protocole JMX et vous permet de connecter jusqu'à dix hôtes JMX. Nous devons connecter deux - un pour chaque brique EV3.

Tout d'abord, vous devez créer un compte de compte JMX, spécifiant dans les paramètres d'URL spécifiés lors du démarrage du serveur JMX:

Propriétés de connexion avec le périphérique JMX


Après cela, nous sélectionnons des actifs (c'est-à-dire Mbean "dans ce cas), qui sera ajouté au profil de périphérique:

Choisir MBean "


Et après quelques secondes, nous regardons et modifient les valeurs actuelles de tous les répondants MBean Properties.

Tir d'appareils


Vous pouvez également tester diverses opérations provoquant des méthodes MBean manuellement, par exemple, vers l'avant () et l'arrêt ().

Liste des opérations


Ensuite, configurez les périodes d'enquête pour les capteurs. Fréquence d'enquête élevée (100 fois par seconde) est utilisée car le serveur de contrôle est dans réseau local Avec le robot et c'est le serveur qui prend des décisions concernant l'arrêt de la rotation lorsque l'arrêt de l'obstacle, etc. La décision n'est définitivement pas industrielle, mais dans un réseau Wi-Fi bien fonctionnel dans le même appartement se présentait assez adéquat.

Périodes d'enquête


Interface de l'opérateur

Maintenant, allez à la création de l'interface opérateur. Pour ce faire, créez d'abord un nouveau widget et mettez les composants nécessaires. Dans la version finale de travail, cela ressemble à ceci:

En substance, l'ensemble de l'interface consiste en plusieurs panneaux avec des boutons, des curseurs et des indicateurs regroupés dans diverses dispositions de la grille et deux grandes lecteurs vidéo diffusant des images de caméras.

Vue de l'intérieur de l'éditeur d'interface

Tout le formulaire:

Vue avec panneaux de conteneurs indiqués:


Maintenant, comme disent les abscants, il reste à "faire revivre le Mnemoshy". Pour cela, appliquez le soi-disant obligatoire Propriétés de liaison et méthodes de composants d'interface graphique avec propriétés et méthodes d'objets serveur. Étant donné que les ordinateurs EV3 sont déjà connectés au serveur, les objets du serveur peuvent être MBeans de notre robot.

L'ensemble de l'interface opérateur contient environ 120 bits, dont la plupart sont le même type:

La moitié du même type de liaisons implémente le contrôle à l'aide de clics sur les boutons situés sur le Mnemoshem. Il est beau, pratique pour les tests, mais totalement inappropriés pour le véritable mouvement du robot et des marchandises en mouvement. Les activateurs des liaisons de ce groupe sont des événements souris impressionné et mouserélise Des boutons différents.

La seconde moitié de la liaison vous permet de contrôler le robot du clavier, après avoir cliqué sur le bouton de commande du clavier. Ces liaisons réagissent aux événements touché et clésEt dans l'état de chaque liaison, il est épelé que le code du bouton que vous devez réagir.

Toutes les fixations de contrôle provoquent des méthodes avant (), en arrière () et arrêter () DIFFÉRENTS MBEAN "Comme la livraison des événements se produisent de manière asynchrone, il est important d'appeler des caractéristiques avant ()/en arrière () et défis ultérieurs arrêter () Pas confus. Pour cette liaison, causant des méthodes d'un MBean "A, ajouté à une file d'attente (file d'attente).

Deux groupes de liaison distincts présentent des vitesses initiales et une accélération des moteurs (il est désormais implémenté sur le côté serveur à l'aide du modèle, ces fixations sont donc désactivées) et modifient la vitesse / l'accélération lors de la déplacement de la vitesse et des emplacements d'accélération.

L'article décrit l'expérience de l'utilisation du concepteur LEGO Mindstorms EV3 pour créer un prototype de robot avec son logiciel ultérieur et son contrôle manuel à l'aide de la méta-language de la commande de robot (RCML).

  • Assemblage de prototype robot basé sur Designer Lego Mindstorms EV3
  • Installation rapide et configuration de la RCML pour Windows
  • Robot de gestion de logiciels basé sur le contrôleur EV3
  • Contrôle manuel de la périphérie du robot à l'aide du clavier et du gamepad
Vous cherchez un peu à l'avance, j'ajouterai que pour implémenter la commande LEGO-ROBOT à l'aide du clavier que vous souhaitez créer un programme contenant uniquement 3 lignes du code de programme. Plus sur la façon de le faire est écrit sous la coupe.

1. Pour commencer, un prototype d'un robot a été créé à partir du designer LEGO Mindstorms EV3 à utiliser pour la programmation et le pilotage manuel.

Description du prototype du robot

Le robot a une conception semblable au châssis de la voiture. Deux moteurs montés sur le cadre ont un axe commun de rotation, qui est relié aux roues arrière à travers la boîte de vitesses. La boîte de vitesses convertit le couple en augmentant la vitesse angulaire de l'essieu arrière. Direction collectée sur la base d'une boîte de vitesses conique.



2. Étape suivante - Préparation de la RCML pour travailler avec designer Lego. Mindstorms ev3.

Vous devez télécharger des archives avec des fichiers exécutables et des fichiers de bibliothèque et.

Les archives téléchargées doivent être supprimées dans le répertoire avec un nom arbitraire. Toutefois. éviter Lettres russes dans le titre.

Répertoire de contenu après le déballage des archives



Ensuite, vous devez créer un fichier de configuration config.ini, que vous souhaitez localiser dans le même répertoire. Pour mettre en œuvre la gestion du contrôleur EV3 à l'aide du clavier et du gamepad, vous devez connecter les modules LEGO_EV3, Clavier et GamePAD.

Inscription de fichier Configuration Config.ini pour la RCML

Module \u003d Module LEGO_EV3 \u003d Module de clavier \u003d GamePad


Ensuite, le contrôleur EV3 et l'adaptateur peuvent être jumelés.

Instructions pour la conjugaison du contrôleur Adaptateur EV3 et Bluetooth

L'instruction contient un exemple de jumelage du contrôleur LEGO EV3 et du PC fonctionnant systèmes Windows 7.

1. Vous devez accéder à la section Paramètres du contrôleur EV3, suivant l'élément de menu Bluetooth.

2. Vous devez vous assurer que les paramètres de configuration définissent correctement. Sur vs "visibilité", "Bluetooth" doit être installé des tiques.

3. Vous devez aller sur le panneau de commande, puis "Périphériques et imprimantes", puis "Périphériques Bluetooth".

4. Vous devez cliquer sur le bouton "Ajout du périphérique". Une fenêtre s'ouvrira pour sélectionner les périphériques Bluetooth disponibles.

5. Vous devez sélectionner le périphérique "EV3" et cliquer sur le bouton Suivant.

6. Sur l'écran du contrôleur EV3, la boîte de dialogue Connect sera reflétée. Vous devez sélectionner l'option Cochez la case et confirmer votre choix en appuyant sur la touche centrale.

7. Ensuite, la boîte de dialogue "PASSKEKY" apparaît, les numéros "1234" doivent être spécifiés dans la ligne d'entrée, puis confirmez la phrase clé pour associer les périphériques en appuyant sur la touche centrale de la position de la coche.

8. Un formulaire pour entrer dans l'appareil apparaîtra dans l'assistant de couplage du périphérique. Vous devez entrer le code "1234" et appuyez sur la touche "Suivant".

10. Le PC doit revenir au "Panneau de configuration", puis "Périphériques et imprimantes", puis "Périphériques Bluetooth". La liste des périphériques disponibles affichera un périphérique avec lequel un couplage a été effectué.

11. Il suit le double clic des propriétés de connexion "EV3".

14. L'indice de port COM spécifié dans les propriétés doit être utilisé dans le fichier de configuration Config.ini du module LEGO_EV3. L'exemple montre les propriétés Bluetooth du contrôleur LEGO EV3 à l'aide du port série COM14 standard.


La configuration supplémentaire du module est réduite au fait qu'il est nécessaire de vous inscrire dans le fichier de configuration du module LEGO_EV3, l'adresse du port COM par lequel la communication avec le robot LEGO est effectuée.

Config.ini Inscription de fichier de configuration pour le module LEGO_EV3

Connexion \u003d COM14 dynamic_connection \u003d 0


Vous devez maintenant configurer le module du clavier. Le module est situé dans le répertoire Control_Modules, puis clavier. Vous devez créer un fichier de configuration config.ini à côté du fichier Keyboard_Module.dll. Avant de créer un fichier de configuration, il est nécessaire de déterminer quelles actions doivent être effectuées en appuyant sur les touches.

Le module de clavier vous permet d'utiliser des clés ayant un code numérique spécifique. La table du code des touches virtuelles peut être visualisée.

Par exemple, j'utiliserai les clés suivantes:

  • Les flèches haut / bas sont utilisées pour faire pivoter les roues arrière du moteur en avant / en arrière
  • Flèches gauche / droite Rotate Roues gauche / droite
Le fichier de configuration du module de clavier décrit les axes disponibles pour le programmateur, pour interagir avec le robot en mode de contrôle manuel. Ainsi, dans l'exemple, il a révélé deux groupes de contrôle - ce sont les axes du clavier. Pour ajouter un nouvel axe, suivez les règles de description des axes suivants.

Règles pour la description des axes pour le module de clavier

1. Lors de l'ajout d'un nouvel axe, il est nécessaire de Ajoutez une propriété dont le nom est le nom de l'axe et attribuez-lui la clé au bouton du clavier. Hexagonal. Format et une entrée similaire est lancée à chaque bouton, c'est-à-dire Le nom de l'axe peut être utilisé plusieurs fois. En général, entrez à la section Il ressemblera à ceci:

Nom \u003d valeur_k_hex_formate valeur
2. Il est nécessaire de définir la valeur maximale et minimale pouvant être déposée sur cet axe. Pour cela, vous avez besoin de nouvelle chaîne Ajouter une section dans un fichier de configuration config.ini.uniforme avec l'axe des noms et les propriétés définies upper_Value. et inférieur_value.qui correspondent au maximum et au minimum de l'axe, respectivement. En général, cette section est la suivante:

[Nom] Upper_Value \u003d maximum_new_iesight moindre_value \u003d minimum_inje
3. Suivant, déterminez quelle valeur aura l'axe si le bouton est enfoncé sur le clavier, ce qui y était précédemment attaché. La définition des valeurs se produit en créant une section dont le nom est constitué du nom de l'axe et de la valeur du bouton du clavier dans Hexagonal. Format séparé par un symbole inférieur sous-cascit. Pour spécifier la valeur par défaut (non enfoncée) et appuyez sur les propriétés. nonppressed_Value. et pressé_value En conséquence, les valeurs sont transmises. La vision générale de la section dans ce cas est la suivante:

[Nom-Axis_date-boutonnez-clavier] pressé_value \u003d value_i_pri_nappa_klavish nonPRESSED_VALUE \u003d SENSIDE_I_PRY_Telated_klavish
Le texte du spoiler pour la commodité de la visualisation est copié de la documentation de la RCML.


Pour mettre en œuvre la commande de prototype de robot, le fichier de configuration du module de clavier a été créé, qui inclut les axes Go et Trotate. L'axe Go est utilisé pour spécifier la direction du mouvement du robot. Lorsque vous appuyez sur la touche "FROUCHE UP", l'axe obtiendra la valeur 100, lorsque vous appuyez sur la touche "Flèche Down", l'axe valorisera -5050. L'axe de rotation est utilisé pour régler l'angle de rotation des roues avant. Lorsque vous appuyez sur la touche "flèche gauche", la valeur de l'axe sera de -5, lorsque vous appuyez sur "flèche à droite", l'axe prendra la valeur 5.

Config.ini Inscription de fichier de configuration pour le clavier de module

; Section obligatoire; titre_ \u003d cod_klavishche (en format hexagone); l'axe Go obtient les valeurs de la flèche_love Go \u003d 0x26; l'axe de goûte obtient les valeurs des flèches. Allez \u003d 0x28; Tourner axe obtient des valeurs à partir de arrows_vlevo rotate \u003d 0x25; la rotation axe obtient des valeurs à partir de flèches \u003d 0x27; Description de l'axe Go, doit toujours avoir les deux touches; la limite supérieure des valeurs du go haut_value \u003d -100 axe; la limite inférieure de Les valeurs d'axe de go moins_value \u003d 100; la description de l'axe de rotat doit toujours avoir les deux touches; la limite supérieure de l'axe de rotation supérieure_value \u003d - - 100; limites inférieures de la rotation inférieure_value \u003d 100 valeurs de l'axe; description du GO AXIS Comportement pour la touche * arrow_love * (0x26); lorsque la touche est enfoncée * (0x26) lorsque la valeur de l'axe est réglée sur 50 pression_value \u003d 100; lorsque la clé est relâchée. Nonppressiond_value \u003d 0; Description du comportement de la Allez axe pour la clé * arrow_nuch * (0x28); lorsque vous appuyez sur la touche * la valeur arrow_liza * La valeur de l'axe est définie sur -50 appuyée sur_value \u003d -50; quand Touches de libération * arrow_ving * Valeur de l'axe réglé sur 0 non Dressed_value \u003d 0; Rotation Axe Comportement Description de la clé * arrow_vlevlo * (0x25); lorsque vous appuyez sur la valeur * arrow_number * La valeur de l'axe est réglée sur -5 enfoncée \u003d -5; quand la clé est relâché * valeur axe pour régler égal à 0 non Dressed_value \u003d 0; Tourner la description du comportement de l'axe de la touche * (0x27) (0x27); lorsque vous appuyez sur la touche * arrow_number * la valeur de l'axe défini sur 5 pression_value \u003d 5; La clé est relâchée le * arrow_number * La valeur de l'axe est définie sur 0 nonppressed_value \u003d 0.


Ensuite, pour mettre en œuvre le contrôle à l'aide de GamePad, vous devez configurer le module de jeu. Configuration du module comprend la création d'un fichier de configuration Configuration config.ini à côté du gamepad_module.dll situé dans le répertoire Control_Modules, puis sur GamePad.

Fichier de configuration universelle du module pour interaction avec GamePad

; La section obligatoire de la description des axes d'occasion; l'axe pour compléter la sortie du mode de contrôle manuel \u003d 9; 11 Axes binaires correspondant aux boutons Geympad B1 \u003d 1 B2 \u003d 2 B3 \u003d 3 B4 \u003d 4 L1 \u003d 7 L2 \u003d 5 R1 \u003d 8 R2 \u003d 6 Démarrage \u003d 10 T1 \u003d 11 T2 \u003d 12; 4 essieux de bâtons; style de droite haut / bas RTUD \u003d 13; mouvement de bâton droit gauche / droite RTLR \u003d 16; colle gauche Mouvement de haut / bas LTUD \u003d 15; mouvement de bâton gauche gauche / droite LTLR \u003d 14; 2 traverser des axes; le mouvement de la croix / bas arrofrowsud \u003d 17; mouvement du flèche croisée / droite / droite \u003d 18; Description du comportement de l'axe B1; Lorsque vous appuyez sur la touche B1, la valeur de l'axe est définie sur 1 Upper_Value \u003d 1; lorsque la touche B1 est relâchée, la valeur de l'axe est réglée sur 0 inférieur_value \u003d 0 supérieure_value \u003d 0 supérieure_value \u003d 1 inférieur_value \u003d 0 inférieur_value \u003d 0 supérieure_value \u003d 0 inférieur_value \u003d 1 inférieur_value \u003d 1 inférieur_value \u003d 1 inférieur_value \u003d 1 inférieur_value \u003d 1 inférieur_value \u003d 0 plus bas_value \u003d 1 inférieur_value \u003d 1 inférieur 0 Upper_Value \u003d 1 inférieur_value \u003d 0 Upper_Value \u003d 1 inférieur_value \u003d 0 Upper_Value \u003d 1 inférieur_value \u003d 1 inférieur_value \u003d 0 Upper_Value \u003d 1 inférieur_value \u003d 1 inférieur_value \u003d 1 inférieur_value \u003d 0 inférieur_value \u003d 1 inférieur_value \u003d 0 plus bas bas; la valeur de l'axe lors du déplacement de la position supérieure maximale possible Upper_Value \u003d 0; la valeur de l'axe lors du passage à la position inférieure maximale possible inférieure inférieure_value \u003d 65535 Upper_value \u003d 0 inférieur_value \u003d 0 inférieur_value \u003d 0 inférieure_value \u003d 05535 Upper_Value \u003d 0 Lower_Value \u003d 65535; Description du comportement du mouvement des axes croisés Haut / bas; valeur axe lorsque vous appuyez sur Upper_Value \u003d 1; valeur de l'axe lorsque vous appuyez sur la flèche vers le bas Downer_value \u003d -1 Upper_Value \u003d 1 inférieur_value \u003d -1


Des informations supplémentaires sur les fonctionnalités de la configuration du module GamePad s'affichent dans le Guide de référence de la RCML.

3. L'étape suivante consiste à écrire un programme dans la langue de la GRC.

À la racine du répertoire créé, vous devez créer un fichier de programme. Le nom du programme du programme et son extension peuvent être tout, mais les lettres russes doivent être évitées dans le titre. L'exemple utilise le nom de fichier - hello.rcml.

Pour le module LEGO_EV3 code de programme Robot de réservation a suivant apparence:

@TR \u003d robot_lego_ev3;

La plupart des fonctions supportées par le contrôleur sont décrites sur la page Module LEGO_EV3. À titre d'exemple, un programme a été créé pour entrer automatiquement le robot dans un dérapage.

L'algorithme du programme est la suivante:

Après avoir réservé le premier robot gratuit, la connexion de deux moteurs est établie pour un travail ultérieur avec eux, comme avec un. Ensuite, le robot commence à effectuer des dérives. La description du programme de l'action du robot vous permet de définir avec précision les angles de rotation des roues avant et la vitesse de rotation de l'arrière. L'utilisation de cette réception vous permet d'obtenir des résultats difficiles à répéter lors du pilotage manuel du clavier ou du jeu de jeu.

Programmes d'inscription pour le robot LEGO dans la RCML

fonction principale () (@TR \u003d robot_lego_ev3; // Réservation du @ TR-\u003e SettrackveHicle ("B", "C", 0,0); // Synchronisation du moteur de réglage @ TR-\u003e Motormoveto ("D", 100 , 0,0); système.sleep (500); @ tr-\u003e trackvehicleforward (-100); système.sleep (1000); @ tr-\u003e moomroveto ("D", 50, -50,0); système.sleep ( 4000); @ tr-\u003e motormoveto ("d", 50.50.0); système.sleep (4000); @ tr-\u003e trackvehicleoff (); système.sleep (1000);)


Pour compiler le programme, vous devez utiliser la ligne de commande de la fenêtre. Premièrement, vous devez passer au répertoire créé avec des fichiers exécutables RCML_COMPILER.EXE et RCML_IntePreter.exe. Ensuite, vous devez entrer les commandes suivantes.

Équipe pour compiler le fichier hello.rcml:

Rcml_compiler.exe hello.rcml hello.rcml.pc.
À la suite de la compilation, dans le répertoire créé apparaîtra nouveau fichier. Hello.rcml.pc.

Équipe d'écran de la ligne après la compilation réussie



Vous devez maintenant vous assurer que le contrôleur EV3 est activé, associé à un adaptateur Bluetooth. Le gamepad doit être connecté au PC. Après cela, vous devez exécuter la commande d'exécution du fichier de programme:

Rcml_intepreter.exe hello.rcml

Apparence ligne de commande Dans l'exécution du programme



La vidéo démontrant le programme de mouvement du robot est située au bas de l'article.

4. Étape suivante - Robot de gestion en mode manuel à l'aide du clavier.

Avec le clavier, il est possible de contrôler n'importe quel moteur de robot. Dans le cadre de l'exemple, les mécanismes suivants sont gérés:

  • Un angle de rotation des roues avant
  • La direction de rotation des roues arrière

Inscription Interaction du clavier et robot LEGO sur le contrôleur EV3

fonction principale () (@TR \u003d robot_lego_ev3; // Réservation du robot @ TR-\u003e SettrackveHicle ("B", "C", 0,0); // Définissez la synchronisation des moteurs System.Hand_Control (@TR, " clavier "," droit "," go "," speedmotord "," rotation ");)


Ensuite, vous devriez compiler le programme et l'exécuter. Le résultat de la commande manuelle du robot LEGO avec le clavier est indiqué sur la vidéo au bas de la page.

5. En plus du clavier, le module de jeu est disponible permettant de manipuler le robot avec un jeu de jeu. Pour mettre en œuvre la commande de robot à l'aide du jeu de jeu, il est nécessaire de décrire au niveau du programme, quels axes du robot prendra les valeurs des axes du jeu de jeu.

Liste de gamepad et robot Lego

fonction principale () (@TR \u003d robot_lego_ev3; // Réservation du robot @ tr-\u003e settrackvehicle ("B", "C", 0,0); // Définir la synchronisation du système System.Hand_Control (@TR, "Gamepad "," Droit "," Rtud "," SpeedMotord "," RTLR ");)


Ensuite, vous devez répéter le processus de compilation du programme, puis de l'exécuter. Ce qui suit montre le résultat de la commande manuelle Lego par un robot avec un jeu de jeu et toutes les façons connectées précédemment:

L'article n'a brièvement montré que certaines fonctionnalités de la RCML. La description la plus détaillée est dans le manuel de référence.

Mots clés:

  • lego Mindstorms.
  • robotique
  • programmation
Ajouter des balises
Avez-vous aimé l'article? Partager avec des amis: