K-9 2.0. Chien Robot contrôlé et autonome de WiFi. (21 / 23 étapes)

Etape 21 : programmation.

Le vrai plaisir commence maintenant. Pour quelqu'un comme moi faire K-9 2.0 faire toutes les choses qu’il peut faire, comme la conversation dynamique, réagir à la reconnaissance vocale, suivre les visages de couleurs, des objets et des peuples, et pour lui donner les capacités autonomes, ce seraient juste resté comme les idées et les rêves. Mais avec le logiciel EZ-Robot "EZ-Builder", cela fait toutes les choses mentionnées, en plus, possible. Il y a encore beaucoup de savoir et apprendre à faire, mais la façon dont le logiciel EZ-constructeur est faite et tutoriels disponibles, ainsi qu’une communauté forum amical et bien informé, il fait les choses beaucoup plus facile.

Je vais fournir quelques scripts de base pour différentes fonctions et illustrer quelques-unes des principales fonctions de K-9 et de contrôles utilisés. Je ne sera pas écrire beaucoup d’instructions sur le script et de programmation entend, car ce serait beaucoup à lire, peut-être parfois déroutant et peut ne pas convenir pour vos propres besoins. Mais toutes les informations dont vous avez besoin sont disponibles sur le site Web de EZ-Robots, où K-9 est également en vedette sur sa propre "projet vitrine". Mais si vous voulez jeter un oeil et même d’utiliser certaines des fonctions de K-9, programmation de scripts et les contrôles, l’un des fichiers de projet plus base de K-9 est stocké dans l’installation de stockage de projet en ligne EZ-Robots, le «EZ-Cloud». Le projet que vous souhaitez rechercher est appelé "K-9 projet MK2". Vous aurez besoin du logiciel EZ-bâtisseur d’accéder cela, qui est gratuit à télécharger.

Alors, voici quelques-unes des principales fonctions de K-9 2.0.

Contrôle de l’appareil mobile.

EZ-Robot offre la possibilité de créer vos propres applications mobiles pour contrôler vos robots, mais j’ai décidé d’aller une direction différente que j’avais besoin de la connexion WiFi partagée pour se connecter à du K-9 projet EZ-Builder et accès au serveur de web de chatbot Pandorabot simultanément, dont les applications mobiles de EZ-Builder ne supporte pas tout de suite. Ce que j’ai fait plutôt consistait donc à utiliser une application distante PC VPN installée sur mon iPhone. Cela me donne la possibilité d’afficher une image miroir de l’écran de mon PC qui exécute EZ-Builder, ainsi que l’utilisation écran tactile de l’iPhone pour contrôler le PC, contrôlant ainsi K-9. Et en utilisant le moteur de synthèse vocale de l’iPhone, je peux utiliser contrôle de reconnaissance pour le discours de K-9 et le contrôle de Pandorabot. Parce que le moteur de reconnaissance de texte à la parole de l’iPhone est tellement fiable (à 98 % d’exactitude), cela permet de moi-même, ou quelqu'un d’autre avoir une conversation très fiable avec lui.

Voyants de fonctionnement.

Avec un servo de 180 degrés en place, un simple script pour faire pivoter le servo à 90 degrés dans n’importe quelle direction, appuyez sur le bouton mode clignotant et retourne à la position centrale est tout ce qui est nécessaire. Ce script combiné avec un effet sonore de la table d’harmonie, peut la servir avec le mobile, la reconnaissance vocale, code Pandorabot AIML, manette de jeu ou un contrôle aléatoire de script autonome.

Le servo qui alimente les lumières interrupteur marche/arrêt peut être contrôlé de la même manière. Le seul ajout que j’ai utilisé était quand les puissances K-9 qui l’active un script pour allumer les lumières.

Voici un script simple pour changer la phase d’éclairage (en supposant que le servo est connecté au port D13 sur la v4 de EZ-B) :

ControlCommand ("effets sonores", Track_3)
servo(D13,90)

Sleep(500)

Release(D13)

Contrôler le système d’entraînement.

