Example #1
0
    def test_Time(self):
        from genpy.rostime import Time, Duration
        self.test_TVal(TVal=Time, test_neg=False)

        # #1600 Duration > Time should fail
        failed = False
        try:
            v = Duration.from_sec(0.1) > Time.from_sec(0.5)
            failed = True
        except:
            pass
        self.failIf(failed, "should have failed to compare")
        try:
            v = Time.from_sec(0.4) > Duration.from_sec(0.1)
            failed = True
        except:
            pass
        self.failIf(failed, "should have failed to compare")

        # TODO: sub

        # neg time fails
        try:
            Time(-1)
            failed = True
        except:
            pass
        self.failIf(failed, "negative time not allowed")
        try:
            Time(1, -1000000001)
            failed = True
        except:
            pass
        self.failIf(failed, "negative time not allowed")

        # test Time.now() is within 10 seconds of actual time (really generous)
        import time
        t = time.time()
        v = Time.from_sec(t)
        self.assertEquals(v.to_sec(), t)
        # test from_sec()
        self.assertEquals(Time.from_sec(0), Time())
        self.assertEquals(Time.from_sec(1.), Time(1))
        self.assertEquals(Time.from_sec(v.to_sec()), v)
        self.assertEquals(v.from_sec(v.to_sec()), v)
        # test to_time()
        self.assertEquals(v.to_sec(), v.to_time())

        # test addition
        # - time + time fails
        try:
            v = Time(1, 0) + Time(1, 0)
            failed = True
        except:
            pass
        self.failIf(failed, "Time + Time must fail")

        # - time + duration
        v = Time(1, 0) + Duration(1, 0)
        self.assertEquals(Time(2, 0), v)
        v = Duration(1, 0) + Time(1, 0)
        self.assertEquals(Time(2, 0), v)
        v = Time(1, 1) + Duration(1, 1)
        self.assertEquals(Time(2, 2), v)
        v = Duration(1, 1) + Time(1, 1)
        self.assertEquals(Time(2, 2), v)

        v = Time(1) + Duration(0, 1000000000)
        self.assertEquals(Time(2), v)
        v = Duration(1) + Time(0, 1000000000)
        self.assertEquals(Time(2), v)

        v = Time(100, 100) + Duration(300)
        self.assertEquals(Time(400, 100), v)
        v = Duration(300) + Time(100, 100)
        self.assertEquals(Time(400, 100), v)

        v = Time(100, 100) + Duration(300, 300)
        self.assertEquals(Time(400, 400), v)
        v = Duration(300, 300) + Time(100, 100)
        self.assertEquals(Time(400, 400), v)

        v = Time(100, 100) + Duration(300, -101)
        self.assertEquals(Time(399, 999999999), v)
        v = Duration(300, -101) + Time(100, 100)
        self.assertEquals(Time(399, 999999999), v)

        # test subtraction
        try:
            v = Time(1, 0) - 1
            failed = True
        except:
            pass
        self.failIf(failed, "Time - non Duration must fail")

        class Foob(object):
            pass

        try:
            v = Time(1, 0) - Foob()
            failed = True
        except:
            pass
        self.failIf(failed, "Time - non TVal must fail")

        # - Time - Duration
        v = Time(1, 0) - Duration(1, 0)
        self.assertEquals(Time(), v)

        v = Time(1, 1) - Duration(-1, -1)
        self.assertEquals(Time(2, 2), v)
        v = Time(1) - Duration(0, 1000000000)
        self.assertEquals(Time(), v)
        v = Time(2) - Duration(0, 1000000000)
        self.assertEquals(Time(1), v)
        v = Time(400, 100) - Duration(300)
        self.assertEquals(Time(100, 100), v)
        v = Time(100, 100) - Duration(0, 101)
        self.assertEquals(Time(99, 999999999), v)

        # - Time - Time = Duration
        v = Time(100, 100) - Time(100, 100)
        self.assertEquals(Duration(), v)
        v = Time(100, 100) - Time(100)
        self.assertEquals(Duration(0, 100), v)
        v = Time(100) - Time(200)
        self.assertEquals(Duration(-100), v)

        # Time (float secs) vs. Time(int, int)
        self.assertEquals(Time.from_sec(0.5), Time(0.5))
        t = Time(0.5)
        self.assert_(type(t.secs) == int)
        self.assertEquals(0, t.secs)
        self.assertEquals(500000000, t.nsecs)

        try:
            Time(0.5, 0.5)
            self.fail("should have thrown value error")
        except ValueError:
            pass
