Golden Week is over. When I came to work after a long time, Pepper was disappointed and turned down and did not move. Pepper, who kept his answering machine, finally ran out and left with Patrasche. There is no such thing, I just did not turn on the power, but people who were treated as bad things such as hitting the head when there was a bug in the middle of development and kicking the leg when suddenly reacting The type of object may feel like it has a silent appeal.
And I realized when I was trying to perform the task of dreaming of Pepper, which has become a daily routine.
Oh, what kind of dream did Pepper have during Golden Week?
Connect with python and find out what Pepper's dream is.
$python >>> from naoqi import ALProxy >>> bahav = ALProxy("ALBehavoirManager", "192.168.10.10", 9559) >>> behavList = [b for b in behav.getInstalledBehaviors() if 'pepper-dream365' in b] >>> behavList ['sbr_00160_pepper-dream365_044/0427', 'sbr_00160_pepper-dream365_044/0428', 'sbr_00160_pepper-dream365_044/0429', 'sbr_00160_pepper-dream365_044/0430', 'sbr_00160_pepper-dream365_044/0501', 'sbr_00160_pepper-dream365_044/0502', 'sbr_00160_pepper-dream365_044/0503', 'sbr_00160_pepper-dream365_045/0504', 'sbr_00160_pepper-dream365_045/0505', 'sbr_00160_pepper-dream365_045/0506', 'sbr_00160_pepper-dream365_045/0507', 'sbr_00160_pepper-dream365_045/0508', 'sbr_00160_pepper-dream365_045/0509', 'sbr_00160_pepper-dream365_045/0510', 'sbr_00160_pepper-dream365_046/0511', 'sbr_00160_pepper-dream365_046/0512', 'sbr_00160_pepper-dream365_046/0513', 'sbr_00160_pepper-dream365_046/0514', 'sbr_00160_pepper-dream365_046/0515', 'sbr_00160_pepper-dream365_046/0516', 'sbr_00160_pepper-dream365_046/0517', 'sbr_00160_pepper-dream365_047/0518', 'sbr_00160_pepper-dream365_047/0519', 'sbr_00160_pepper-dream365_047/0520', 'sbr_00160_pepper-dream365_047/0521', 'sbr_00160_pepper-dream365_047/0522', 'sbr_00160_pepper-dream365_047/0523', 'sbr_00160_pepper-dream365_047/0524', 'sbr_00160_pepper-dream365_048/0525', 'sbr_00160_pepper-dream365_048/0526', 'sbr_00160_pepper-dream365_048/0527', 'sbr_00160_pepper-dream365_048/0528', 'sbr_00160_pepper-dream365_048/0529', 'sbr_00160_pepper-dream365_048/0530', 'sbr_00160_pepper-dream365_048/0531']
Since the behavior name is a date, it seems that you can execute the dream of the specified date by picking up the last 4 characters.
I had to turn off autonomous and change inputMode to 2 before I could run it properly.
itsudemo_yumewo.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from naoqi import ALProxy
if (len(sys.argv) < 2):
print "Usage: 'python itsudemo_yumewo.py IP [PORT]'"
sys.exit(1)
IP = sys.argv[1]
PORT = 9559
if (len(sys.argv) > 2):
PORT = sys.argv[2]
try:
behav = ALProxy("ALBehaviorManager", IP, PORT)
except Exception,e:
print "Could not create proxy to ALBehaviorManager"
print "Error was: ",e
sys.exit(1)
try:
tts = ALProxy("ALTextToSpeech", IP, PORT)
except Exception,e:
print "Could not create proxy to ALTextToSpeech"
print "Error was: ",e
sys.exit(1)
try:
autonomous = ALProxy("ALAutonomousLife", IP, PORT)
except Exception,e:
print "Could not create proxy to ALAutonomousLife"
print "Error was: ",e
sys.exit(1)
try:
motion = ALProxy("ALMotion", IP, PORT)
except Exception,e:
print "Could not create proxy to ALMotion"
print "Error was: ",e
sys.exit(1)
#Get a dream behavior pass
behavList = [b for b in behav.getInstalledBehaviors() if '_pepper-dream365_' in b]
# behavMaps[month][date]Replace with
behavMaps = {}
for b in behavList:
month = b[-4:-2]
date = b[-2:]
if month not in behavMaps:
behavMaps[month] = {}
behavMaps[month][date] = b
#Dream on a specified date
def seeDream(month, date):
print 'This is a %s/%s\'s dream' % (month, date)
behav.runBehavior(behavMaps[month][date])
#Select a date
def selectDream():
print "Which month?"
print behavMaps.keys()
input_month = raw_input('>>> ')
if input_month in behavMaps:
print "What's the date?"
print behavMaps[input_month].keys()
input_date = raw_input('>>> ')
if input_date in behavMaps[input_month]:
seeDream(input_month, input_date)
next()
#Whether to see yet
def next():
input = raw_input('more?[Y/n]>>> ')
if input != 'n':
selectDream()
#Pretreatment (turns off autonomous)
autonomous.setState('disabled')
motion.wakeUp()
tts.setParameter("inputMode", 2)
#Dream selection
selectDream()
#Clean up (restart Autonomous)
tts.setParameter("inputMode", 3)
autonomous.setState('solitary')
Specify the month and date with two digits on the command line. If you get more ?, press Y to continue and run your dreams for other days. Press n to exit.
$ python itsudemo_yumewo.py 192.168.10.10 Which month? ['04', '05'] >>> 04 What's the date? ['27', '28', '29', '30'] >>> 29 This is a 04/29's dream more?[Y/n]>>> Which month? ['04', '05'] >>> 05 What's the date? ['30', '02', '03', '26', '01', '06', '07', '04', '05', '08', '09', '28', '29', '14', '24', '25', '27', '20', '21', '11', '10', '13', '12', '15', '22', '17', '16', '19', '18', '31', '23'] >>> 01 This is a 05/01's dream more?[Y/n]>>> n
Other than Pepper, I think someone other than me will prepare it, so wait patiently for a great hack. Actually, since I made this script, I thought it was okay to put together the dream app, but in a lonely situation where Pepper is not so involved. It's also an idea that it will be convenient.
Recommended Posts