Comme les moteurs d’entraînement sont contrôlés à l’aide d’un contrôleur de moteur H-Bridge, un autre type de script est nécessaire. Cela dépend comment le H-Bridge est câblé vers le haut pour sélectionner correctement les moteurs corrects à son tour, la direction, qu'ils tournent, et la vitesse. Le script est utilisé dans un éditeur de script ou d’un panel de mouvement qui peut être consulté via joystick, rec de la voix, les contrôles mobiles et programmation bien sûr autonome. Un dispositif de sécurité supplémentaire a été ajouté lorsque la puissance d’entrée pour le pont en H passe par un des canaux sur le circuit d’alimentation de commande à distance. J’ai ici Appuyez sur bouton « A » sur le porte-clé aux systèmes de puissance K-9 vers le haut. Lorsque la connexion sans fil est établie j’ai serait Appuyez sur le bouton « B » sur la Boa pour activer le pont en H. Ceci est utile pour l’entretien aussi.

Voici un simple script pour K-9 en voiture vers l’avant (en supposant que H-Bridge est connecté aux ports D1, D2, D3, D4 sur la v4 de EZ-B) :

Set(D1, OFF)

Set(D3, OFF)

PWM (D0, 50)

PWM (D2, 50)

Mouvements de la tête.

À l’instar de l’éclairage, les servos utilisés pour déplacer la tête vers le haut/bas/gauche a besoin de quelques scripts simples que les autres contrôles peuvent appeler sur. La différence ici est que le servo de vitesse et l’amplitude de mouvement doivent être réduits comme la tête et du cou ont limité les limites de la course maximale.

Un petit script qui tourne la tête sur un contrôle mobile (en supposant que le servo est connecté au port D19 sur le EZ-B)

if(getservo(D19) > 10)
servodown(D19,7)

endif

Sleep(100)

Tourner les oreilles.

Les oreilles ont des servos indépendants qui peuvent transformer un à la fois, ou simultanément en face ou la même direction. Ici, la vitesse et la quantité de fois que tournent les oreilles peuvent être changés avec différents scripts. Deux des scripts que j’utilise le plus sont, pour une rotation rapide standard, et un autre lentement tourner avec un effet sonore radar quand K-9 est en mode "Scan"

Voici un simple script pour faire pivoter les oreilles (en supposant que les servos sont connectés aux ports D16, D17 sur la v4 de EZ-B) :

servo(D16,20)
servospeed(D16,1)

servo(D17,160)

servospeed(D17,1)

Sleep(700)

servo(D16,160)

servospeed(D16,1)

servo(D17,20)

servospeed(D17,1)

Sleep(1000)

servo(D16,20)

servospeed(D16,1)

servo(D17,160)

servospeed(D17,1)

Sleep(1000)

servo(D16,90)

servospeed(D16,1)

servo(D17,90)

servospeed(D17,1)

Sleep(1000)

Reconnaissance vocale.

La plupart des fonctions de K-9 est liée à un contrôle de reconnaissance vocale avec tous les scripts de code de commande nécessaire pour toutes ses fonctions. Le contrôle de la reconnaissance vocale utilise la reconnaissance vocale SAPI Microsofts moteur, donc une formation vocale sur votre ordinateur Windows, comme un micro micro ou un casque de bonne qualité est nécessaire pour obtenir des résultats plus précis. J’ai aussi un système de rec discours secondaire très fiable que j’ai mentionné ci-dessus, en utilisant le moteur de rec vocale de l’iPhone. Mais revenons à la commande de rec discours principal. Chaque scénario et contrôle en projet de logiciel de K-9 génèrent un "contrôle-commande". Ce sont essentiellement les scripts de coupe courte de monoligne qui accèdent à presque tout dans l’ensemble du projet. Ces codes de commande sont entrés dans le l’éditeur de la reconnaissance vocale et les commandes vocales vous souhaitez utiliser pour exécuter les commandes sont saisies exactement de la même manière vous dirais eux. Plusieurs commandes vocales peuvent être ajoutés pour exécuter un script unique. Par exemple, vous dites "Bonjour K-9" et il répond avec "Hello. Quel est votre nom? ". Mais vous ajoutez une autre commande où vous diriez « Salutations K-9 » et vous entendrais la même réponse. Le contrôle de la reconnaissance vocale est très puissant et très utile.

Un script de reconnaissance petit discours pour diriger gauche K-9

Phrase :

K9, tourner à gauche

Commande :

Left(255,1200)

Synthèse de la parole.

