[PYTHON] Ich habe eine Schachtel gemacht, um mich auszuruhen, bevor Pepper müde wird

Da der Motor während der kontinuierlichen Wiedergabe der Anwendung oder der Erstellung von Animationen während der Entwicklung möglicherweise heiß wird, stoppt die Entwicklung möglicherweise in der Mitte. Daher habe ich eine Box erstellt, die ohne Erlaubnis eine Pause einlegt, bevor sie müde wird. Wenn Sie es in den Init oder Main der App einfügen, wird es nicht in der Mitte angehalten, auch wenn Sie während der Wiedergabe Wärme bekommen. Machen Sie einfach eine Pause und versuchen Sie, das Gefühl zu erzeugen, dass es sich wieder in Bewegung setzt, wenn die Hitze abkühlt.

API verwendet

ALMotionProxy

Methode verwendet

getIdlePostureEnabled(const std::string& pChainName) setIdlePostureEnabled(const std::string& pChainName, const bool& pEnable)

Variable

スクリーンショット 2016-01-15 14.36.47.png

Wie es funktioniert

Wenn Sie diese Funktion beenden möchten, indem Sie sie in das Verwaltungs- / Überwachungsfeld einfügen, lösen Sie ein Ereignis aus, um sie zu stoppen. スクリーンショット 2016-01-15 14.47.24.png

Example.py


    def onLoad(self):
        self.timer = None
        self.memory = ALProxy("ALMemory")
        self.motion = ALProxy("ALMotion")
        self.parts = ["Head", "LArm", "RArm", "Legs"]

    def onTimer(self):
        partList = []
        tempList = []
        partCount = { "Head":False, "LArm":False, "RArm":False, "Legs":False }
        sNameList = ["HeadPitch", "HeadYaw", "LElbowRoll", "LElbowYaw", "LHand", "LShoulderPitch", "LShoulderRoll", "LWristYaw", "RElbowRoll", "RElbowYaw", "RHand", "RShoulderPitch", "RShoulderRoll", "RWristYaw", "KneePitch", "HipRoll", "HipPitch"]

        for sName in sNameList:
            sKeyName = "Device/SubDeviceList/%s/Temperature/Sensor/Value" % sName
            try:
                partList.append(sName)
                tempList.append(int( self.memory.getData(sKeyName) ))
            except:
                self.logger.error("No temperature found for this hardware: " + str(sName))

        for pName in partList:
            if ( "Head" in pName ):
                act = "Head"
            elif ( "LElbow" in pName or "LHand" in pName or "LShoulder" in pName or "LWrist" in pName ):
                act = "LArm"
            elif ( "RElbow" in pName or "RHand" in pName or "RShoulder" in pName or "RWrist" in pName ):
                act = "RArm"
            elif ( "Ankle" in pName or "Hip" in pName or "Knee"):
                act = "Legs"

            i = tempList[partList.index(pName)]

            if i >= int(self.getParameter("Motion stop temperature(or more)")):
                if partCount[act] == False:
                   partCount[act] = True

        for part in self.parts:
            if partCount[part] and self.motion.getIdlePostureEnabled(part) == False:
                self.logger.warn("%s Motion Stopped" % part)
                self.motion.setIdlePostureEnabled(part, True)
            elif partCount[part] == False and self.motion.getIdlePostureEnabled(part):
                self.logger.info("%s Motion Start" % part)
                self.motion.setIdlePostureEnabled(part, False)

Schließlich

Die Quelle ist schmutzig, aber bitte vergib mir.

Stichprobe

