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