Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Robot pour une navigation intérieure super cool

Composants et fournitures

Smart Motor Robot Car Battery Box Châssis Kit DIY Speed ​​Encoder pour Arduino
× 1
oblu - un IMU open source pour la navigation piétonne intérieure
× 1
Planche à pain sans soudure demi-taille
× 1
Câbles de raccordement mâle/femelle
× 1
Condensateur 1000 µF
× 2
Texas Instruments Dual H-Bridge Motor Drivers L293D
× 1
Arduino Mega 2560
× 1
AA 2800 Ni-MH rechargeable
× 1

Outils et machines nécessaires

Fer à souder (générique)

Applications et services en ligne

Arduino IDE
Xoblu

À propos de ce projet

Notre histoire :

Le projet consiste à faire se déplacer le robot dans une trajectoire prédéfinie avec précision, sans utiliser le GPS, le WiFi ou le Bluetooth pour le positionnement, ni même la carte ou le plan d'aménagement du bâtiment. Et dessinez son chemin réel (à l'échelle), en temps réel. Le bluetooth peut être utilisé comme substitut du fil, pour transmettre des informations de localisation en temps réel.

L'histoire de fond :

Nous recherchions une solution robuste pour la navigation intérieure de notre robot basé sur Arduino. Lors du choix de la bonne solution de détection de mouvement pour cette application, nous avons également considéré Oblu (un IMU open source). Son faible coût et sa nature open source en ont fait un candidat probable. La partie délicate ici était que le programme open source d'oblu est adapté à la navigation à l'estime des piétons en intérieur (PDR) ou à la navigation piétonne, en termes simples. Les performances PDR d'Oblu en intérieur en tant qu'IMU montée sur pied sont assez impressionnantes. Un gros avantage était l'application Android gratuite (Xoblu) pour son suivi de position en temps réel. Cependant, nous ne savions pas comment utiliser son algorithme de navigation piétonne existant, basé sur un modèle de marche humaine.

Les calculs internes d'Oblu sont basés sur la marche humaine. Oblu donne un déplacement entre deux pas successifs et un changement de cap. Lorsque le pied touche le sol, la vitesse de la semelle est nulle, c'est-à-dire que la semelle est à l'arrêt. De cette façon, Oblu détecte les « étapes » et corrige certaines erreurs internes. Et cette correction fréquente des erreurs, se traduit par d'excellentes performances de suivi. Voici donc le hic. Et si notre robot marchait aussi de la même manière - bouge, arrête, bouge, arrête..

Nous avons opté pour Oblu et en un rien de temps nous avons pu assembler notre robot et le système de suivi. Le reste de l'histoire est dans la vidéo suivante...

Comment ça marche :

Le robot se déplace selon une trajectoire préprogrammée et transmet (via Bluetooth) ses informations de mouvement réelles à un téléphone pour un suivi en temps réel.

Arduino est préprogrammé avec chemin et oblu est utilisé pour détecter le mouvement du robot. oblu transmet les informations de mouvement à Arduino à intervalles réguliers. Sur cette base, Arduino contrôle les mouvements des roues pour permettre au robot de suivre le chemin prédéfini.

La trajectoire du robot est programmée comme un ensemble de segments de ligne droite. Chaque segment de ligne est défini par sa longueur et son orientation par rapport au précédent. Le mouvement du robot est gardé discret, c'est-à-dire qu'il se déplace en ligne droite, mais en segments plus petits (appelons « foulées » pour plus de simplicité). À la fin de chaque foulée, oblu transmet la longueur de la foulée et l'étendue de la déviation (changement d'orientation) de la ligne droite à Arduino. Arduino corrige l'alignement du robot à chaque étape de la réception de ces informations, s'il constate un écart par rapport à la ligne droite prédéfinie.

Selon le programme, le robot est toujours censé se déplacer en ligne droite. Cependant, il peut s'écarter de la ligne droite et marcher selon un certain angle ou une trajectoire asymétrique en raison de non-idéalités comme une surface inégale, un déséquilibre de masse dans l'assemblage du robot, un déséquilibre architectural ou électrique dans les moteurs à courant continu ou l'orientation aléatoire de la roue libre avant. Faites un pas... corrigez votre cap... avancez. Le robot recule également s'il parcourt plus que la longueur programmée de ce segment de ligne particulier.

