Robots contrôlés par Internet. Le robot peut être contrôlé de différentes manières. Processus de construction de robot

Contrôler un robot est une tâche difficile. La définition que nous avons choisie exige que l'appareil soit conscient de son environnement. Ensuite, prenez une décision et prenez les mesures appropriées. Les robots peuvent être autonomes ou semi-autonomes.

  1. Un robot autonome fonctionne selon un algorithme donné basé sur des données reçues de capteurs.
  2. Un robot semi-autonome a des tâches contrôlées par un humain. Et en plus, il y a d'autres tâches qu'il effectue lui-même...

Robots semi-autonomes

Un bon exemple de robot semi-autonome est un robot sous-marin complexe. L'humain contrôle les mouvements de base du robot. Et à ce moment, le processeur embarqué mesure et réagit aux courants sous-marins. Cela vous permet de garder le robot dans la même position sans dériver. Une caméra à bord du robot renvoie la vidéo à l'humain. De plus, des capteurs intégrés peuvent surveiller la température de l'eau, la pression, etc.

Si le robot perd le contact avec la surface, le programme autonome s'active et remonte le robot sous-marin à la surface. Afin de pouvoir contrôler votre robot, vous devrez déterminer son niveau d'autonomie. Peut-être souhaitez-vous que le robot soit contrôlé par câble, soit sans fil ou complètement autonome.

Gestion des câbles

Le moyen le plus simple de contrôler un robot est d'utiliser une télécommande physiquement connectée à celui-ci avec un câble. Les interrupteurs, boutons, leviers, joysticks et boutons de ce contrôleur permettent à l'utilisateur de contrôler le robot sans avoir à allumer des composants électroniques complexes.

Dans cette situation, les moteurs et l'alimentation peuvent être connectés directement à l'interrupteur. Par conséquent, sa rotation avant/arrière peut être contrôlée. Il est couramment utilisé dans les véhicules.

Ils n'ont aucune intelligence et sont considérés comme des "machines télécommandées" plutôt que comme des "robots".


  • Le principal avantage de cette connexion est que le robot n'est pas limité par le temps de fonctionnement. Puisqu'il peut être connecté directement au réseau. Pas besoin de s'inquiéter de la perte de signal. Le robot, en règle générale, a un minimum d'électronique et n'est pas très complexe. Le robot lui-même peut être léger ou avoir une charge utile supplémentaire. Le robot peut être récupéré physiquement avec une attache attachée au câble en cas de problème. Cela est particulièrement vrai pour les robots sous-marins.
  • Les principaux inconvénients sont que le câble peut s'emmêler, s'accrocher à quelque chose ou se rompre. La distance sur laquelle le robot peut être envoyé est limitée par la longueur de la corde. Faire glisser une longue attache ajoute de la friction et peut ralentir ou même arrêter le mouvement du robot.

Contrôle du robot via câble et microcontrôleur intégré

L'étape suivante consiste à installer le microcontrôleur sur le robot, mais continuez à utiliser le câble. La connexion du microcontrôleur à l'un des ports d'E/S de votre ordinateur (comme un port USB) vous permet de contrôler vos actions. Le contrôle s'effectue à l'aide du clavier, du joystick ou d'un autre périphérique. L'ajout d'un microcontrôleur à un projet peut également vous obliger à programmer le robot avec des signaux d'entrée.


  • Les principaux avantages sont les mêmes qu'avec la commande directe par câble. Un comportement plus complexe du robot et des réactions aux boutons ou commandes individuels peuvent être programmés. Il existe un grand choix de commandes de contrôleur (souris, clavier, joystick, etc.). Le microcontrôleur ajouté a des algorithmes intégrés. Cela signifie qu'il peut interagir avec des capteurs et prendre certaines décisions par lui-même.
  • Les inconvénients comprennent un coût plus élevé en raison de la présence d'électronique supplémentaire. Les autres inconvénients sont les mêmes qu'avec la commande directe du robot par câble.

Contrôle Ethernet

utilisé connecteur Ethernet RJ45. Une connexion Ethernet est nécessaire pour le contrôle. Le robot est physiquement connecté au routeur. Par conséquent, il peut être contrôlé via Internet. C'est aussi possible (bien que peu pratique) pour les robots mobiles.

Configurer un robot capable de communiquer via Internet peut être assez délicat. Tout d'abord, une connexion WiFi (Internet sans fil) est privilégiée. La combinaison filaire et sans fil est également une option lorsqu'il y a un émetteur-récepteur (transmission et réception). L'émetteur-récepteur est physiquement connecté à Internet et les données reçues sur Internet sont ensuite transmises sans fil robot.


  • L'avantage est que le robot peut être contrôlé via Internet depuis n'importe où dans le monde. Le robot n'a pas de limite de temps car il peut utiliser Power over Ethernet. PoE. Il s'agit d'une technologie qui permet à un appareil distant de transmettre de l'énergie électrique avec des données via une norme paire torsadée au Réseaux Ethernet. L'utilisation du protocole Internet (IP) peut simplifier et améliorer le schéma de communication. Les avantages sont les mêmes qu'avec la commande directe filaire par ordinateur.
  • L'inconvénient est une programmation plus complexe et les mêmes inconvénients qu'avec la commande par câble.