K-9 a un accent très clair anglais voix avec un léger effet robotique. Le logiciel voice a été acheté de Cepstral, et les voix disponibles ont une prononciation grande. Ceci utilise Microsofts SAPI texte pour moteur vocal et circule dans le contrôle de l’EZ-Builder « Synthèse vocale ». Ici la voix volume, l’accent et le discours peut être ajustée. L’audio est alors porté sur le haut-parleur intégré sous le panneau dorsal du K-9. La mise en place est très simple, et le contrôle est très fiable. Les gens aiment à l’entendre parler.

Une commande de script simple à K-9 ici parler :

SayEZB ("Hello. Mon nom est K9, et je peux parler.")

Media Player.

Le logiciel a deux contrôles audio carte son. On joue audio via le haut-parleur de EZ-B (que j’utilise pour les effets sonores et phrases de la parole enregistrée), et l’autre à travers le PC de bonne carte. Cela signifie que je peux connecter mon PC à ma chaîne stéréophonique via HDMI, WiFi ou Bluetooth, et tout appareil audio joué à partir du contrôle de carte son PC sera entendue dans mes enceintes Hi-Fi. J’utilise un VCN iPhone app pour contrôler le son via l’écran tactile, mais ce que j’utilise surtout est la reconnaissance vocale, donc peut demander à K-9 de jouer un certain morceau de musique par un certain artiste, ou demander une chanson au hasard être joué par le biais de mon système audio. Et bien sûr je peux lui dire de modifier, suspendre ou arrêter une piste de lecture. Grand divertissement lors de la fête. Il n’a pas la possibilité de lire des vidéos aussi bien avec une méthode similaire, la différence étant que j’utiliser EZ-générateur pour accéder à mes fichiers vidéo stockés dans mon PC et jouer à travers ma TV.

Camera Tracking.

Le bord caméra est de haute qualité et peut diffuser des flux vidéo avec aucune latence. Pour cette raison, la reconnaissance de la caméra est très bonne et très utile. Le contrôle de la caméra de suivi a quelques fonctions qui sont utilisées. Ce sont...

  • La reconnaissance factuelle et suivi,
  • Reconnaissance des couleurs et le suivi,
  • Reconnaissance d’objets et de suivi (seuls les objets de forme de base peuvent être reconnues à l’heure actuelle, mais il apprend tout le temps donc plus complexes formes ne sont pas très loin),
  • La reconnaissance de mouvement et de suivi,
  • Et la possibilité de numériser et de reconnaître les codes QR qui peuvent être utilisés pour la navigation par exemple.

Le flux vidéo est consultable sur un PC, smartphone, tablette PC ou smart TV. Cela peut être fait sur un WiFi ou connexion cellulaire et peut être visualisé depuis presque n’importe où dans le monde. Et avec le contrôle de reconnaissance de mouvement actif, ce qui est excellent pour la sécurité à la maison comme K-9 peut être programmé pour prendre certains l’action fondée sur rien he du siège qui sort de l’ordinaire.

Les contrôles de suivi de caméra sont liées à des commandes de script qui contrôlent ses mouvements de tête servo, ainsi que des commandes moteur et direction de lecteur. K-9 peut également enregistrer des vidéos et prendre des photos lorsque demandé de le faire, ou autonome basé sur de voir de quelles he.

Conduire des contrôles.

Les contrôles du lecteur sont principalement rédigés sous forme de script, comme les commandes de contrôle je l’ai mentionné plus tôt (les raccourcis) pour son disque système peut être utilisé dans de nombreux contrôles comme le contrôle de discours reconnaissance et toucher l’écran. Les moteurs sont connectés à un contrôleur de moteur H-Bridge, scripts ont dû être écrit en utilisant les valeurs de PWM (modulation de largeur d’impulsions). C’est ce qui est utilisé pour contrôler la vitesse à laquelle les moteurs tourner lorsque K-9 est autour de l’itinérance. Voici un petit exemple de code utilisé sur l’interface mobile. Appuyez sur le bouton « En avant » une fois et K-9 se déplace vers l’avant. Appuyez sur le bouton nouveau, arrêt K-9.

IF (! $pressed)
Set(D1, OFF)

Set(D3, OFF)

PWM (D0, 40)

PWM (D2, 40)

$pressed = 1 ELSE