Example #2
0
   def test_Time(self):
       from genpy.rostime import Time, Duration
       self.test_TVal(TVal=Time, test_neg=False)
 
       # #1600 Duration > Time should fail
       failed = False
       try:
         v = Duration.from_sec(0.1) > Time.from_sec(0.5)
         failed = True
       except: pass
       self.failIf(failed, "should have failed to compare")
       try:
         v = Time.from_sec(0.4) > Duration.from_sec(0.1)
         failed = True        
       except: pass
       self.failIf(failed, "should have failed to compare")
       
       # TODO: sub
 
       # neg time fails
       try:
           Time(-1)
           failed = True
       except: pass
       self.failIf(failed, "negative time not allowed")
       try:
           Time(1, -1000000001)
           failed = True
       except: pass
       self.failIf(failed, "negative time not allowed")
 
       # test Time.now() is within 10 seconds of actual time (really generous)
       import time
       t = time.time()
       v = Time.from_sec(t)
       self.assertEquals(v.to_sec(), t)      
       # test from_sec()
       self.assertEquals(Time.from_sec(0), Time())
       self.assertEquals(Time.from_sec(1.), Time(1))
       self.assertEquals(Time.from_sec(v.to_sec()), v)
       self.assertEquals(v.from_sec(v.to_sec()), v)
       # test to_time()
       self.assertEquals(v.to_sec(), v.to_time())
       
       # test addition
       # - time + time fails
       try:
           v = Time(1,0) + Time(1, 0)
           failed = True
       except: pass
       self.failIf(failed, "Time + Time must fail")
 
       # - time + duration
       v = Time(1,0) + Duration(1, 0)
       self.assertEquals(Time(2, 0), v)
       v = Duration(1, 0) + Time(1,0)
       self.assertEquals(Time(2, 0), v)
       v = Time(1,1) + Duration(1, 1)
       self.assertEquals(Time(2, 2), v)
       v = Duration(1, 1) + Time(1,1)
       self.assertEquals(Time(2, 2), v)
 
       v = Time(1) + Duration(0, 1000000000)
       self.assertEquals(Time(2), v)
       v = Duration(1) + Time(0, 1000000000)
       self.assertEquals(Time(2), v)
 
       v = Time(100, 100) + Duration(300)
       self.assertEquals(Time(400, 100), v)
       v = Duration(300) + Time(100, 100)
       self.assertEquals(Time(400, 100), v)
 
       v = Time(100, 100) + Duration(300, 300)
       self.assertEquals(Time(400, 400), v)
       v = Duration(300, 300) + Time(100, 100)
       self.assertEquals(Time(400, 400), v)
 
       v = Time(100, 100) + Duration(300, -101)
       self.assertEquals(Time(399, 999999999), v)
       v =  Duration(300, -101) + Time(100, 100)
       self.assertEquals(Time(399, 999999999), v)
 
       # test subtraction
       try:
           v = Time(1,0) - 1
           failed = True
       except: pass
       self.failIf(failed, "Time - non Duration must fail")
       class Foob(object): pass      
       try:
           v = Time(1,0) - Foob()
           failed = True          
       except: pass
       self.failIf(failed, "Time - non TVal must fail")
 
       # - Time - Duration
       v = Time(1,0) - Duration(1, 0)
       self.assertEquals(Time(), v)
 
       v = Time(1,1) - Duration(-1, -1)
       self.assertEquals(Time(2, 2), v)
       v = Time(1) - Duration(0, 1000000000)
       self.assertEquals(Time(), v)
       v = Time(2) - Duration(0, 1000000000)
       self.assertEquals(Time(1), v)
       v = Time(400, 100) - Duration(300)
       self.assertEquals(Time(100, 100), v)
       v = Time(100, 100) - Duration(0, 101)
       self.assertEquals(Time(99, 999999999), v)
 
       # - Time - Time = Duration      
       v = Time(100, 100) - Time(100, 100)
       self.assertEquals(Duration(), v)
       v = Time(100, 100) - Time(100)
       self.assertEquals(Duration(0,100), v)
       v = Time(100) - Time(200)
       self.assertEquals(Duration(-100), v)
       
       # Time (float secs) vs. Time(int, int)
       self.assertEquals(Time.from_sec(0.5), Time(0.5))
       t = Time(0.5)
       self.assert_(type(t.secs) == int)
       self.assertEquals(0, t.secs)
       self.assertEquals(500000000, t.nsecs)
 
       try:
           Time(0.5, 0.5)
           self.fail("should have thrown value error")
       except ValueError: pass
Example #3
0
 def get_time(self) -> Time:
     return self._time or Time.from_sec(time.time())
Example #4
0
print("Writing IMU data...")
with open(args.imu, 'r') as imu_file:
    imu_reader = csv.reader(imu_file)
    next(imu_reader)  # skip header
    seq_counter = 1
    for row in imu_reader:
        ts = float(row[0])
        gyr = [float(row[i]) for i in range(1, 4)]
        acc = [float(row[i]) for i in range(4, 7)]

        imu_msg = Imu()
        imu_msg.header.frame_id = 'imu'
        imu_msg.header.seq = seq_counter
        seq_counter += 1
        imu_msg.header.stamp = Time.from_sec(ts)

        imu_msg.angular_velocity.x = gyr[0]
        imu_msg.angular_velocity.y = gyr[1]
        imu_msg.angular_velocity.z = gyr[2]

        imu_msg.linear_acceleration.x = acc[0]
        imu_msg.linear_acceleration.y = acc[1]
        imu_msg.linear_acceleration.z = acc[2]

        bag_file.write('/imu', imu_msg, t=imu_msg.header.stamp)

print("Writing video data...")
bridge = cv_bridge.CvBridge()
if args.use_video:
    cap = cv2.VideoCapture(args.video)