from kickBallFSM import (kickBallFSM) # Import functions we've written from functions import (detectTouch, seeBall, noSeeBall) # Create states waitSittingState = createState("waitSittingState", lambda: None) sitState = createState("sitState", sit) restState = createState("restState", rest) standState = createState("standState", stand) shutdownState = createState("shutdownState", lambda : shutdown("Final state reached")) stopWalkState = createState("stopWalkState", stopWalking) stopWalkState2 = createState("stopWalkState2", stopWalking) resetKickBallState = createState("resetKickBallState", lambda: resetSubFSM(kickBallFSM)) resetLookBallState = createState("resetLookBallState", lambda: resetSubFSM(lookBallFSM)) # The main FSM # Transitions for the mainFSM addTransition(waitSittingState, detectTouch, standState) addTransition(standState, lambda wm: True, lookBallFSM) addTransition(lookBallFSM, seeBall, kickBallFSM) addTransition(kickBallFSM, noSeeBall, resetKickBallState) addTransition(resetKickBallState, lambda wm: True, stopWalkState) addTransition(stopWalkState, lambda wm: True, resetLookBallState) addTransition(resetLookBallState, lambda wm: True, lookBallFSM)
# Import functions we've written from functions import (detectTouch, seeBall, noSeeBall) # Create states waitSittingState = createState("waitSittingState", lambda: None) sitState = createState("sitState", sit) restState = createState("restState", rest) standState = createState("standState", stand) shutdownState = createState("shutdownState", lambda: shutdown("Final state reached")) stopWalkState = createState("stopWalkState", stopWalking) stopWalkState2 = createState("stopWalkState2", stopWalking) resetKickBallState = createState("resetKickBallState", lambda: resetSubFSM(kickBallFSM)) resetLookBallState = createState("resetLookBallState", lambda: resetSubFSM(lookBallFSM)) # The main FSM # Transitions for the mainFSM addTransition(waitSittingState, detectTouch, standState) addTransition(standState, lambda wm: True, lookBallFSM) addTransition(lookBallFSM, seeBall, kickBallFSM) addTransition(kickBallFSM, noSeeBall, resetKickBallState) addTransition(resetKickBallState, lambda wm: True, stopWalkState) addTransition(stopWalkState, lambda wm: True, resetLookBallState) addTransition(resetLookBallState, lambda wm: True, lookBallFSM)
from functions import (detectTouch, seeBall, noSeeBall, closeToFeet, seeGoal, oneKick, waitForSit, waitForStand, waitForKick) # Create states waitSittingState = createState("waitSittingState", lambda: None) sitState = createState("sitState", sit) restState = createState("restState", rest) standState = createState("standState", stand) shutdownState = createState("shutdownState", lambda: shutdown("Final state reached")) stopWalkState = createState("stopWalkState", stopWalking) stopWalkState2 = createState("stopWalkState2", stopWalking) stopWalkState3 = createState("stopWalkState3", stopWalking) stopWalkState4 = createState("stopWalkState4", stopWalking) resetKickBallState = createState("resetKickBallState", lambda: resetSubFSM(kickBallFSM)) resetLookBallState = createState("resetLookBallState", lambda: resetSubFSM(lookBallFSM)) resetgoToBallState = createState("resetgoToBallState", lambda: resetSubFSM(goToBallFSM)) resetFindGoalState = createState("resetFindGoalState", lambda: resetSubFSM(findGoalFSM)) setBottomCameraState = createState("setBottomCameraState", lambda: setCamera("bottom")) bottomLedState = createState("bottomLedState", lambda: setLED("eyes", 1, 0, 0)) # Red lookDownState = createState("lookDownState", lambda: turnHead(0,0.3149)) # The main FSM # Transitions for the mainFSM addTransition(waitSittingState, waitForStand, standState) addTransition(standState, lambda wm: True, lookBallFSM) addTransition(lookBallFSM, seeBall, resetgoToBallState) addTransition(resetgoToBallState, lambda wm: True, goToBallFSM)
from functions import (detectTouch, seeBall, noSeeBall, closeToFeet, seeGoal, oneKick, waitForSit, waitForStand, waitForKick, waitForFindBall) # Create states waitSittingState = createState("waitSittingState", lambda: None) sitState = createState("sitState", sit) restState = createState("restState", rest) standState = createState("standState", stand) shutdownState = createState("shutdownState", lambda: shutdown("Final state reached")) stopWalkState = createState("stopWalkState", stopWalking) stopWalkState2 = createState("stopWalkState", stopWalking) resetLookBallState = createState("resetLookBallState", lambda: resetSubFSM(lookBallFSM)) resetgoToBallState = createState("resetgoToBallState", lambda: resetSubFSM(goToBallFSM)) # States for communication robot = "david" sendSitStatus = createState("sendSitStatus", lambda: communicate(robot, "Sit")) # The main FSM # Transitions for the mainFSM addTransition(waitSittingState, waitForStand, standState) addTransition(standState, waitForFindBall, lookBallFSM)
from kickBallFSM import (kickBallFSM) ## CREATE STATES ## standState = createState("standState", stand) sitState = createState("sitState", sit) restState = createState("restState", rest) shutdownState = createState("shutdownState", lambda : shutdown("Final state reached")) stopWalkingState = createState("stopWalkingState", stopWalking) stopWalkingState2 = createState("stopWalkingState2", stopWalking) stopWalkingState3 = createState("stopWalkingState3", stopWalking) stopWalkingState4 = createState("stopWalkingState4", stopWalking) waitSittingState = createState("waitSittingState", lambda: None) resetLookBallState = createState("resetLookBallState", lambda: resetSubFSM(lookBallFSM)) resetgoToBallState = createState("resetgoToBallState", lambda: resetSubFSM(goToBallFSM)) resetFindNaoState = createState("resetFindNaoState", lambda: resetSubFSM(findNaoFSM)) setBottomCamState = createState("setBottomCamState", lambda: setCamera("bottom")) setBottomLedState = createState("setBottomLedState", lambda: setLED("eyes", 1.0, 0.0, 0.0)) # Red setTopCamState = createState("setTopCamState", lambda: setCamera("top")) setTopLedState = createState("setTopLedState", lambda: setLED("eyes", 0.0, 1.0, 0.0)) # Green lookDownState = createState("lookDownState", lambda: turnHead(0,0.3149)) # Create communcationsstates robot = "piff" sendStandStatus = createState("sendStandStatus" , lambda: communicate(robot, "Stand"))
walkToBallState, watchBallState, stopWalkingState, stopWalkingState2, setBottomCamState, setBottomLedState) # Import functions we've written from functions import (detectTouch, seeBall, noSeeBall) # Create states waitSittingState = createState("waitSittingState", lambda: None) sitState = createState("sitState", sit) restState = createState("restState", rest) standState = createState("standState", stand) shutdownState = createState("shutdownState", lambda: shutdown("Final state reached")) stopWalkState = createState("stopWalkState", stopWalking) resetFollowBallState = createState("resetFollowBallState", lambda: resetSubFSM(followBallFSM)) resetLookBallState = createState("resetLookBallState", lambda: resetSubFSM(lookBallFSM)) # The main FSM # Transitions for the mainFSM addTransition(waitSittingState, detectTouch, standState) addTransition(standState, lambda wm: True, lookBallFSM) addTransition(lookBallFSM, seeBall, followBallFSM) addTransition(followBallFSM, noSeeBall, resetFollowBallState) addTransition(resetFollowBallState, lambda wm: True, stopWalkState) addTransition(stopWalkState, lambda wm: True, lookBallFSM) addTransition(followBallFSM, detectTouch, sitState)