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
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"