La longueur de foulée suivante dépend de la distance restante à couvrir de ce segment de ligne droite particulier. Le robot fait de grands pas lorsque la distance à parcourir est plus grande et fait des pas plus petits près de la destination (c'est-à-dire à la fin de chaque segment de ligne droite).

IMU Oblu transmet simultanément les données à Arduino et au téléphone (via Bluetooth). Xoblu (l'application Android) effectue un calcul simple pour construire le chemin en fonction des informations de mouvement reçues du robot, qui sont utilisées pour le suivi en temps réel sur le téléphone. (La construction du chemin à l'aide de Xoblu est illustrée ci-dessous.)

En résumé, Oblu détecte le mouvement et communique les informations de mouvement à Arduino et au téléphone à intervalles réguliers. Sur la base de la trajectoire programmée et des informations de mouvement (envoyées par oblu), Arduino contrôle les mouvements des roues. Le mouvement du robot n'est PAS contrôlé à distance, sauf pour les commandes de démarrage/arrêt.

Modélisation de chemin :

Le robot pourrait être mieux contrôlé s'il marche uniquement sur des segments de ligne droite. Par conséquent, le chemin doit d'abord être modélisé comme un ensemble de segments de ligne droite. Les images ci-dessous contiennent quelques exemples de chemins et leurs représentations en termes de déplacement et d'orientation. C'est ainsi que le chemin est programmé dans Arduino.

De même, tout chemin qui est un ensemble de segments de ligne droite peut être défini et programmé dans Arduino.

Assemblage du circuit :

Reportez-vous à la section H/W pour les connexions électriques entre Arduino, oblu, le pilote de moteur et la batterie.

  • Protocole de communication :

Étape 1 :Xoblu envoie la commande START à oblu

Étape 2 :oblu accuse réception de la commande en envoyant l'ACK approprié à Xoblu

Étape 3 :oblu envoie un paquet DATA contenant les informations de déplacement et d'orientation pour chaque foulée, à chaque pas, à Xoblu. (étape =chaque fois qu'un mouvement nul ou qu'un arrêt sont détectés).

Étape 4 :Xoblu accuse réception du dernier paquet de DONNÉES en envoyant l'ACK approprié à oblu. (Le cycle des étapes 3 et 4 est répété jusqu'à ce que Xoblu envoie STOP. À la réception de la commande STOP, oblu exécute l'étape 5)

Étape 5 :STOP - (i) Arrêter le traitement dans oblu (ii) Arrêter toutes les sorties dans oblu

Veuillez vous référer à la note d'application d'oblu pour plus de détails sur START, ACK, DATA et STOP

Comment fonctionne Oblu IMU (facultatif) :

Présentation de quelques références sur la vue d'ensemble d'Oblu et le principe de base du fonctionnement d'un capteur PDR monté sur pied :

--> Le code source disponible d'oblu est destiné à la navigation au pied. Et il est mieux optimisé à cette fin. La vidéo ci-dessous couvre son principe de fonctionnement de base :

--> Voici quelques articles simples sur les capteurs PDR montés sur pied :

1. Suivre mes pas

2. Continuer à suivre mes pas

--> Vous pouvez vous référer à ce document pour plus de détails sur la navigation à l'estime des piétons à l'aide de capteurs de pied.

--> Vidéo suivante pour un aperçu d'Oblu :

----------------

S'il vous plaît, partagez vos commentaires, suggestions et laissez des commentaires.

Meilleurs voeux !

----------------

Code

robot basé sur arduino
Le robot se déplace selon une trajectoire préprogrammée et transmet ses coordonnées actuelles à un téléphone pour un suivi en temps réel.https://github.com/vijkumsha/oblu_Robot

Schémas


Processus de fabrication

  1. Robot Raspberry Pi contrôlé par Bluetooth
  2. Robot Pi simple
  3. Obstacles pour éviter le robot avec servomoteur
  4. Robot Joy (Robô Da Alegria)
  5. Robot suiveur de ligne
  6. Robot à commande vocale
  7. Robot piano contrôlé par Arduino :PiBot
  8. Plateforme de formation Arduino
  9. Robot assistant domestique autonome