Télécommande infrarouge

Les émetteurs et récepteurs infrarouges éliminent le câble reliant le robot à l'opérateur. Ceci est généralement utilisé par les débutants. Le contrôle infrarouge nécessite une "ligne de visée" pour fonctionner. Le récepteur doit pouvoir "voir" l'émetteur à tout moment afin de recevoir des données.

Télécommandes infrarouges télécommande(telles que les télécommandes universelles pour les téléviseurs) sont utilisées pour envoyer des commandes à un récepteur infrarouge connecté au microcontrôleur. Il interprète ensuite ces signaux et contrôle les actions du robot.


  • L'avantage est le faible coût. Des télécommandes TV simples peuvent être utilisées pour contrôler le robot.
  • Les inconvénients sont qu'il nécessite une ligne de mire pour contrôler.

contrôle radio

Le contrôle par radiofréquence nécessite un émetteur et un récepteur avec de petits microcontrôleurs pour envoyer, recevoir et interpréter les données de radiofréquence (RF). La boîte du récepteur contient circuit imprimé(carte de circuit imprimé) qui contient le récepteur et un petit contrôleur de servomoteur. La communication radio nécessite un émetteur apparié/jumelé au récepteur. Il est possible d'utiliser un émetteur-récepteur qui peut envoyer et recevoir des données entre deux environnements de système de communication physiquement différents.

Le contrôle radio ne nécessite pas de ligne de vue directe et peut être effectué sur de longues distances. Les appareils RF standard peuvent transmettre des données entre appareils sur des distances allant jusqu'à plusieurs kilomètres. Alors que des appareils RF plus professionnels peuvent fournir le contrôle du robot à presque n'importe quelle distance.


De nombreux concepteurs de robots préfèrent construire des robots radiocommandés semi-autonomes. Cela permet au robot d'être aussi autonome que possible et de fournir un retour d'information à l'utilisateur. Et cela peut donner à l'utilisateur un certain contrôle sur certaines de ses fonctions si nécessaire.

  • Les avantages sont la possibilité de contrôler le robot sur des distances considérables, il peut être facilement configuré. La communication est omnidirectionnelle, mais peut ne pas être complètement bloquée par des murs ou des obstacles.
  • Les inconvénients sont très faible vitesse transfert de données (commandes simples uniquement). De plus, vous devez faire attention aux fréquences.

Contrôle Bluetooth

Bluetooth est un signal radio (RF) et est transmis sur certains protocoles pour envoyer et recevoir des données. La portée Bluetooth normale est souvent limitée à environ 10 m, bien qu'elle ait l'avantage de permettre aux utilisateurs de contrôler leur robot via des appareils compatibles Bluetooth. Il s'agit principalement de téléphones portables, de PDA et d'ordinateurs portables (bien qu'une programmation personnalisée puisse être nécessaire pour créer l'interface). Tout comme la radiocommande, Bluetooth offre une communication bidirectionnelle.


  • Avantages : Géré à partir de n'importe quel appareil compatible Bluetooth. Mais, en règle générale, une programmation supplémentaire est nécessaire. Ce sont des smartphones, des ordinateurs portables, etc. Des débits de données plus élevés peuvent être omnidirectionnels. Par conséquent, la ligne de mire n'est pas nécessaire et le signal peut traverser un peu les murs.
  • Désavantages. Doit travailler en binôme. La distance est généralement d'environ 10m (sans obstacles).

Contrôle Wi-Fi

Le contrôle WiFi est souvent un supplément optionnel pour les robots. Capacité à contrôler un robot réseau sans fil sur Internet présente des avantages significatifs (et des inconvénients) pour contrôle sans fil. Pour configurer le contrôle Wi-Fi du robot, vous avez besoin d'un routeur sans fil connecté à Internet et d'une unité Wi-Fi sur le robot lui-même. Pour le robot, vous pouvez utiliser un appareil prenant en charge le protocole TCP/IP.


  • L'avantage est la possibilité de contrôler le robot de n'importe où dans le monde. Pour ce faire, il doit être à portée du routeur sans fil. Possible haute vitesse transmission de données.
  • Les inconvénients sont que la programmation est nécessaire. La distance maximale est généralement déterminée par le choix du routeur sans fil.

Contrôle du téléphone portable

Autre Technologie sans fil, développé à l'origine pour la communication interhumaine, le téléphone portable, est désormais utilisé pour contrôler des robots. Étant donné que les fréquences téléphone portable sont réglables, l'inclusion d'un module cellulaire sur le robot nécessite généralement une programmation supplémentaire. Il ne nécessite pas non plus de compréhension du système et des règles du réseau cellulaire.


  • Avantages : le robot peut être contrôlé n'importe où signal cellulaire. La communication par satellite est possible.
  • Désavantages; réglage de contrôle par communications cellulaires peut être difficile - pas pour les débutants. Chaque réseau cellulaire a ses propres exigences et limites. Le service en ligne n'est pas gratuit. Habituellement, plus vous transférez de données, plus vous devez payer. Le système n'a pas encore été configuré pour une utilisation en robotique.

L'étape suivante consiste à utiliser pleinement le microcontrôleur de votre robot. Et tout d'abord, programmer son algorithme de saisie des données de ses capteurs. Le contrôle autonome peut être exercé sous différentes formes :

  1. être préprogrammé sans rétroaction de l'environnement
  2. avec un retour limité des capteurs
  3. avec retour de capteur complexe