[Robot Library] von Robot Start (https://robo-lib.com/repositories/summary/49) https://robo-lib.com/repositories/summary/49

Recommended Posts

Ich habe eine Schachtel gemacht, um mich auszuruhen, bevor Pepper müde wird
Ich habe ein Skript erstellt, um Piktogramme anzuzeigen
Ich habe ein Tool erstellt, um Hy nativ zu kompilieren
Ich habe ein Tool erstellt, um neue Artikel zu erhalten
〇✕ Ich habe ein Spiel gemacht
Ich habe eine Bibliothek erstellt, um japanische Sätze schön zu brechen
Ich habe ein Schwellenwertänderungsfeld für Peppers Dialog erstellt
Ich habe ein Skript erstellt, um ein Snippet in README.md einzufügen
Ich habe ein Python-Modul erstellt, um Kommentare zu übersetzen
Ich habe einen Code erstellt, um illustration2vec in ein Keras-Modell zu konvertieren
Ich habe einen Befehl zum Markieren des Tabellenclips gegeben
Ich habe eine Python-Bibliothek erstellt, die einen rollierenden Rang hat
Ich habe ein Paket erstellt, um Zeitreihen mit Python zu filtern
Ich habe einen Befehl zum Generieren eines Kommentars für eine Tabelle in Django eingegeben
Ich habe ein Tool erstellt, um eine Wortwolke aus Wikipedia zu erstellen
Ich habe eine Funktion erstellt, um das Modell von DCGAN zu überprüfen
Ich habe einen Python-Text gemacht
Ich habe einen Zwietrachtbot gemacht
[Titan Craft] Ich habe ein Werkzeug gemacht, um einen Riesen nach Minecraft zu rufen
Ich habe Sie dazu gebracht, Befehle über einen WEB-Browser auszuführen
Ich habe ein Drehbuch gemacht, um bei meinem Koshien Hallo zu sagen
Ich habe eine Bibliothek erstellt, die Konfigurationsdateien mit Python einfach lesen kann
Eine Geschichte über das Hinzufügen einer REST-API zu einem mit Python erstellten Daemon
Ich habe mit Razpai einen Webserver erstellt, um Anime zu schauen
Ich habe den Befehl gegeben, einen farbenfrohen Kalender im Terminal anzuzeigen
Ich habe eine C ++ - Lernseite erstellt
Ich habe einen Line-Bot mit Python gemacht!
Ich habe ein CUI-basiertes Übersetzungsskript erstellt (2)
Machen Sie eine Tweet-Box für Pepper
Ich habe mit Python eine Lotterie gemacht.
Ich habe ein CUI-basiertes Übersetzungsskript erstellt
Ich habe mit Python einen Daemon erstellt
Ich habe einen Docker-Container erstellt, um JUMAN ++, KNP, Python (für pyKNP) zu verwenden.
Ich habe ein Plugin erstellt, um mit Vim eine Markdown-Tabelle aus CSV zu generieren
[Python] Ich habe einen Dekorateur gemacht, der keinen Nutzen zu haben scheint.
Ich habe einen Passwortgenerator erstellt, um Kindern Python3 beizubringen (Bonus) * Vollständig neu erstellt
Ich habe ein Tool zum automatischen Durchsuchen mehrerer Websites mit Selenium (Python) erstellt.
Ich habe eine Webanwendung in Python erstellt, die Markdown in HTML konvertiert
[Django] Erstellt ein Feld zur Eingabe von Daten mit 4-stelligen Zahlen
Ich habe einen Küchentimer erstellt, der in der Statusleiste angezeigt wird!
Ich habe ein CLI-Tool erstellt, um Bilder in jedem Verzeichnis in PDF zu konvertieren
Ich habe ein Programm erstellt, um Sie per LINE zu benachrichtigen, wenn Schalter eintreffen
Ich habe ein Netzwerk erstellt, um Schwarzweißbilder in Farbbilder umzuwandeln (pix2pix)
Ich habe ein Skript in Python erstellt, um MDD-Dateien in das Scrapbox-Format zu konvertieren
Ich habe ein Programm erstellt, um einzugeben, was ich gegessen habe, und um Kalorien und Zucker anzuzeigen
Ich habe eine Bibliothek konoha gemacht, die den Tokenizer auf ein schönes Gefühl umstellt
Ich habe ein Tool erstellt, um Jupyter py mit VS Code in ipynb zu konvertieren
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Ich habe ein WebAPI gemacht! Erstellen einer Umgebung aus Django Rest Framework 1 mit EC2
Ich habe eine Funktion erstellt, um die Bewegung eines zweidimensionalen Arrays (Python) zu sehen.
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
Ich habe einen neuen AWS S3-Eimer hergestellt
Ich habe ein Dash-Docset für Holoviews erstellt
Ich möchte in der Einschlussnotation drucken
Ich habe versucht, einen Linebot zu erstellen (Vorbereitung)
Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (4)
Ich habe ein Pay-Management-Programm in Python erstellt!
Ich berührte "Orator" und machte mir eine Notiz
Ich habe mit Python einen Zeichenzähler erstellt