Table des matières:
- Étape 1: UNE COURTE INTRODUCTION
- Étape 2: L'HISTOIRE DE FOND INTÉRESSANTE
- Étape 3: UNE BRÈVE INTRO À "oblu"
- Étape 4: QUELLE EST L'UTILITÉ DE « oblu » ?
- Étape 5: L'HISTOIRE DU PROJET
- Étape 6: DESCRIPTION DU SYSTÈME
- Étape 7: MODÉLISATION DU CHEMIN
- Étape 8: ASSEMBLAGE DU CIRCUIT
- Étape 9: SCHÉMA DE CIRCUIT
- Étape 10: PROTOCOLE DE COMMUNICATION:
- Étape 11: COMMENT FONCTIONNE "oblu" IMU (optionnel):
- Étape 12: Visitez « oblu.io » (facultatif)
- Étape 13: COMPOSANTS
Vidéo: Robot de navigation avec capteurs de chaussures, sans GPS, sans carte : 13 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
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
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
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"
"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
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
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
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
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)
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é:
Chaussures Neopixel RGB déclenchées par le mouvement ! : 5 étapes (avec photos)
Chaussures Neopixel RGB déclenchées par le mouvement ! : Les NeoPixel sont géniaux, nous pouvons contrôler des centaines de lumières avec 3 fils, c'est-à-dire 5V, Din & GND et dans ce didacticiel, je vais montrer comment vous pouvez créer des chaussures NeoPixel RGB déclenchées par le mouvement ! Alors, sans plus tarder, commençons
Robot évitant les obstacles avec capteurs IR sans microcontrôleur : 6 étapes
Robot évitant les obstacles avec des capteurs IR sans microcontrôleur : Eh bien, ce projet est un projet plus ancien, je l'ai fait en 2014 au mois de juillet ou d'août, j'ai pensé à le partager avec vous les gars. C'est un simple robot évitant un obstacle qui utilise des capteurs IR et fonctionne sans microcontrôleur. Les capteurs IR utilisent opamp IC i
Système d'alarme sans fil Arduino utilisant des capteurs existants : 9 étapes (avec photos)
Système d'alarme sans fil Arduino utilisant des capteurs existants : Ce projet peut être construit en environ une demi-heure pour un coût d'environ 20,00 $ si vous avez des capteurs d'alarme sans fil 433Mhz ou 315Mhz existants. Il peut également s'agir d'un tout nouveau projet avec des capteurs d'alarme sans fil, tels que des détecteurs de mouvement infrarouges et des roseaux
Réseau de capteurs sans fil à faible coût sur la bande 433 MHz : 5 étapes (avec photos)
Réseau de capteurs sans fil à faible coût sur la bande 433 MHz : Merci beaucoup à Teresa Rajba de m'avoir gentiment accepté d'utiliser les données de leurs publications dans cet article. réseaux ? Une définition simple serait
Console portable avec contrôleurs et capteurs sans fil (Arduino MEGA & UNO): 10 étapes (avec photos)
Console portable avec contrôleurs et capteurs sans fil (Arduino MEGA & UNO): Ce que j'ai utilisé:- Arduino MEGA- 2x Arduino UNO- Adafruit 3.5" Écran tactile TFT 320x480 HXD8357D- Buzzer- Haut-parleur 4Ohm 3W- Lumières LED 5mm- Imprimante Ultimaker 2+ avec filament PLA noir- Découpeur laser avec bois MDF- Peinture en aérosol noire (pour le bois)- 3x nRF24