Le véritable contrôle autonome comprend de nombreux capteurs et algorithmes. Ils permettent au robot de déterminer indépendamment la meilleure action dans une situation donnée. Plus méthodes complexes Les commandes actuellement implémentées sur les robots autonomes sont des commandes visuelles et auditives. Pour le contrôle visuel, le robot regarde une personne ou un objet pour recevoir ses commandes.


Contrôler un robot pour tourner à gauche en lisant une flèche pointant vers la gauche sur une feuille de papier est beaucoup plus difficile qu'on ne pourrait l'imaginer. Une commande de service telle que "tourner à gauche" nécessite également un peu de programmation. Programmer de nombreuses commandes compliquées comme "Apportez-moi les pantoufles" n'est plus un fantasme. Bien que cela nécessite un niveau de programmation très élevé et beaucoup de temps.

  • Les avantages sont de la robotique « réelle ». Les tâches peuvent être aussi simples que faire clignoter une lumière en fonction des lectures d'un seul capteur, jusqu'à l'atterrissage d'un vaisseau spatial sur une planète lointaine.
  • Les inconvénients ne dépendent que du programmeur. Si le robot fait quelque chose que vous ne voulez pas qu'il fasse, vous n'avez qu'une seule option. Il s'agit de vérifier votre code, de le modifier et de télécharger les modifications sur le robot.

Partie pratique

Le but de notre projet est de créer une plateforme autonome capable de prendre des décisions basées sur signaux externesà partir de capteurs. Nous utiliserons un microcontrôleur Lego EV3. Cela nous permet d'en faire une plateforme complètement autonome. Donc semi-autonome, contrôlé via Bluetooth ou à l'aide d'une télécommande infrarouge.


Brique programmable LEGO EV3

Matériel similaire :

  • Plan : 1-Qu'est-ce qu'Internet (concept) 2-Méthodes de connexion à Internet, 81.69ko.
  • Fraude via "Internet", 11.94kb.
  • Structure et principes de base d'Internet, 187.31ko.
  • Étude de faisabilité, 609.73kb.
  • Utilisant les technologies de grille, 81.79kb.
  • Réseau mondial d'information Internet, 928,45 Ko.
  • Plan de base Nombre d'heures selon le plan, total Dont , 45.76ko.
  • "sbis ++ Electronic reporting" sous forme électronique via Internet, 80.99kb.
  • , 243.98kb.
  • Réseau Internet. service www, 240.73kb.
SIMULATION ET TÉLÉCOMMANDE DE ROBOTS

PAR INTERNET

chercheur principal I.R. Belousov

1/2 année, cours 2-5 et étudiants diplômés

Etude des méthodes modernes de modélisation et de contrôle des robots. Des algorithmes pour l'interaction de robots avec des objets dynamiques complexes utilisant un système de vision dans la boucle de contrôle sont considérés. Des méthodes de contrôle à distance de robots via Internet sont à l'étude. L'architecture des systèmes de commande distribués est présentée, les méthodes de transfert d'informations, la modélisation graphique, la programmation à distance de robots utilisant les technologies ouvertes Java et Java3D sont envisagées.

Introduction.

Énoncé des tâches envisagées dans le cours. Démonstration des résultats expérimentaux.

Contrôle de robots dans des tâches d'interaction avec des objets en mouvement.

1. Fixer des objectifs. Exemples.

Revue des tâches et méthodes d'interaction entre robots et objets en mouvement. Utilisation d'un système de vision et de modèles de dynamique d'objets. Énoncé du problème de capture d'une tige sur une suspension bifilaire par un robot. Énoncé du problème de l'interaction des robots avec des pendules sphériques.

2. Utilisation de systèmes de vision.

Algorithmes de traitement vidéo. Détermination des positions de la tige et des pendules, à l'aide de la prévision cinématique. Traitement des résultats de mesure.

3. Modélisation mathématique et développement expérimental d'algorithmes.

Equations des vibrations d'une tige sur une suspension bifilaire. Algorithmes de capture d'une tige par un manipulateur robotique. Equations d'oscillations d'un pendule sphérique. Algorithmes pour l'interaction du robot avec les pendules. Architecture du stand expérimental. Discussion des résultats des expériences.

Contrôle à distance des robots via Internet.

4. Examen des systèmes existants.

Systèmes de contrôle Internet pour robots mobiles et de manipulation. Inconvénients des systèmes existants, problèmes de gestion via Internet, approches de résolution.

5. Architecture des systèmes de contrôle distribués pour robots.

Matériel et organisation du programme parties serveur et client d'un système de commande de robot distribué. Organisation des échanges de données.

6. Programmation à distance via Internet.

Langages de programmation de robots. Environnement de programmation à distance de robots via Internet.

7. Gestion de systèmes réels.

Expérimentations sur le contrôle de robots manipulateurs et mobiles via Internet. Utilisation d'un environnement de contrôle de robot virtuel. Discussion des résultats des expériences. Orientations pour des recherches ultérieures.

Modélisation graphique de robots.

8. Introduction à l'infographie.

Systèmes de coordonnées, transformations tridimensionnelles. Les algorithmes les plus simples.

