Exemple #1
0
    def table_pos(self, corners):
        if self.state == 'searching':
            self.state = 'fast'

        is_blocked = self.checkObstacle()

        if is_blocked:
            return

        if self.state == 'fast':
            self.speed = min((self.speed + 50 ), 300)

        length_left, length_right, middle_x = self.logo_properties(corners)
        angle = get_angle_from_pixels(middle_x, axis_size=4*1280/5)
        if angle > 0:
            angle = min(angle, 40)
        else:
            angle = max(angle, -40)

        if abs(angle) < 5:
            self.irobot.DriveStraight(self.speed)
        else:
            self.irobot.TurnInPlace(2.5 * angle, 'cw')
            self.sleep(1)
            self.irobot.Stop()
        print("angle")
        print(middle_x)
        print angle
Exemple #2
0
 def face_pos(self, value):
     if self.status in ["finding", "tracking"]:
         self.status = "tracking"
         print ("tracking face")
         angle = -get_angle_from_pixels(value[0] + value[2] / 2.0)
         print (angle)
         if self.speed == 0:
             self.speed = 40
         self.speed = min(self.speed + 20, 150)
         print (self.speed)
         if abs(angle) < 5:
             self.irobot.DriveStraight(self.speed)
         elif angle > 5:  # I have no ideea what I'm doing
             self.irobot.Drive(self.speed, 25 - angle)
         else:
             self.irobot.Drive(self.speed, -25 - angle)
         self.rotated = False
     else:
         print "we're done, somebody forgot to unregister fd"