Lors de l'événement suivant de Basecamp Nagoya , j'ai essayé de programmer le poivre pour la première fois.
Pepper Day "Développement d'applications pour Pepper dans Basecamp Nagoya"
Cette fois, quand j'ai dit "Dites-moi Pepper?", Pepper a répondu "Oui", et quand j'ai demandé "Quel est l'événement d'aujourd'hui?", Quand j'ai demandé "Quel est l'événement d'aujourd'hui?" Nous avons créé un programme qui vous donnera des informations sur les membres qui s'enregistrent au camp de base lorsque vous demandez «Qui vient?» Pour le dernier événement.
Tout d'abord, téléchargez l'environnement de développement Pepper à partir du site suivant. https://community.aldebaran.com/en/resources/software/language/en-gb Après le téléchargement, diverses applications seront installées. Parmi elles, lancez l'application avec la marque C comme indiqué dans la figure ci-dessous.
En gros, vous pouvez déplacer le poivre simplement en combinant les blocs qui ont déjà été programmés, mais si vous ne pouvez pas le faire avec les blocs existants, vous devez le programmer vous-même en utilisant Python. Le schéma de câblage du programme créé cette fois est le suivant. Les blocs utilisés sont les suivants.
Bloquer pour faire parler le poivre
Un bloc pour faire reconnaître la voix au poivre. En séparant les mots par; de cette manière, vous pouvez séparer les mots à reconnaître. Les mots reconnus couvrent le bloc suivant.
Ceci est un bloc pour le branchement conditionnel. Cette fois, les conditions sont réparties selon les mots reconnus comme suit.
Un bloc pour passer une chaîne au bloc suivant. Je veux que Pepper extrait les données JSON des informations du membre et parle, donc je spécifie le fichier JSON que je veux obtenir comme suit. À ce stade, le fichier JSON de sortie est généré du côté CMS. En d'autres termes, CMS gère tout ce que Pepper parle. Cela abaissera le seuil de programmation du poivre.
http://basecamp-nagoya.jp/*****.json
Je n'avais pas de bloc pour accéder au serveur et extraire les données JSON, alors je l'ai fait moi-même. Voici la source. Cependant, les bibliothèques dépendantes telles que json doivent être téléchargées séparément.
import json, urllib2, sys, os, xml
class MyClass(GeneratedClass):
def __init__(self):
GeneratedClass.__init__(self)
def onLoad(self):
self.framemanager = ALProxy("ALFrameManager")
pass
def onUnload(self):
self.framemanager = None
pass
def remove_tags(text):
return ''.join(xml.etree.ElementTree.fromstring(text).itertext())
def rest_request(self, url):
self.folderName = os.path.join(self.framemanager.getBehaviorPath(self.behaviorId), "./lib")
if self.folderName not in sys.path:
sys.path.append(self.folderName)
import requests
try:
r = requests.get(url)
if r.status_code == 200 :
return r.json();
else:
return False
except:
return False
pass;
def onInput_onStart(self, p):
result = self.rest_request(str(p));
output_text = "";
i = 0;
length = len(result);
while i < length:
output_text += str(result[i]['name'].encode('utf-8'))
output_text += "\\pau=1000\\"
output_text += str(result[i]['profile'].encode('utf-8'))
output_text += "\\pau=3000\\"
i += 1
self.onStopped(output_text)
pass
def onInput_onStop(self):
self.onUnload()
self.onStopped()
def import_service(self):
pass
Une fois le programme terminé, vous pouvez empaqueter le programme créé et l'installer sur pepper en sélectionnant Application Robot dans le panneau inférieur droit et en cliquant sur l'icône en haut à gauche comme indiqué ci-dessous.
Non. était amusant. Habituellement, tout tourne autour de la réception du Web, alors c'est parfois amusant de programmer des robots.
Recommended Posts