9. Modélisation d'objets géométriques en Java3D.

Introduction à Java3D. Caractéristiques de la programmation graphique en Java3D. Concepts de base. Visualisation des objets géométriques les plus simples en Java3D. Eclairage, textures, gestion des objets, reconfiguration dynamique des scènes.

10. Description de la cinématique des robots.

Méthodes de description de la cinématique des manipulateurs. Problèmes directs et inverses de cinématique. Méthode de formation séquentielle de systèmes de coordonnées. Exemples.

11. Modélisation graphique des robots et de l'espace de travail.

Combinaison d'objets. Transformations géométriques. Visualisation de robots, d'objets géométriques complexes et en mouvement.

1

Pozhidaev I.V.

La possibilité de contrôler un robot mobile via un canal radio élargira considérablement la portée de son application. Pour résoudre ce problème, un ordinateur portable a été installé sur un robot mobile et un téléphone portable avec un modem GPRS y a été connecté. L'accès à Internet est établi via un modem GPRS. Grâce à Internet, à l'aide d'un autre ordinateur, le contrôle et la surveillance des systèmes du robot ont été effectués. Il était possible de contrôler les moteurs du robot, de recevoir des informations de capteurs et également de recevoir des informations d'une caméra vidéo dans la direction du mouvement du robot mobile "Iris-1". Ainsi, il était possible de contrôler à distance un robot mobile via Internet en utilisant le canal radio d'un téléphone portable avec un modem GPRS. Et en conséquence, la distance à laquelle vous pouvez contrôler un robot mobile a considérablement augmenté. De plus, le champ d'application du robot s'est élargi en termes d'endroits difficiles d'accès sur terre.

Les robots mobiles sont largement utilisés dans diverses industries et ménages. Ils sont indispensables: dans l'élimination des accidents dans les centrales nucléaires, dans la recherche et la détection d'explosifs, dans le diagnostic des dysfonctionnements des communications et leur élimination. La généralisation des robots mobiles s'observe dans l'étude des fonds marins à grande profondeur. Dans l'aviation, des robots sans pilote sont utilisés pour mener des activités de reconnaissance et détruire l'ennemi. Les robots mobiles sont utilisés dans le processus d'exploration d'autres planètes du système solaire. Récemment, la robotique dans la section des robots mobiles s'est développée à un rythme rapide. Le marché des ventes de robots mobiles était de 655 millions de dollars en 2000 et atteindra 17 milliards de dollars en 2005.

Un problème s'est posé lié à une utilisation plus dynamique d'un robot mobile pour l'inspection des communications et des objets souterrains, artificiels et naturels. Cela est dû au fait que le robot est contrôlé par un câble relié à la télécommande, ce qui limite son mouvement.

La possibilité de contrôler un robot mobile via un canal radio élargira considérablement la portée de son application. Cela vous permet de le contrôler de manière totalement autonome et à grande distance. La gamme de fréquences est beaucoup plus large avec la radiocommande qu'avec la communication filaire.

Pour résoudre ce problème, un ordinateur portable a été installé sur un robot mobile et un téléphone portable avec un modem GPRS y a été connecté. L'accès à Internet est établi via un modem GPRS. Grâce à Internet, à l'aide d'un autre ordinateur, le contrôle et la surveillance des systèmes du robot ont été effectués.

À cette expérience Deux types de postes téléphoniques ont été utilisés avec des interfaces différentes. Ces téléphones sont différents les uns des autres en ce qu'un appareil est connecté à l'ordinateur via un câble tendu de port USB et un ordinateur à un port de téléphone portable, voir l'organigramme #1. Et un autre type de téléphone portable est commuté via un câble de port de communication un ordinateur portableà un téléphone portable, voir l'organigramme #2.

Le robot "Iris-1", connecté à un PC, a été piloté à l'aide d'un logiciel d'exploitation Système Microsoft Les fenêtres. Le robot lui-même était connecté à l'ordinateur via les cartes du PC et le câble qui en provenait. À système opérateur installé sur l'ordinateur comprend un composant standard - Internet Explorer, navigateur Internet. Les navigateurs Internet proviennent de différents fabricants. Il existe deux ensembles de logiciels sur deux ordinateurs. Un pour un robot connecté à un PC, composé de : Microsoft Windows NT 4.0 et logiciel pour "Iris-1" comme composant principal "LABVIEW 6.0" pour le contrôle du robot. Un deuxième ordinateur doté d'un ensemble de logiciels différent a accès au réseau informatique Internet en utilisant un composant standard de Microsoft Windows - Internet Explorer, mais nous avons utilisé Netscape Navigator, ainsi qu'un PC auquel est connecté un robot, qui est contrôlé à distance, voir organigramme n°3.

Un ordinateur connecté à Internet a Logiciel pour commuter téléphone avec ordinateur et logiciel pour modem GPRS pour modèle spécifique téléphone portable. Les téléphones portables fonctionnent dans la gamme de fréquences de 900 MHz à 1800 MHz. Tous les modèles de téléphones portables n'ont pas la fonction GPRS.