Set(D1, OFF)

Set(D3, OFF)

PWM (D0, 0)

PWM (D2, 0)

$pressed = 0

ENDIF

Personnalité autonome.

Capacités autonomes de K-9 sont gérées en utilisant un générateur aléatoire de personnalité et de chronométrer les scripts qui sont liés à des capteurs à bord. Le générateur de personnalité permet de K-9 au hasard des patrouilles de sécurité de la maison, raconter une blague aléatoire fait amusant ou entamer une conversation. Les scripts de synchronisation peuvent initier des codes de commande pour divers contrôles et prendre des capteurs ramassé suites des actions telles que le détecteur de fumée/gaz à bord.

Un code de commande pour raconter des blagues (en supposant que plaisanterie scripts sont déjà programmées)...


ControlCommand ("gestionnaire de Script", ScriptStart, « Random propres blagues »)

Et un script d’alerte de la détection de fumée ou de gaz (en supposant que détecteurs de fumée est relié aux voies analogiques ADC0)...

: boucle
$smoke=getADC(adc0)

if($Smoke>70)

sayEZB ("Steve. Mes capteurs ont détecté, les cadeaux de la fumée ou gaz.")

endif

Sleep(7000)

Goto(Loop)

Éviter la détection d’objet.

Le coeur du système de détection et d’évitement d’objet est un capteur de distance à ultrasons, un servo qui tourne de 180 degrés et un contrôle radar dans le logiciel EZ-Builder. Les ultrasons peuvent agir comme un capteur de détection de mouvement qui peut déclencher des codes de commande, ou avec le servo balayant lentement de gauche à droite et arrière, si des objets, comme des murs ou des meubles sont détectées dans une fourchette prédéfinie, un script dans les contrôles du lecteur de K-9 peut arrêter les moteurs, inverser et trouver un chemin autour de l’objet.

La ligne qui suit / salle de cartographie.

Ligne suivante aurait été une implémentation simple d’ajouter, à l’aide d’un capteur infrarouge et certains scripts de programme. Mais le fait est, ma maison n’a pas de lignes peintes dans les étages. Mais il y avait une meilleure façon pour K-9 de suivre les lignes s’il, ou me voulait, et les lignes ne seraient pas visibles à le œil humain. Cela se ferait en utilisant un contrôle de la cartographie du fond . Pour faire simple, j’obtiendrais K-9 déplacer autour d’une pièce et lui ont à tracer une ligne virtuelle. Cette ligne pourrait le servir à K-9 de le suivre une fois, ou d’être enregistré et suivi d’un autre temps. L’option d’enregistrement donne également la possibilité de carte une salle, ou nombre de chambres. Très pratique pour quand il erre autour de la maison en mode autonome.

Voici un petit script qui peut être utilisé en "Plancher Mapping" (en supposant que le contrôle de carte de plancher est actif)

ControlCommand (« Plan de plancher », Reset)
Forward(150,4000)

Sleep(2000)

Right(100,2000)

Sleep(7000)

Forward(150,4000)

Sleep(2000)

Stop()

Coup de téléphone et les Notifications par courrier électronique.

Comme le haut-parleur intégré sous le panneau dorsal est compatible Bluetooth, connexion d’un téléphone à haut-parleur peut permettre K-9 d’approchant des appels téléphoniques, courriels, SMS, alertes FaceBook et Twitter, alarmes, notifications et rappels d’événement. Mais K-9 on peut aller mieux mon réellement vous dire qui est l’appel ou de courriel vous. Pour ce faire, j’ai utilisé le logiciel d’édition audio « Audacity » et enregistré une liste de fichiers sonores de K-9 à l’aide de sa fonction de synthèse vocale disant des choses telles que "Vous avez un appel de téléphone de votre ami, Richard" et "Vous avez reçu un message texte de votre ami, Mark". Cela a été coupé et volume ajusté dans Audacity avec une tonalité standard superposée. Par exemple, lorsqu’il y a un appel téléphonique vous entendriez deux secondes d’un ton fort, le volume passerait de 50 % et puis la voix serait entendue. Lorsque la voix termine la phrase, le volume de la sonnerie s’élève à 100 %.

