Bei der folgenden Veranstaltung von Basecamp Nagoya habe ich zum ersten Mal versucht, Pfeffer zu programmieren.
Pepper Day "Entwicklung von Apps für Pepper im Basecamp Nagoya"
Dieses Mal, als ich "Sag mir Pfeffer?" Sagte, antwortete Pepper "Ja" und als ich fragte "Was ist das heutige Ereignis?", Als ich fragte "Was ist das heutige Ereignis?" Wir haben ein Programm erstellt, das Ihnen Informationen über die Mitglieder gibt, die im Basislager einchecken, wenn Sie nach "Wer kommt?" Für die neueste Veranstaltung fragen.
Laden Sie zunächst die Pepper-Entwicklungsumgebung von der folgenden Site herunter. https://community.aldebaran.com/en/resources/software/language/en-gb Nach dem Herunterladen werden verschiedene Apps installiert. Starten Sie die App mit der C-Markierung (siehe Abbildung unten).
Grundsätzlich können Sie den Pfeffer verschieben, indem Sie die bereits programmierten Blöcke kombinieren. Wenn Sie dies jedoch nicht mit den vorhandenen Blöcken tun können, müssen Sie ihn selbst mit Python programmieren. Der Schaltplan des diesmal erstellten Programms lautet wie folgt. Die verwendeten Blöcke sind wie folgt.
Blockieren, damit Pfeffer spricht
Ein Block, damit Pfeffer die Stimme erkennt. Durch Trennen der Wörter mit; auf diese Weise können Sie die zu erkennenden Wörter trennen. Die erkannten Wörter erstrecken sich über den nächsten Block.
Dies ist ein Block für die bedingte Verzweigung. Dieses Mal werden die Bedingungen gemäß den wie folgt erkannten Wörtern aufgeteilt.
Ein Block zum Übergeben einer Zeichenfolge an den nächsten Block. Ich möchte, dass Pepper die JSON-Daten der Mitgliedsinformationen abruft und spricht, also gebe ich die JSON-Datei, die ich erhalten möchte, wie folgt an. Zu diesem Zeitpunkt wird die Ausgabe-JSON-Datei auf der CMS-Seite generiert. Mit anderen Worten, CMS verwaltet alles, was Pepper spricht. Dadurch wird die Schwelle für die Pfefferprogrammierung gesenkt.
http://basecamp-nagoya.jp/*****.json
Ich hatte keinen Block, um auf den Server zuzugreifen und die JSON-Daten abzurufen, also habe ich es selbst gemacht. Unten ist die Quelle. Abhängige Bibliotheken wie json müssen jedoch separat heruntergeladen werden.
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
Nachdem das Programm abgeschlossen ist, können Sie das erstellte Programm verpacken und auf Pfeffer installieren, indem Sie unten rechts die Option Roboteranwendung auswählen und wie unten gezeigt auf das Symbol oben links klicken.
Nein. war Spaß. Normalerweise dreht sich alles um die Rezeption des Webs, daher macht es manchmal Spaß, Roboter zu programmieren.
Recommended Posts