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:]
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))]