Donc, pour l’iPhone que j’utilise, une fois toutes les alertes sont créées, édité et enregistré, ils doivent être convertis en fichiers de sonnerie qui le téléphone peut utiliser et enregistré dans votre bibliothèque iTunes.

  1. Sur votre PC, lancez iTunes.
  2. Depuis votre bibliothèque, faites un clic droit sur la chanson que vous souhaitez utiliser comme sonnerie, puis sélectionnez « Get Info ».
  3. Sélectionnez l’onglet Options et cochez ensuite les cases à l’heure de début et heure d’arrêt. Ce que je faisais dans Audacity a été de couper tous les tons à 29 secondes pour cette prochaine étape n’était pas nécessaire. Entrez fois au cours de laquelle vous voulez la sonnerie pour démarrer et arrêter. Il suffit donc de vérifier si votre tonus est de 30 secondes (comme c’est la limite Max) ou moins. Si ce n’est pas le cas, vous devez écouter la sonnerie tout d’abord et noter la durée souhaitée pour commencer.
  4. Cliquez sur « OK ». Maintenant un clic droit sur la piste à nouveau et sélectionnez "créer AAC version". iTunes va maintenant convertir la sonnerie. Elle apparaît comme une piste en double qui vous pouvez l’identifier en « Track info » puis « Type de fichier ».
  5. Faites un clic droit sur la sonnerie, puis en utilisant les Options onglet dans le menu « Get info », décocher le début et de fin pour les retourner à leurs originales fois puis cliquez sur OK.
  6. Maintenant, faites un clic droit sur votre piste plus courte de sonnerie et cliquez sur « Afficher dans l’Explorateur Windows ». Double-cliquez sur le fichier pour l’ajouter à la section « Tons » la bibliothèque iTunes. Remarque : Les étapes décrites ci-dessus doivent être faites une sonnerie à un moment qui est un processus long selon le nombre de fichiers vous avez créé, mais c’est une chose du temps
  7. Supprimer la sonnerie originale de la bibliothèque car il jouera n’est plus.
  8. Enfin, connectez votre iPhone et télécharger les nouvelles sonneries sur le téléphone, sélectionnez le ton approprié pour chacun de vos contacts, des alarmes ou des notifications. Connectez votre téléphone au haut-parleur, et chaque fois que votre téléphone vous avertit, K-9 dira quoi de cette alerte.

Il y a beaucoup plus de fonctions et caractéristiques K-9 2.0 a, mais c’est tout simplement trop nombreux pour être répertoriés ici sans donner les informations de surcharge. Mais vous devriez obtenir l’idée comment polyvalent, K-9 utile et unique est, comme beaucoup des robots qui sont autour ne pouvait que rêver de faire la moitié de ce que K-9 est capable d’et la façon dont il le fait. Mais je vais le dire, si j’ai réussi à le faire, vous pouvez aussi. Les contrôles de EZ-Builder rendre les choses faciles, mais les travaux plus que vous mettre dans scripting, programmation et apprendre comment tirer le meilleur de tous les contrôles disponibles, le mieux et le plus impressionnant vous robot sera. Et il en va de même avec la construction elle-même. Plus vous prenez le temps et la volonté d’apprendre de nouvelles compétences, le mieux sera le résultat final.

Articles Liés

Le module de contact - un jouet chien robot.

Le module de contact - un jouet chien robot.

Il s'agissait d'inventer un jouet robotique, axée sur l'Arduino que mon chien pourrait interagir et jouer avec. Celui qui pourrait enregistrer des scores, automatiquement offrir des friandises et croître plus avancées comme le chien apprend à jouer a
Raspberry Pi Web Robot contrôlé / autonome

Raspberry Pi Web Robot contrôlé / autonome

Introduction (mise à jour le 26/12/15)C'est mon premier jamais tentative de construire un robot web contrôlée avec construit en mode autonome. Le projet a commencé comme un Arduino Nano basé robot évitement de collision construit pour inspirer les él
Un autre carton--aspirateur robot contrôlé par Arduino

Un autre carton--aspirateur robot contrôlé par Arduino

Il s'agit de simple--aspirateur robot contrôlé par Arduino.Cela peut être encore plus simple si au lieu de turbine et bac à poussière - utiliser un mouchoir en papier de cuisine ou un morceau de tissu synthétique.Étape 1: Composants requisArduinoMote
Bras robotisé contrôlé par Edison Intel

