Пример #1
0
    def rotate(self, angleInDegrees):
        angleInDegrees = int(round(angleInDegrees, 0))

        Logger.logEverywhere("ROBOT: rotating of " + str(angleInDegrees) + " degrees")

        self.arduinoInterface.write('R' + str(angleInDegrees) + '.')

        self.arduinoInterface.checkIfOperationIsOver()
Пример #2
0
    def advance(self, distanceInCentimeters):
        distanceInMillimeters = int(round(distanceInCentimeters * 10, 0))

        Logger.logEverywhere("ROBOT: advancing of " + str(distanceInMillimeters) + " mm")

        self.arduinoInterface.write('D' + str(distanceInMillimeters) + '.')
        self.arduinoInterface.write('A0.')
        self.arduinoInterface.write('V150.')
        self.arduinoInterface.write('M.')

        self.arduinoInterface.checkIfOperationIsOver()
Пример #3
0
    def shuffle(self, distanceInCentimeters, relativeAngleInDegrees):
        distanceInMillimeters = int(round(distanceInCentimeters * 10, 0))
        relativeAngleInDegrees = int(round(relativeAngleInDegrees, 0))

        Logger.logEverywhere("ROBOT: shuffling of " + str(distanceInMillimeters) + " mm at angle " + str(
            relativeAngleInDegrees) + " degrees")

        self.arduinoInterface.write('D' + str(distanceInMillimeters) + '.')
        self.arduinoInterface.write('A' + str(relativeAngleInDegrees) + '.')
        self.arduinoInterface.write('V100.')
        self.arduinoInterface.write('M.')

        self.arduinoInterface.checkIfOperationIsOver()
Пример #4
0
    def checkIfOperationIsOver(self):
        print "checking if operation is over..."
        operationOver = False

        while not operationOver:
            print "entered while in checkIfOperationIsOver"
            time.sleep(0.1)
            print "reading line in checkIfOperationIsOver"
            line = self.ser.readline()
            print "arduino: " + str(line)
            if line.find("over") != -1:
                Logger.logToFileAndScreen("operation over")
                operationOver = True

        print "returning out of checkIfOperationIsOver"
Пример #5
0
    def dispatch(self, msg):
        obj = cPickle.loads(msg)
        moduleName = obj.__module__

        if moduleName == startrobot.__name__:
            Logger.logToBase('Robot started')

            obstacle1 = (obj.obstacle_1_x, obj.obstacle_1_y)
            obstacle2 = (obj.obstacle_2_x, obj.obstacle_2_y)

            self.stateController = StateController(BeginState(obstacle1, obstacle2))
            self.stateController.beginMainLopp()
        elif moduleName == newturn.__name__:
            print "beginning a new turn..."
            Logger.logToBase('Beginning a new turn')

            self.stateController.beginMainLopp()