Les téléphones avec les classes GPRS 8 et 10 diffèrent par le nombre de canaux pour transmettre et recevoir des données. Pour la classe GPRS 8 - trois canaux pour la réception à 14,4 Kbps chacun et deux pour la transmission. Pour un téléphone avec GPRS de type 10, nous avons 4 canaux pour la réception et deux pour la transmission. Les modèles de téléphone ont également des caractéristiques de type A et B, c'est-à-dire qu'ils prennent en charge un modem GPRS et une conversation ou uniquement un modem GPRS.

Au cours de l'expérience, un contrôle stable du robot distant via un téléphone portable a été révélé, à l'exception des cas de blindage du signal radio (réception instable entre la base et le téléphone portable ou son absence - blindage complet) du téléphone portable ou de violations de le réseau Internet filaire lui-même.

Lors de l'utilisation d'un canal radio à partir d'un téléphone portable, la possibilité de contrôler à distance tous les systèmes du complexe robotique Iris-1, ainsi que le contrôle de leur travail, a été conservée. On obtient des images vidéo en direction du robot en noir et blanc. Les moteurs du robot pourraient fonctionner en alternance, ce qui, en présence de chenilles, lui permettrait de tourner dans un sens ou dans l'autre. Si les moteurs fonctionnaient simultanément avec la même vitesse de rotation, coïncidant dans la direction, alors le robot se déplaçait tout droit ou dans la direction opposée. Il y avait une information sur la présence d'un obstacle dans la direction du robot (vers l'avant) à l'aide d'un capteur à ultrasons. Le capteur à ultrasons se compose de deux parties : un récepteur qui envoie un signal devant le robot vers un éventuel obstacle et un émetteur qui reçoit le signal réfléchi d'un éventuel objet devant le robot. La présence d'un objet devant le robot a été visuellement observée sur le graphique par un opérateur à plusieurs kilomètres du RTC "Iris-1". De même, l'image de la présence d'un obstacle au-dessus du robot était visible à l'aide d'un capteur micro-onde. Les paramètres des capteurs photopulsés, transmis via Internet à l'aide d'un canal radio depuis un téléphone portable, ont permis de construire un modèle tridimensionnel paramétrique en mouvement avec un retard dans le temps à l'aide du package T-FLEX CAD 3D version 6.0 et supérieure.

Schéma fonctionnel n° 1, connexion du téléphone portable via le port USB du PC.

Schéma de principe n° 2, connexion de téléphone portable via le port PC com.

Organigramme n°3, commande du robot mobile "Iris - 1".

La liste des composants pour contrôler le robot mobile "Iris-1" à grande distance.

  1. Un ordinateur avec un téléphone portable connecté via un port com ou usb.
  2. Canal radio avec modem GPRS dans l'appareil
  3. Station de base répéteur d'entreprise cellulaire
  4. Représentant des services de réseau informatique mondial (Internet) - fournisseur.
  5. Un autre ordinateur y est connecté via une carte et un câble de celui-ci à un robot mobile.
  6. Disponibilité de l'accès au réseau informatique mondial à partir d'un ordinateur avec un robot via le canal radio d'un téléphone portable.
  7. La présence d'une connexion stable sur les sections filaire et radio du réseau informatique (internet).

Tout ce qui précède vous permet de contrôler à distance un robot mobile à grande distance et de recevoir des informations à son sujet.

Ainsi, il était possible de contrôler à distance un robot mobile via Internet en utilisant le canal radio d'un téléphone portable avec un modem GPRS. Et en conséquence, la distance à laquelle vous pouvez contrôler un robot mobile a considérablement augmenté. De plus, le champ d'application du robot s'est élargi en termes d'endroits difficiles d'accès sur terre.

BIBLIOGRAPHIE

  1. Non. Sh. Manuel de robotique industrielle. - 1989. - V.1. - M. : Mashinostroenie. - 480 av.
  2. Non. Sh. Manuel de robotique industrielle. - 1990. - V.2. - M. : Mashinostroenie. 480 av.
  3. Pouah. K. Gonzalez, R. Lee K. Robotique. - 1989. - M. : Mir. - 624s.
  4. Kuleshov V. S. Lakota N. A. Adryunin V. V. Robots et manipulateurs télécommandés. - 1986. - M. : Mashinostroenie. - 328c.
  5. Zharkov F. P. Karataev V. V. Nikiforov V. F. Panov V. C. Utilisation des instruments virtuels LabVIEW. - 1999. - M. : Solon-R. - 268c.
  6. Poduraev Yu. V. Principes fondamentaux de la mécatronique. - 2000. - M. : MSTU "STANKIN". - 80c.
  7. Maksimov N. V. Partyka T. L. Popov I. I. Architecture informatique et systèmes informatiques. - 2005. - M. : Forum-Infra-M. - 512s.

Lien bibliographique

Pozhidaev I.V. CONTRÔLE DU ROBOT MOBILE "IRIS-1" VIA UN CANAL RADIO À L'AIDE D'UN TÉLÉPHONE CELLULAIRE // Recherche fondamentale. - 2005. - N° 7. - P. 14-16 ;
URL : http://fundamental-research.ru/ru/article/view?id=6320 (consulté le 25.08.2019). Nous portons à votre connaissance les revues publiées par la maison d'édition "Academy of Natural History"