Bras robotisé contrôlé par Edison Intel

Bonjour, mon ami !Ici je vais vous montrer comment j'ai fait un bras robotisé contrôlé par Intel Edison et commandé par le mouvement de saut.Le modèle 3D utilisé dans ce projet est un projet opensource très bon trouvé ici : http://inmoov.frEtape 1: C
DOUBLE MODE ROBOT => (contrôle autonome / manuel)

DOUBLE MODE ROBOT => (contrôle autonome / manuel)

DTMF ou dual tone multi fréquence est chouette petite voie de contrôle des machines à votre téléphone portable. Cette instructable vous, lecteur doux montre comment faire un moins cher que la saleté DTMF contrôlée robot qui peut également fonctionner
Distance robot contrôlé avec enregistrement vidéo mobile

Distance robot contrôlé avec enregistrement vidéo mobile

magalie les gars ! Il s'agit de mon premier instructable... aujourd'hui iam vapour montrer u comment faire un robot contrôlé à distance avec la caméra (enregistrement vidéo mobile)alors, suivez les étapes suivantes...ÉTAPE 1 :matériel requis :1) moto
Chien robot

Chien robot

J'adore faire des robots et ont décidé de partager un plaisir et un moyen peu coûteux de faire un chien robot !Étape 1: Recueillir vos matériaux Vous aurez besoin :1) cuivre2) vis3) un écrou4) vis de taille moyenne quatre5) une petite vis6) chose de
FrankenDog ! Animatronic DIY - contrôler un chien robot de i-cybie avec un piano jouet

FrankenDog ! Animatronic DIY - contrôler un chien robot de i-cybie avec un piano jouet

Vous avez morts jouets qui traînent ? Dans ce didacticiel vidéo j'ai donner une nouvelle vie à un chien de robots i-Cybie morts dont le « cerveau » a été détruit après que court circuit et presque pris feu. Apprenez à animer les morts !Le I-cybie est
Distributeur de friandise/chien Arduino contrôlée

Distributeur de friandise/chien Arduino contrôlée

Dans cette Instructables j'ai va décrire comment construire un distributeur de friandise/nourriture chien automatique utilisant un Arduino Duemilanove (l'Uno est la nouvelle version de la même planche). L'intervalle de minuterie peut être réglée via
Laisse de chien de contrôleur de jeu

Laisse de chien de contrôleur de jeu

contrôler votre chien n'a jamais été aussi facile ! Branchez simplement votre chiot dans cette laisse paracord et laissez la manette Xbox 360 font le reste. Déplacer vers le haut, bas, gauche et droite avec les manettes de jeu. Feu de missiles et de
Raspberry Pi Robot contrôlé via Bluetooth

Raspberry Pi Robot contrôlé via Bluetooth

ce tutoriel est basé sur un précédent Instructable -Robots de bâtiment avec Raspberry Pi et PythonLe but est de présenter un exemple de comment mettre en place une connexion série Bluetooth avec Arduino pour contrôler un robot Raspberry Pi. Mais perm
Distance robot contrôlé à l’aide de la télécommande Arduino et T.V.

Distance robot contrôlé à l’aide de la télécommande Arduino et T.V.

Cette voiture contrôlée à distance peut être déplacée autour à l'aide de pratiquement n'importe quel genre de distance tels que TV, AC etc..Il utilise le fait que la télécommande émet IR(infrared).Cette propriété est faite usage d'à l'aide d'un récep
Distant Arduino Robot contrôlée à l’aide d’émetteurs-récepteurs Wixel

Distant Arduino Robot contrôlée à l’aide d’émetteurs-récepteurs Wixel

mise à jour JAN 2012 : ce projet a été présenté sur le site de Pololu au titre des projets de ressources et de la collectivité.  http://www.Pololu.com/resources/communityprojectsINTRODUCTIONDans ce projet, j'utilise deux Pololu Wixel émetteurs-récept
ROBOT contrôlé par les doigts humains

ROBOT contrôlé par les doigts humains

Cette innovation vient les mouvements de la main qui peuvent contrôler un robot. Dans ce projet, j'utilise flex capteur et je prends le capteur flex lire et mettre cette lecture sur intel edison. comme une valeur analogique et manipuler ces valeurs e