Table des matières:
- Fournitures
- Étape 1: Assemblage du Rover
- Étape 2: Raspbian
- Étape 3: OpenVino
- Étape 4: Téléchargez le code
- Étape 5: Suivez-moi (Python)
- Étape 6: Téléchargez les modèles
- Étape 7: Arduino
- Étape 8: interface graphique
- Étape 9: Service
- Étape 10: C'est tout ! S'amuser
Vidéo: MyPetBot (un bot qui vous suit) : 10 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Ai est l'une des plus belles applications des mathématiques. Il s'agit essentiellement d'un ensemble d'opérations de matrices optimisées pour correspondre au résultat que vous recherchez. Heureusement, il existe des tonnes d'outils open source qui nous permettent de l'utiliser.
J'ai eu l'idée à l'origine il y a longtemps lorsque je travaillais sur une cascade désactivée par le jet des passants. J'utilisais des capteurs à ultrasons et j'ai découvert trop tard qu'ils ne fonctionnent pas très bien lorsqu'ils sont mouillés… Ce n'était pas une expérience amusante. Nous avons fini par utiliser un gros bouton sur lequel les gens appuyaient s'ils voulaient passer. Ça s'est bien passé car il faisait chaud et les gens adoraient se mouiller, mais le problème est resté dans ma tête… Comment détecter les gens et activer une réaction.
Je raconte cette histoire parce que je tiens à souligner que ce principe peut être utilisé pour des tonnes d'autres applications ! Suivre votre visage avec un jouet n'est que l'un d'entre eux. Pour les installations interactives, vous pouvez faire n'importe quoi. Vous pouvez utiliser un modèle pour détecter si un visage sourit. On pouvait compter le nombre de chiens dans un parc. Vous pourriez fermer vos stores lorsque des gens passent. Ou… faites un contrôleur pour votre base nintendo sur la position de votre corps…. Vous pouvez télécharger de nombreux autres modèles d'IA qui font tout type de choses.
Il existe quelques tutoriels sur la façon de faire fonctionner l'inférence Ai avec Raspberry Pi. Je suis ici pour vous apprendre comment faire l'intégration du trou dans une unité de travail autonome. Dès que votre robot démarrera, il lancera les programmes nécessaires.
Fournitures
- Robot de parallaxe: j'ai choisi ce robot parce que je l'avais traîné, mais n'importe quel robot qui peut être contrôlé avec un arduino fera le travail.
- Raspberry pi: Je recommande au moins le raspberry pi 3B+.
- Intel Neural Stick: Le taux d'inférence passe d'un par seconde à 8. Vous en avez vraiment besoin si vous voulez faire de l'IA dans un Raspberry Pi.
- Banque d'alimentation: le moyen le plus simple de gérer l'alimentation. Fonctionne avec le raspberry pi 3B+, vous voudrez peut-être vérifier qu'il fonctionne avec un pi 4.
- Picamera: J'aime utiliser la picamera au lieu d'un usb.
Étape 1: Assemblage du Rover
Le but du tutoriel concerne principalement le logiciel, je ne veux donc pas trop entrer dans les détails du rover. Cela fonctionne avec ce robot, mais cela pourrait vraiment fonctionner avec n'importe quel autre matériel. Cela n'a même pas besoin d'être pour un rover, vous pouvez l'utiliser pour une caméra à capteur de mouvement.
- Trouvez-vous un véhicule contrôlé par Arduino.
- Enveloppez-y une banque d'alimentation.
- Enveloppez-y un Raspberry Pi.
- Collez la picamera avec un léger angle vers le haut.
- Connectez tout ensemble.
- Voila !
Étape 2: Raspbian
J'utilise un raspberry pi, mais il n'y a aucune raison de ne pas utiliser un autre linux… à vous de voir. Je pourrais sortir une image plug and play pour graver une carte SD, j'y arriverai si suffisamment de personnes sont intéressées.
Installer le Raspbian: Vous pouvez installer le Raspbian Buster Lite. Nous n'allons pas utiliser le bureau… Seulement la connexion ssh Secure Shell.
Connectez-vous à votre Pi: vous pouvez d'abord vous connecter à votre raspberry pi avec une connexion Ethernet
Configurez votre wifi: vous pouvez maintenant configurer votre connexion sans fil
Étape 3: OpenVino
OpenVino est une excellente bibliothèque prise en charge par Intel. Ils ont fait un excellent travail en compilant des exemples de modèles et ils ont rendu la plupart des frameworks IA compatibles. Vous avez besoin de cette bibliothèque pour l'Intel Neural Stick.
Installation de Python3: vous devez installer python 3.
Installation d'OpenVino: Une fois cela fait, vous verrez une ligne "[setupvars.sh] OpenVINO environment initialized" à chaque fois que vous vous connecterez au raspberry pi.
OpenVino est une extension d'opencv. Pour le tester, vous pouvez lancer python3 et importer cv2.
tapez dans le shell:
python3
tapez en python:
- importer cv2
- cv2._version_
La dernière ligne doit renvoyer '4.1.2-openvino' ou n'importe quelle version d'openvino. si si dit opencv votre installation n'a pas fonctionné…
Étape 4: Téléchargez le code
Tout d'abord, nous installons git. Tapez dans le shell:
sudo apt-get install git
Ensuite, nous pouvons passer au dossier Documents et télécharger le code:
- cd ~/Documents/
- git clone
Étape 5: Suivez-moi (Python)
C'est le rôle avec lequel tu veux jouer. Faites si vous suivez! Faites-lui peur ! Suivez votre chien ! Faites-lui reconnaître les expressions du visage !! Harcèle ton chat !!! Tout ce que tu veux.
Vous trouverez quatre dossiers principaux: Arduino, Deployment, Player et FollowMe:
Arduino: Plus d'informations à ce sujet dans la section suivante
Déploiement: C'est ici que j'ai mis l'interface utilisateur. En ce moment, j'ai codé un simple bouton marche/arrêt et une petite visionneuse de caméra avec un contrôle juste amusant.
Lecteur: destiné à être utilisé sur votre ordinateur de bureau. Pour avoir examiné la sortie du bot !
FollowMe: le module qui fait le vrai plaisir
Je mettrai plus de détails sur github, pour n'avoir qu'un seul endroit pour mettre à jour. C'est l'endroit pour le code
Étape 6: Téléchargez les modèles
Les modèles d'inférence ne sont pas inclus dans le code car ils sont assez gros. Mais vous pouvez trouver de nombreux exemples en utilisant le modèle OpenVino Zoo
Vous pouvez utiliser le téléchargeur de modèles ou aller directement jeter ce lien. Dans mon cas, je n'ai pas pu utiliser le téléchargeur de modèles de mon installation Raspberry Pi…
Copiez ensuite le modèle dans un dossier nommé Modèles avec:
- cd ~/Documents/Suivez-moi
- Modèles mkdir
- Modèles de CD
- wget
- wget
Vous avez toujours besoin du.xml et du.bin.
Vous pouvez télécharger n'importe quel modèle que vous voulez… Mais vous devrez changer le code. S'amuser!
Étape 7: Arduino
Nous devons télécharger le code à l'étape précédente. Le code de l'arduino est dedans !
Le code est destiné à piloter deux servos continus, si vous choisissez une configuration différente, vous devez modifier le code.
Il fait essentiellement deux choses. Il communique avec l'ordinateur et il active les servos à la vitesse sélectionnée.
Je pourrais utiliser la sortie du raspberry pi directement pour contrôler les moteurs… mais les arduinos fonctionnent mieux (Ils ont un vrai générateur de fréquence). De plus, je voulais décharger le raspberry pi autant que possible pour accélérer l'inférence.
Étape 8: interface graphique
Rien d'extraordinaire… Pourtant. Je pourrais ajouter d'autres éléments comme la vue en direct ou les commandes de mouvement. Mais en attendant, un simple démarrage et arrêt fera l'affaire.
Si vous voulez le tester, vous devez le lancer depuis le répertoire FollowMe Level puis l'appeler depuis python3:
- cd ~/Documents/Suivez-moi
- Déploiement python3/FollowMe.py
Ensuite, vous pouvez accéder à l'interface dans votre navigateur en tapant:
192.168.0.113:8000
avec la bonne adresse IP bien sûr.
Il y a aussi une visionneuse vidéo avec des commandes… mais pas avec une inférence fonctionnelle
Déploiement python3/StreamVideo.py
Étape 9: Service
C'est ce qui fait que le Rover fonctionne tout seul. Un service est un programme exécuté en arrière-plan de l'ordinateur sans utilisateur. Assurez-vous que TOUS VOS CHEMINS sont absolus et que vous disposez des droits appropriés si vous utilisez des fichiers et que le service fonctionnera correctement.
Pour exécuter un script python en tant que service, vous devez référencer le script dans un fichier de service. Le fichier de service se trouve dans le code téléchargé depuis git dans le dossier Deployment. Le nom est FollowMe.service.
Pour le copier, tapez ce qui suit dans le shell:
sudo cp ~/Documents/FollowMe/Deployment/FollowMe.service /etc/systemd/system/
La première fois que vous copiez le fichier, vous devez mettre à jour systemctl… ou redémarrer:
sudo systemctl démon-recharger
Et pour commencer:
sudo systemctl démarrer FollowMe
Vous pouvez également utiliser les commandes stop, enable et disable. Les deux derniers sont pour un changement d'état persistant.
Petite explication….
Openvino a besoin de chemins supplémentaires dans les variables système pour fonctionner. Malheureusement, l'installation normale ne fonctionnera pas en tant que service. Vous avez donc besoin de ce fichier pour définir les variables.
Notez que mon installation est pour python 3.7 donc il y a une variable que vous devrez peut-être ajuster… Bonne chance !
Ce fichier référence le script python dans le chemin absolu:
/home/pi/Documents/FollowMe/Déploiement/FollowMe.py
Étape 10: C'est tout ! S'amuser
Commentaires? toujours le bienvenu
Conseillé:
ANTIDISTRACTION : le support pour smartphone qui vous aide à vous concentrer : 7 étapes (avec photos)
ANTIDISTRACTION : le support pour smartphone qui vous aide à vous concentrer : notre dispositif ANTIDISTRACTION vise à mettre fin à toutes les formes de distraction cellulaire pendant les périodes de concentration intense. La machine agit comme une station de charge sur laquelle un appareil mobile est monté afin de faciliter un environnement sans distraction
Masque Covid-19 qui vous crie dessus si vous touchez votre visage : 4 étapes
Masque Covid-19 qui vous crie dessus si vous touchez votre visage : vous ne pouvez pas arrêter de vous toucher le visage ? Collez ces appareils électroniques sur un masque que vous avez et on vous rappellera constamment de ne pas le faire
IRIS - la lampe qui sait quand vous êtes dans les parages : 12 étapes (avec photos)
IRIS - la lampe qui sait quand vous êtes dans les parages : salut ! Oui, tout le monde est en quarantaine. Je suis élève ingénieur. J'avais l'habitude de rester dans une auberge et j'ai l'habitude de faire mes devoirs et mes études la nuit. Maintenant que je suis à la maison, ma famille ne trouve pas ça à l'aise parce que tout le monde ici a l'habitude de dormir
Comment obtenir de la musique à partir de PRESQUE N'IMPORTE QUEL (Haha) site Web (tant que vous pouvez l'entendre, vous pouvez l'obtenir Ok très bien s'il est intégré dans Flash, vous ne pourrez peut-être pas) ÉDITÉ !!!!! Informations ajoutées : 4 étapes
Comment obtenir de la musique à partir de PRESQUE N'IMPORTE QUEL (Haha) site Web (tant que vous pouvez l'entendre, vous pouvez l'obtenir… Ok très bien s'il est intégré dans Flash, vous ne pourrez peut-être pas) ÉDITÉ !!!!! Informations supplémentaires : si jamais vous allez sur un site Web et qu'il joue une chanson que vous aimez et que vous voulez, voici l'instructable pour vous pas de ma faute si vous gâchez quelque chose (la seule façon dont cela se produira est si vous commencez à supprimer des éléments sans raison ) J'ai pu obtenir de la musique pour
Comment restaurer les dossiers ouverts lorsque vous vous reconnectez après vous être déconnecté : 5 étapes
Comment restaurer les dossiers ouverts lorsque vous vous reconnectez après vous être déconnecté : Bon, voici la situation, vous utilisez l'ordinateur avec beaucoup, beaucoup de vos dossiers ouverts… Ensuite, votre mère est rentrée à la maison plus tôt que prévu ! Vous savez parfaitement que si elle vous surprend en train d'utiliser l'ordinateur, alors que vous devriez être au lit car