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