Le réseau contient un grand nombre d'instructions pour assembler différents modèles de robots. Essayons de construire notre propre modèle Wi-Fi domestique robot utilisant les informations du forum Cyber-place, détails partiellement de la boutique en ligne. Il est avantageux de commander de nombreuses pièces détachées directement de Chine (Ebay, Aliexpress). Cela réduira considérablement le budget.
Son point de vue sur la théorie et la conception des robots modernes est exposé.

Vue fonctionnelle du robot

  1. Se déplacer en surface selon les commandes de l'opérateur,
  2. Diffusez des vidéos avec un grand angle de vue.

Bloc de contrôle

Contrôleur universel Carduino Nano V7

Microcontrôleur : ATmega328
Tension d'entrée : 5V à 30V
Fréquence d'horloge : 16 MHz
Mémoire flash : 32 Ko
RAM (SRAM) : 2 Ko

Carte mère du robot CyberBot

La carte est conçue pour s'y connecter divers Périphériques Arduino ou des appareils analogiques via des interfaces standard.

Module de commande du moteur - Blindage du moteur

Il peut connecter et contrôler deux moteurs courant continu ou 4 moteurs pas à pas. Contient un pilote de moteur à double canal HG7881.
Alimentation : 2,5 V à 12 V
Consommation de courant par canal :: jusqu'à 800 mA

moteurs à engrenages

Motoréducteur avec rapport de réduction 1:48
Plage de tension de 3V à 6V.
Vitesse de rotation des roues 48 m/min.
Courant à vide (6v): 120mA
Niveau de bruit:<65dB

Module de communication

Routeur Wi-Fi sans fil TP-Link 3020MR

Ce modèle est idéal pour installer un firmware tiers. Pour contrôler notre robot est sélectionné. Le micrologiciel est basé sur la version r37816 du micrologiciel OpenWRT.
Le routeur est contrôlé depuis n'importe quel navigateur Web via l'interface Web. Gestion via telnet, SSH est également disponible. La fonctionnalité est étendue en installant des modules complémentaires à partir du catalogue. Mémoire disponible pour les applications 1,2 Mo.

Webcam Logitech E3500

Appareil photo avec capacité de correction d'image.

concentrateur USB

Bloc pour connecter les périphériques USB entre eux : arduino, routeur, webcam.

Éléments auxiliaires

Plateforme

roues

Équipé de pneus en caoutchouc et d'un arbre pour disque encodeur optique en option, idéal pour déplacer la plate-forme sur la surface.

compartiment à piles

Nécessaire pour installer des piles. Pour notre version du robot, 4 piles AA suffisent.

Attaches, fils

Outils auxiliaires pour connecter des éléments individuels.

Processus de construction de robot

Préparation de la carte du robot CyberBot est le plus difficile pour les débutants, car. implique l'utilisation d'un fer à souder. Besoin de souder :

  1. Condensateurs de blocage à partir de 0,1 microfarads et plus
  2. Condensateur électrolytique de 100 microfarads x 16v et plus
  3. Résistance 150 ohms

Les résistances doivent être installées sur la base d'un électrolyte et d'un condensateur de blocage pour chaque module installé. En conséquence, nous devrions obtenir ce qui suit :

Les connecteurs vous permettront de compléter le microcircuit avec des capteurs supplémentaires et nous éviteront une soudure constante des pièces.

Nous connectons le module de commande du moteur - Motor Shield à la carte contrôleur. Visser le compartiment à piles. Pour monter les moteurs sur la plate-forme, vous aurez besoin de boulons M3x30. Nous avons mis des roues sur les moteurs.
On rattache le reste à la seconde partie de la plateforme : une webcam, un routeur, un hub USB. Nous resserrons les fils avec des supports et les posons soigneusement afin qu'ils n'interfèrent pas avec d'autres éléments.

Logiciel

Micrologiciel du routeur TP-Link 3020MR

Après avoir installé et lancé l'environnement de développement, vous devez sélectionner le type de carte utilisée et le port par lequel les données seront échangées entre le contrôleur et l'ordinateur. Ces réglages se font via le menu. Outils menu du conseil.

Lors de l'utilisation du tableau Arduino Nano CH340G sous système Windows, l'installation du pilote CH341SER est requise
La carte doit être définie dans le système comme série USB2.0.

Avant de télécharger le croquis, vérifiez qu'il n'y a pas d'erreurs. au menu "ESQUISSER" choisir "VÉRIFIER/COMPILER".
S'il y a des erreurs lors de la vérification, le compilateur pointera vers une ligne avec un code incorrect. Si aucune erreur n'est trouvée, alors dans le menu "ESQUISSER" choisir "CHARGE".

Esquisse pour Arduino Nano et Arduino UNO

Le croquis nécessite la bibliothèque CyberLib

