コード例 #1
0
print "Connected"
print "Sent Connection Call"
print "Loading Calibration"
xCal = list()
yCal = list()
zCal = list()

with open('..\Data\CalibrationSignal.csv', 'rb') as csvDataFile:
    csvReader = csv.reader(csvDataFile)
    for row in csvReader:
        xCal.append(float(row[0]))
        yCal.append(float(row[1]))
        zCal.append(float(row[2]))

imu = IMU()
imu.calcOffsets(xCal, yCal, zCal)
imu.getOffsets()

ser.write("t")

recordedData = []
start = time.time()
while (end - start) <= 30.0:
    dataIn = []
    val = ser.read()
    while val != '_':
        dataIn.append(val)
        val = ser.read()

    if dataIn[0] == '\x00':
        dataIn = dataIn[1:]
コード例 #2
0
        axOff.append(float(row[0]))
        ayOff.append(float(row[1]))
        azOff.append(float(row[2]))

with open('IMUData60cm_x.csv', 'rb') as csvDataFile:
    csvReader = csv.reader(csvDataFile)
    for row in csvReader:
        data1.append(float(row[0]))
        data2.append(float(row[1]))
        data3.append(float(row[2]))
        originTap.append(int(row[6]))

##x_vel = integrate.cumtrapz(t, Ax, initial=0)
##x_Trap = integrate.cumtrapz(t,x_vel, initial=0)
mpu = IMU()
mpu.calcOffsets(axOff, ayOff, azOff)
mpu.setTime(30.0)
mpu.setAcceleration(data1, data2, data3)
Ax, Ay, Az = mpu.getAcceleration()
totalSum = 0
dt = len(Ax) / 30.0

t = mpu.time

x_vel = [sum(Ax[:i]) * -dt for i in range(len(Ax))]
x_pos = [sum(x_vel[:i]) * dt for i in range(len(x_vel))]

y_vel = [sum(Ay[:i]) * dt for i in range(len(Ay))]
y_pos = [sum(y_vel[:i]) * dt for i in range(len(y_vel))]

z_vel = [sum(Az[:i]) * -dt for i in range(len(Az))]