[PYTHON] Ich habe versucht, Pepper über Ereignisinformationen und Mitgliederinformationen sprechen zu lassen

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"

Was ich diesmal herausgefordert habe

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.

Umweltvereinbarung

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).

Pfeffer-Programmiermethode

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.

Sagen Sie Block

Blockieren, damit Pfeffer spricht

Sprachreco-Block

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.

Gehäuseblock wechseln

Dies ist ein Block für die bedingte Verzweigung. Dieses Mal werden die Bedingungen gemäß den wie folgt erkannten Wörtern aufgeteilt.

Textbearbeitungsblock

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

Python-Skriptblock

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

Programmverpackung

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.

Impressionen

Nein. war Spaß. Normalerweise dreht sich alles um die Rezeption des Webs, daher macht es manchmal Spaß, Roboter zu programmieren.

Recommended Posts

Ich habe versucht, Pepper über Ereignisinformationen und Mitgliederinformationen sprechen zu lassen
Ich habe versucht, die Informationen des Webs mit "Requests" und "lxml" abzurufen.
Ich habe versucht, mich über MCMC zu organisieren.
Ich habe versucht, Optuna die Nummer lösen zu lassen
Ich habe versucht, VAE Bewegungsgrafiken lernen zu lassen
[Einführung in PID] Ich habe versucht, ♬ zu steuern und zu spielen
Ich habe versucht, mit VOICEROID2 2 automatisch zu lesen und zu speichern
Ich habe versucht, DCGAN mit PyTorch zu implementieren und zu lernen
Ich habe versucht, CPython ein Post-Inkrement hinzuzufügen. Übersicht und Zusammenfassung
Ich habe versucht, mit VOICEROID2 automatisch zu lesen und zu speichern
Ich habe versucht, Linux Systemaufrufe und Scheduler hinzuzufügen
Ich habe versucht zu debuggen.
Ich habe versucht, die Spacha-Informationen von VTuber zu visualisieren
Ich habe versucht, Grad-CAM mit Keras und Tensorflow zu implementieren
Ich habe versucht, Scrapy auf Anaconda zu installieren und konnte es nicht
Ich habe versucht, eine Webanwendung zu entwickeln, und überlegt, wie ich verhindern kann, dass Anfänger krank werden.
Ich habe versucht, Überlebende der Titanic mit Kaggle vorherzusagen und einzureichen
Ich habe versucht, die Umrisse von Big Gorilla herauszufinden
Ich habe versucht, die Standortinformationen des Odakyu-Busses zu erhalten
Ich habe versucht, Discord Bot und Gesichtserkennung für LT zu kombinieren.
Ich habe versucht, die Zugverspätungsinformationen mit LINE Notify zu benachrichtigen
Ich habe versucht, Pilze Pepper x IBM Bluemix Text to Speech
Ich habe versucht, die Zeit und die Zeit der C-Sprache zu veranschaulichen
[Python] Ich habe versucht, Tweets über Corona mit WordCloud zu visualisieren
Ich wollte mich um die Ausführungszeit und die Speichernutzung kümmern
Ich habe versucht, die Uhrzeit und das heutige Wetter anzuzeigen
[Einführung in das Modell der Infektionskrankheiten] Ich habe versucht, zu passen und zu spielen ♬
Ich habe versucht, die Unterschiede zwischen Java und Python aufzuzählen
Ich habe versucht, einen Bot für die Ankündigung eines Wiire-Ereignisses zu erstellen
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
Ich habe versucht, verschiedene Informationen von der Codeforces-API abzurufen
Ich habe versucht, SVM zu organisieren.
Ich habe versucht, PCANet zu implementieren
Ich habe versucht, Linux wieder einzuführen
Ich habe versucht, Pylint vorzustellen
Ich habe versucht, SparseMatrix zusammenzufassen
jupyter ich habe es berührt
Ich habe versucht, StarGAN (1) zu implementieren.
Ich habe versucht, eine Aktivität zu erstellen, die gemeinsam die Positionsinformationen festlegt
Ich habe versucht, die Lesezeichen zu visualisieren, die mit Doc2Vec und PCA nach Slack fliegen
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, Bulls and Cows mit einem Shell-Programm zu erstellen
Ich habe versucht, Gesichtsmarkierungen mit Python und Dlib leicht zu erkennen
Ich habe versucht, Spieler- und Fertigkeitsnamen aus Sportartikeln zu extrahieren
[Python] Ich habe versucht, mithilfe der YouTube-Daten-API verschiedene Informationen abzurufen!
Als ich versuchte, über logistische Regression zu schreiben, fand ich schließlich den Mittelwert und die Varianz der logistischen Verteilung.
Ich habe versucht, eine Quip-API zu erstellen
Ich habe versucht, Python zu berühren (Installation)
Ich habe versucht, eine kontroverse Validierung zu implementieren
Ich habe versucht, Pytorchs Datensatz zu erklären
Ich habe Watson Voice Authentication (Speech to Text) ausprobiert.
Ich habe Teslas API berührt
Ich habe versucht, Realness GAN zu implementieren
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, den Abschnitt zu schätzen.
Ich versuchte zusammenzufassen, bis ich die Bank verließ und Ingenieur wurde
Ich habe versucht, das Bild durch Klicken mit der rechten und linken Maustaste in den angegebenen Ordner zu verschieben
Ich habe versucht, eine Blockchain zu implementieren, die tatsächlich mit ungefähr 170 Zeilen funktioniert
Ich habe versucht, die Altersgruppe und die Ratenverteilung von Atcoder zu visualisieren