#comprendre #define motors_init(D4_Out; D5_Out; D6_Out; D7_Out;) uint8_t inByte; uint8_tspeed=255 ; void setup() ( motors_init; D11_Out; D11_Low; randomSeed(A6_Read); for(uint8_t i=0; i<12; i++) beep(70, random(100, 2000)); робота UART_Init(57600); wdt_enable (WDTO_500MS); } void loop() { if (UART_ReadByte(inByte)) { switch (inByte) { case "x": robot_stop(); break; case "W": robot_go(); break; case "D": robot_rotation_left(); break; case "A": robot_rotation_right(); break; case "S": robot_back(); break; } if(inByte>47 && en octets<58) speed=(inByte-47)*25+5; } wdt_reset(); } void robot_go() { D4_Low; analogWrite(5, speed); analogWrite(6, speed); D7_Low; } void robot_back() { D4_High; analogWrite(5, 255-speed); analogWrite(6, 255-speed); D7_High; } void robot_stop() { D4_Low; analogWrite(5, 0); analogWrite(6, 0); D7_Low; } void robot_rotation_left() { D4_Low; analogWrite(5, speed); analogWrite(6, 255-speed); D7_High; } void robot_rotation_right() { D4_High; analogWrite(5, 255-speed); analogWrite(6, speed); D7_Low; }

Esquisse pour Arduino Mega

#comprendre #define motors_init (D4_Out; D5_Out; D6_Out; D7_Out;) #define robot_go (D4_Low; D5_High; D6_High; D7_Low;) #define robot_back (D4_High; D5_Low; D6_Low; D7_High;) #define robot_stop (D4_Low; D5_Low; D6_Low; D7_Low ;) #define robot_rotation_left (D4_Low; D5_High; D6_Low; D7_High;) #define robot_rotation_right (D4_High; D5_Low; D6_High; D7_Low;) uint8_t inByte; void setup() ( motors_init; D11_Out; D11_Low; randomSeed(analogRead(6)); Serial.begin(57600); wdt_enable(WDTO_500MS); ) void loop() ( if (Serial.available()) ( inByte = Serial. read(); switch (inByte) ( case "x": robot_stop; break; case "W": robot_go; break; case "D": robot_rotation_left; break; case "A": robot_rotation_right; break; case "S": robot_back; pause; ) ) wdt_reset(); )
Code source tiré de cyber-place.ru

Un service

Utilitaire terminal

Module pour travailler avec la console à partir d'un navigateur Web.

Liste des commandes fréquemment utilisées dans CyberWrt

uname-a- version du noyau Linux ;
chat /proc/cpuinfo- informations sur le matériel
chat /proc/meminfo- informations étendues sur la RAM occupée
libre-m- Informations sur la RAM utilisée et libre
ls /dev- affichage de tous les appareils du système
identifiant— des informations récapitulatives sur l'utilisateur actuel (login, UID, GID) ;
ps- tous les processus chargés ;
Date- vue date/heure
dmesg- télécharger le fichier journal
lsmod- Liste des modules chargés dans le noyau
netstat -rn- table de routage
netstat-an | grep ECOUTER- liste de tous les ports ouverts
netstat-tup- Connexions Internet actives

fdisk -l Informations sur tous les lecteurs connectés ;
blkid- Informations UUID sur tous les lecteurs disponibles dans le système ;
monter /dev/sda1 /mnt- Monte la partition /dev/sda1 au point de montage /mnt ;
monter— des informations complètes sur les appareils montés ;
démonter /mnt- Démontez la partition du point de montage /mnt ;

dégager- Vider la fenêtre du terminal ; — fin de séance ;
mot de passe— modifier le mot de passe de l'utilisateur actuel ;

mise à jour opkg- mettre à jour la liste des packages
mise à niveau opkg– mettre à jour tous les packages installés ;
opkg list-installé- Affiche une liste des packages installés.

Vérification de la santé des moteurs dans l'environnement de développement

au menu "INSTRUMENTS" choisir "MONITEUR DE PORT SÉRIE". Dans la ligne du terminal, tapez la commande de mouvement :

echo x > /dev/ttyUSB0

Si tout est correctement connecté et configuré, alors après avoir appuyé sur le bouton "ENVOYER" les moteurs doivent commencer à tourner.

Vous pouvez arrêter le mouvement par la commande :

Écho W > /dev/ttyUSB0

Problèmes

Incompatibilité du microcontrôleur Arduino Nano V3 CH340 avec le routeur TP-LINK TL-MR3020

Solutions trouvées sur le forum :

  • Connexion d'une résistance de 100 ohms par broche TVD et sur +5V
  • Réduire la vitesse de connexion à 9600
  • Retirer un condensateur ou couper une piste sur un Arduino
  • Connexion du microcontrôleur au routeur via l'interface UART

Comme l'a montré la pratique, aucune des méthodes ci-dessus n'a aidé. Ce n'est qu'après avoir remplacé le microcontrôleur par Carduino Nano V7 que le robot a commencé à fonctionner via le routeur.

J'ai longtemps rêvé de faire un robot Wi-Fi qui pourrait être contrôlé à distance. Et enfin le jour est venu où j'ai pu contrôler le robot via Internet, voir et entendre tout ce qui se passe autour de lui.
J'invite ceux qui sont intéressés sous le chat

Les composants suivants ont été utilisés pour créer le robot :

Voici à quoi ressemble le robot que j'ai assemblé, sans le capot supérieur.

Maintenant tout est en ordre :

Assemblage de la plate-forme du robot :

Emplacement des composants sur carte mère. J'ai seulement installé Arduino Nano, pilote de moteur et émetteur de son HC :

Le routeur wr703N était fixé au bas de la plate-forme du robot avec du ruban adhésif double face :

La webcam est fixée au coin du meuble, aux trous réguliers de la plateforme, prévus pour les servomoteurs :

