In [1]:
import sys
from explauto.utils import rand_bounds
sys.path.append('../')

from play.environment.arm_diva_env import PlayEnvironment
%matplotlib inline
import matplotlib.pyplot as plt

env = PlayEnvironment(tau=0.5)


human sounds ['uoy', 'uiy', 'yie', 'iey', 'uio', 'uye', 'ieo', 'eyu', 'uei', 'yiu', 'eiy', 'oue', 'eio', 'eiu', 'yoi', 'iuo', 'oeu', 'oyu', 'eoy', 'yeu', 'ieu', 'iye', 'yui', 'oye', 'iou', 'yuo', 'euo', 'ioe', 'yei', 'euy', 'oui', 'oiy', 'yoe', 'oie', 'uey', 'you', 'eui', 'oey', 'eyo', 'uyi', 'uoi', 'eou', 'oiu', 'ouy', 'ueo', 'yio', 'oyi', 'eoi', 'ioy', 'oei', 'yeo', 'uie', 'yue', 'uoe', 'iue', 'uyo', 'eyi', 'iuy', 'iyo', 'iyu']

In [41]:
# Vocal BFS
bfs_shapes = env.diva.dmp.dmp.gen_psi(env.diva.dmp.dmp.cs.rollout())

plt.plot([list(reversed(l)) for l in bfs_shapes], lw=3)

plt.rc('text', usetex=True)
plt.rc('font', family='serif')

plt.legend(["basis function 1", "basis function 2"], fontsize=16)
plt.xlabel("Timesteps", fontsize=18)
plt.ylabel("Vocal Basis Function Power", fontsize=18)

plt.xticks(fontsize = 14)
plt.yticks(fontsize = 14)

plt.savefig('../figs/vocal_bfs.pdf', format='pdf', bbox_inches='tight')



In [40]:
# Arm BFS
bfs_shapes = env.arm.motor_dmp.dmp.gen_psi(env.arm.motor_dmp.dmp.cs.rollout())
plt.plot([list(reversed(l)) for l in bfs_shapes], lw=3)

plt.rc('text', usetex=True)
plt.rc('font', family='serif')

legend = plt.legend(["bf1", "bf2", "bf3", "bf4", 
            "bf5", "bf6"], ncol=2, fontsize=14, loc="upper right")

plt.xlabel("Timesteps", fontsize=18)
plt.ylabel("Arm Basis Functions Power", fontsize=18)

plt.xticks(fontsize = 14)
plt.yticks(fontsize = 14)

plt.savefig('../figs/arm_bfs.pdf', format='pdf', bbox_inches='tight')



In [48]:
# Vocal DMP
for i in range(1):
    m = env.motor_babbling(audio=True)
    plt.plot(env.diva.compute_motor_command(m[21:]), lw=3)
    
plt.legend(["art1", "art2", "art3", "art4", "art5", "art6", "art7"], ncol=2, fontsize=14)
plt.ylim([-1.02, 1.02])

plt.rc('text', usetex=True)
plt.rc('font', family='serif')

plt.xlabel("Timesteps", fontsize=18)
plt.ylabel("Vocal Articulator Positions", fontsize=18)

plt.xticks(fontsize = 14)
plt.yticks(fontsize = 14)

plt.savefig('../figs/vocal_traj.pdf', format='pdf', bbox_inches='tight')



In [49]:
# Arm DMP
for i in range(1):
    m = env.motor_babbling(arm=True)
    plt.plot(env.arm.compute_traj(m[:21]), lw=3)
    
plt.legend(["joint1", "joint2", "joint3"], ncol=3, fontsize=14)
plt.ylim([-1., 1.])

plt.rc('text', usetex=True)
plt.rc('font', family='serif')

plt.xlabel("Timesteps", fontsize=18)
plt.ylabel("Arm Joint Positions", fontsize=18)

plt.xticks(fontsize = 14)
plt.yticks(fontsize = 14)

plt.savefig('../figs/arm_traj.pdf', format='pdf', bbox_inches='tight')



In [ ]: