Table des matières:

Robot de navigation avec capteurs de chaussures, sans GPS, sans carte : 13 étapes (avec photos)
Robot de navigation avec capteurs de chaussures, sans GPS, sans carte : 13 étapes (avec photos)

Vidéo: Robot de navigation avec capteurs de chaussures, sans GPS, sans carte : 13 étapes (avec photos)

Vidéo: Robot de navigation avec capteurs de chaussures, sans GPS, sans carte : 13 étapes (avec photos)
Vidéo: Les Distributeurs Ne Veulent Pas Que Vous Sachiez Ça 2024, Novembre
Anonim

Par obluobluSuivez à propos de: oblu est un capteur de navigation intérieure En savoir plus sur oblu »

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.

Étape 1: UNE COURTE INTRODUCTION

UNE COURTE INTRODUCTION
UNE COURTE INTRODUCTION

Le projet consiste à faire se déplacer le robot dans un chemin prédéfini 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.

Étape 2: L'HISTOIRE DE FOND INTÉRESSANTE

L'HISTOIRE DE FOND INTÉRESSANTE
L'HISTOIRE DE FOND INTÉRESSANTE

Le principal objectif de notre équipe est de développer des capteurs de navigation piétons montés sur chaussures. Cependant, nous avons été approchés par un groupe de recherche universitaire avec l'exigence de naviguer à l'intérieur du robot et de surveiller simultanément sa position en temps réel. Ils voulaient utiliser un tel système pour cartographier le rayonnement dans une chambre fermée ou détecter une fuite de gaz dans une installation industrielle. De tels endroits sont dangereux pour les êtres humains. à la recherche d'une solution robuste pour la navigation intérieure de notre robot basé sur Arduino.

Notre choix évident pour tout module de capteur de mouvement (IMU) était "oblu" (Réf. image ci-dessus). Mais la partie délicate ici était que le micrologiciel existant d'oblu était 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. La disponibilité de l'application Android (Xoblu) pour le suivi en temps réel d'oblu en tant que capteur de chaussures, ajoute à l'avantage. Cependant, le défi consistait à utiliser son algorithme existant, basé sur un modèle de marche humaine, pour diriger le robot et le surveiller.

Étape 3: UNE BRÈVE INTRO À "oblu"

Image
Image
DESCRIPTION DU SYSTÈME
DESCRIPTION DU SYSTÈME

"oblu" est une plate-forme de développement miniaturisée, à faible coût et open source destinée aux applications de détection de mouvement portables. Il fonctionne sur batterie rechargeable Li-ion et permet le chargement de la batterie USB embarquée. Il dispose d'un module Bluetooth (BLE 4.1) intégré pour la communication sans fil. "oblu" héberge un microcontrôleur à virgule flottante 32 bits (AT32UC3C d'Atmel) qui permet de résoudre des équations de navigation complexes à bord. Par conséquent, on effectue tout le traitement du mouvement sur oblu lui-même et ne transmet que le résultat final. Cela rend l'intégration d'oblu avec le système associé extrêmement simple. "oblu" héberge également une matrice multi-IMU (MIMU) qui permet la fusion de capteurs et améliore les performances de détection de mouvement. L'approche MIMU ajoute à l'unicité de "oblu".

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. Comment - lorsque le pied entre en contact avec 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 également de la même manière - se déplacer, s'arrêter, se déplacer, s'arrêter. En fait, oblu pourrait être utilisé pour tout objet dont le mouvement a des moments réguliers nuls et non nuls. Ainsi nous avons avancé avec oblu et en un rien de temps nous avons pu assembler notre robot et le système de suivi.

Étape 4: QUELLE EST L'UTILITÉ DE « oblu » ?

Nous passons près de 70 % de notre temps à l'intérieur. Par conséquent, il existe de nombreuses applications qui nécessitent la navigation intérieure des humains et des machines. La solution de positionnement la plus couramment utilisée est le GPS/GNSS par satellite qui convient à la navigation en extérieur. Il échoue en milieu intérieur ou en milieu urbain qui ne sont pas accessibles au ciel clair. De telles applications sont la géolocalisation des bidonvilles ou des zones sous un couvert forestier dense, la navigation intérieure de robots, le positionnement d'agents de secours pour la lutte contre les incendies, les accidents miniers, la guerre urbaine, etc.