CyberWrt est un firmware construit sur la base d'OpenWrt et conçu principalement pour les robots, les maisons intelligentes et d'autres appareils construits sur la base de modèles populaires Routeurs Tp-Link mr3020 b Wr703N. CyberWrt a le volume maximum possible espace libre pour l'installation de packages - 1,25 Mo. Par défaut, un serveur Web est installé et toutes les opérations peuvent être effectuées via l'interface Web intégrée. Immédiatement après le clignotement, le routeur est disponible sur le réseau via le câble et le WiFi comme point d'accès. Grâce à l'interface Web, vous pouvez travailler dans le " ligne de commande» - via le terminal web et dans gestionnaire de fichiers, où vous pouvez modifier, télécharger, supprimer, créer, copier des fichiers, etc.

Après avoir flashé le routeur, il est disponible comme point d'accès WiFi avec le nom "CyberBot", on s'y connecte, on va sur page d'accueil routeur. Voici à quoi ressemble l'interface Web juste après le firmware.

Installez le pilote FTDI, le pilote vidéo et les modules CyberBot-2.

Flasher le contrôleur Arduino.

Le code du programme du robot s'est avéré assez simple, mais il suffit de contrôler à distance le robot via réseau local ou Internet.
Le code est adapté pour les contrôleurs Arduino avec ATmega168/328 à bord et utilise la bibliothèque CyberLib.
Cette bibliothèque permet de tirer le meilleur parti du contrôleur et de réduire la quantité de code final.
Le code utilise WDT pour empêcher le robot de geler.
Le code prend également en charge le contrôle de la caméra le long des axes X et Y, mais je n'avais pas de servos libres et je ne pouvais pas utiliser cette fonction :

Code pour Arduino

#comprendre #comprendre Servo monservo1 ; Servo monservo2 ; long precedentMillis; http://cyber-place.ru/attachment.php?attachmentid=600&d=1389429469 uint8_t LedStep = 0 ; // Compteur int i ; booléen light_stat ; uint8_t inByte ; uint8_tspeed=255 ; // vitesse maximum#define init (D4_Out; D5_Out; D6_Out; D7_Out; D8_Out; D11_Out; D12_Out;) void setup() ( myservo1.attach(9); // Attache les servos au port myservo2.attach(10); // Attache les servos au port init ; // Initialisation des ports D11_Low ; // Haut-parleur désactivé randomSeed(A6_Read ); // Obtenir une valeur aléatoire horn(); // Notification sonore de l'état de préparation du robot UART_Init (57600); // Initialisation du port pour la communication avec le router wdt_enable (WDTO_500MS ); ) void loop() ( unsigned long currentMillis = millis(); if (LedStep == 0 && currentMillis - previousMillis > 500)( // 0.5 second delay. previousMillis = currentMillis; LedStep = 1; ) if (LedStep == 1 && currentMillis - previousMillis > 500)( // Retard 0,5 sec. previousMillis = currentMillis; LedStep = 2; ) if (LedStep == 2 && currentMillis - previousMillis > 500)( // Retard 0,5 sec. LedStep = 0; ) if (UART_ReadByte(inByte)) // Si quelque chose est venu ( switch (inByte) // Regardez quelle commande est venue ( case "x": // Os réglage du robot robot_stop(); Pause; case "W": // Avancer robot_go(); Pause; case "D": // Rotation à gauche robot_rotation_left(); Pause; case "A": // Rotation à droite robot_rotation_right(); Pause; case "S": // Reculer robot_back(); Pause; case "U": // La caméra monte myservo1.write(i -= 20); Pause; case "J": // La caméra descend myservo1.write(i += 20); Pause; case "H": // La caméra tourne vers la droite myservo2.write(i += 20); Pause; case "K": // La caméra tourne à gauche myservo2.write(i -= 20); Pause; case "B": // Blaster D12_High ; Pause; case "C": // klaxon Klaxon(); Pause; case "V": // Allumer/éteindre les lumières if(light_stat) ( D8_Low; light_stat=false; ) else ( D8_High; light_stat=true; ) break; ) si(inByte>47 && inByte<58) speed=(inByte-47)*25+5; //принимаем команду и преобразуем в скорость } wdt_reset(); } void horn() { for(uint8_t i=0; i<12; i++) beep(70, random(100, 2000)); //звуковое оповещение } void robot_go() { D4_Low; analogWrite(5, speed); analogWrite(6, speed); D7_Low; } void robot_back() { D4_High; analogWrite(5, 255-speed); analogWrite(6, 255-speed); D7_High; } void robot_stop() { D4_Low; analogWrite(5, 0); analogWrite(6, 0); D7_Low; } void robot_rotation_left() { D4_Low; analogWrite(5, speed); analogWrite(6, 255-speed); D7_High; } void robot_rotation_right() { D4_High; analogWrite(5, 255-speed); analogWrite(6, speed); D7_Low; }

Tout est assemblé et cousu, maintenant on allume le robot et on le contrôle à distance.
Sur un PC, en plus des boutons à l'écran, vous pouvez également contrôler depuis le clavier, les touches W, A, D, S, X

Publier une vidéo :

À l'avenir, je prévois d'apprendre au robot à naviguer dans l'espace et à dessiner une carte de la pièce.