import numpy as np
import matplotlib.pyplot as plt
import plotting as plo
import dataAcquisitionMulti as datAc
    
    
#def readMagState(mStateF):
sstring = 'set4'    
        
leapFile = "../datasets/160217/160217_"+'set1'+"_leap"    
magFile = "../datasets/160217/160217_"+sstring+"_mag"

#caliFile = "../datasets/160217/160217_"+'cali3'
#(tC,s1c,s2c,s3c,s4c) = datAc.readMag(caliFile)

(tLeap,ind,mid,rin,pin) = datAc.readLeap(leapFile)
#(tMag,s1,s2,s3,s4) = datAc.readMag(magFile1)
(tMag,s1,s2,s3,s4) = datAc.readMag(magFile)

#plo.plotAngles(tLeap,(ind,mid,rin,pin),head='leapStates set5')

#plo.plotLeapVsMag((np.zeros((3,1)),np.zeros((3,3))),(tMag,s1,s2,s3,s4),head=sstring)
#plo.plotLeapVsMag((tLeap,ind),(tC,s1c,s2c,s3c,s4c),head="cli")
plo.plotLeapVsMag((tLeap,ind),(tMag,s1,s2,s3,s4),head=sstring)
Ejemplo n.º 2
0
""" for plotting least best result """
# sstring = "set5"
# estCA = datAc.readStateFile("../datasets/evalSets/estResults/160226_real/"+sstring+"_cylA14.txt")
# (tLeap,lInd,lMid,lRin,lPin) = datAc.readLeap("../datasets/evalSets/"+sstring+"_leap")
# (tMag,s1,s2,s3,s4) = datAc.readMag("../datasets/evalSets/"+sstring+"_mag")
# b = resampleLeap_point((tLeap,lInd), tMag)[0]
# b = b[:-1]
# tMag = tMag[:-1]
# plotDif_ind(b,estCA, tMag, 'estCA')
# plotDif(b,estCA, tMag, 'estCA')

""" for plotting 44 estimation... """
sstring = "set6"
estCA = datAc.readStateFile("../datasets/44/160210_" + sstring + "cylA44.txt")
(tLeap, lInd, lMid, lRin, lPin) = datAc.readLeap("../datasets/160210/160210_" + sstring + "_leap")
(tMag, s1, s2, s3, s4) = datAc.readMag("../datasets/160210/160210_" + sstring + "_mag")
(indRe, midRe, rinRe, pinRe) = resampleLeap_point((tLeap, lInd, lMid, lRin, lPin), tMag)

tMag = tMag[:-1]
# plotDif_ind(indRe[:-1],estCA[:,:4], tMag, 'estCA Index')
# plotDif_ind(rinRe[:-1],estCA[:,4:8], tMag, 'estCA Middle')
# plotDif_ind(midRe[:-1],estCA[:,8:12], tMag, 'estCA Ring')
# plotDif_ind(pinRe[:-1],estCA[:,12:], tMag, 'estCA Pinky')
# plotMulti([indRe[:-1],midRe[:-1]],estCA,tMag)

lIndN = np.linalg.norm(indRe, axis=1)
lMidN = np.linalg.norm(midRe, axis=1)
lRinN = np.linalg.norm(rinRe, axis=1)
lPinN = np.linalg.norm(pinRe, axis=1)

mIndN = np.linalg.norm(estCA[:, :4], axis=1)
Ejemplo n.º 3
0
b90_A = np.zeros((len(t90), 3*len(sensList)))    

cnt = 0
for i in range(len(t90)):
    b90_A[i] = modCA.angToB_cyl(angles90[i],fingList,sensList,jointList)              # simulating model with ad-ab    


#fi = open("../datasets/evalSets/estResults/160217_real/results.csv","a")
# all the start and end states for the corresponding datasets...
startL = [480,728,99 ,50,   180,40,120,120,120,120,140,130,220,140,110]
endL =   [529,799,185,90,   280,80,180,160,180,160,180,175,300,180,160]

for i in range(4,5,1):      
    sstring = 'set'+str(i)
    
    (tim, s1, s2, s3, s4) = datAc.readMag("../datasets/evalSets/"+sstring+"_mag")
    (tLeap, lInd, lMid, lRin, lPin) = datAc.readLeap("../datasets/evalSets/"+sstring+"_leap")
    lInd_re = sf.resampleLeap((tLeap,lInd),tim)[0]
    
    ''' fitting measurements ''' 
#    print "fitting for 90"
    start = startL[i-1]
    end = endL[i-1]
    (scale, off) = datAc.getScaleOff(b90_A[:,:3],s1[start:end]) 
    s1_fit = s1*scale+off
    
    (scale, off) = datAc.getScaleOff(b90_A[:,3:6],s2[start:end]) 
    s2_fit = s2*scale+off
    
    (scale, off) = datAc.getScaleOff(b90_A[:,6:9],s3[start:end]) 
    s3_fit = s3*scale+off
#    
#b30_A = np.zeros((len(t30), 3*len(sensList)))    
#
#cnt = 0
#for i in range(len(t30)):
#    b30_A[i] = modDA.angToBm(angles30[i],fingList,sensList,jointList)              # simulating model with ad-ab
##    b_A[i] = modCA.angToB_cyl(angles[i],fingList,sensList,jointList)              # simulating model with ad-ab
    
    
    
    
''' fitting measurements '''    
sstring = 'set6'
dayString='160217'

(tim, s1, s2, s3, s4) = datAc.readMag("../datasets/160217/"+dayString+'_'+sstring+"_mag")

print "fitting for 90"
start = 14
end = 57
(scale, off) = datAc.getScaleOff(b90_A[:,:3],s1[start:end]) 
s1_fit = s1*scale+off
#plo.plotter2d((b90_A[:,:3], s1_fit[start:end], s1[start:end]),("sim1", "fitted", "meas"),shareAxis=True)

(scale, off) = datAc.getScaleOff(b90_A[:,3:6],s2[start:end]) 
s2_fit = s2*scale+off

(scale, off) = datAc.getScaleOff(b90_A[:,6:9],s3[start:end]) 
s3_fit = s3*scale+off
#plo.plotter2d((b90_A[:,6:9], s3_fit[start:end], s3[start:end]),("sim3", "fitted", "meas"))