Le prédécesseur d'oblu a été présenté comme un capteur de chaussures très compact (ou un capteur PDR) pour le positionnement des pompiers, qui a ensuite été mis à niveau et modifié en tant que plate-forme de développement hautement configurable pour les fabricants qui recherchent des solutions simples et précises. solution de détection inertielle abordable pour la navigation intérieure des humains ainsi que des robots. Jusqu'à présent, les utilisateurs d'oblu ont démontré ses applications dans le suivi des piétons, la sécurité industrielle et la gestion des ressources, la police tactique, la géolocalisation de la zone dépourvue de GPS, le robot auto-navigateur, la robotique d'assistance, les jeux, l'AR/VR, le traitement des troubles du mouvement, la compréhension de la physique de mouvement, etc. oblu convient aux applications avec des contraintes d'espace, par ex. détection de mouvement portable. Il peut également être utilisé comme IMU sans fil, grâce au Bluetooth embarqué. La présence d'une capacité de traitement en virgule flottante intégrée, ainsi que de quatre matrices d'IMU, rend possible la fusion de capteurs et le traitement de mouvement dans le module lui-même, ce qui à son tour permet une détection de mouvement très précise.

Étape 5: L'HISTOIRE DU PROJET

Image
Image

L'histoire de ce projet est dans la vidéo…

Étape 6: DESCRIPTION DU SYSTÈME

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). 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 de chemin à l'aide de Xoblu est illustrée dans la deuxième image).

En résumé, oblu détecte les mouvements 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.

Pour le firmware d'oblu, visitez

Pour le code Aurduino du robot, visitez

Étape 7: MODÉLISATION DU CHEMIN

MODÉLISATION DE CHEMIN
MODÉLISATION DE CHEMIN
MODÉLISATION DE CHEMIN
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 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.

Étape 8: ASSEMBLAGE DU CIRCUIT

ASSEMBLAGE DES CIRCUITS
ASSEMBLAGE DES CIRCUITS

Le diagramme d'intégration du système de niveau supérieur. Arduino et oblu font partie de l'assemblage matériel. UART est utilisé pour la communication entre Arduino et oblu. (Veuillez noter la connexion Rx/Tx.) La direction du flux de données est pour référence seulement. L'ensemble du matériel communique avec le smartphone (Xoblu) via Bluetooth.

Étape 9: SCHÉMA DE CIRCUIT

SCHÉMA
SCHÉMA

Les connexions électriques détaillées entre Arduino, oblu, le pilote du moteur et la batterie.

Étape 10: PROTOCOLE DE COMMUNICATION:

Voici comment s'effectue la communication des données entre le capteur oblu monté sur le robot et le smartphone, c'est-à-dire Xoblu:

É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 de DONNÉES contenant les informations de déplacement et d'orientation pour chaque foulée, à chaque étape, à Xoblu. (étape = chaque fois qu'un mouvement nul ou un arrêt est détecté). É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ête le traitement dans oblu (ii) Arrête toutes les sorties dans oblu Veuillez consulter la note d'application d'oblu pour détails de START, ACK, DATA et STOP

Étape 11: COMMENT FONCTIONNE "oblu" IMU (optionnel):

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.

Étape 12: Visitez « oblu.io » (facultatif)

Image
Image

Regardez la vidéo pour les applications possibles de "oblu":

----------------Veuillez partager vos commentaires, suggestions et laisser des commentaires. Meilleurs voeux !

Étape 13: COMPOSANTS

1 oblu (une plate-forme de développement IMU open source)

1 Kit de châssis de boîte de batterie de voiture de Robot de moteur intelligent DIY Encodeur de vitesse pour Arduino

1 planche à pain sans soudure demi-taille

1 fils de cavalier mâle/femelle

2 Condensateur 1000 µF

1 pilotes de moteur Texas Instruments Dual H-Bridge L293D

1 Arduino Mega 2560 et Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH rechargeable

Conseillé: