Example #1
0
class DataRecorder():
    def __init__(self, drone, lock):
        self.lock = lock
        self.drone = drone
        self.dm = DataManager(self.drone)
        self.done = False
        t = Thread(target = self.record)
        t.start()

    def record(self):
        t = 0
        prev = time.time()
        now = 0
        while(not self.done):
            prevT = t
            with self.lock:
                t, vel, pos, quat = self.drone.getState()
                self.dm.saveImg(t)
            self.dm.writeToFile(t, vel, pos, quat)  # this also saves img
            now = time.time()
            elapsed = now - prev
            while (elapsed < 0.09):
                now = time.time()
                elapsed = now - prev
            dt = (t - prevT) / 10 ** 9
            print(1 / dt)
            prev = now

        self.dm.closeFile()
Example #2
0
def main():
    vehicle = MyVehicle()
    dm = DataManager(vehicle)

    t = 0
    prev = time.time()
    now = 0
    for i in range(0, 10):
        prevT = t
        t, vel, pos, quat = vehicle.getState()
        dm.saveImg(t)
        dm.writeToFile(t, vel, pos, quat)  # this also saves img
        now = time.time()
        elapsed = now - prev
        while (elapsed < 0.09):
            now = time.time()
            elapsed = now - prev
        dt = (t - prevT) / 10**9
        print(1 / dt)
        prev = now

    dm.closeFile()

    # print(t)
    # print(vel)
    # print(pos)
    # print(quat)

    vehicle.reset()