コード例 #1
0
ファイル: mainFSM.py プロジェクト: yousiftouma/tddd63-project
from fsm.functions import (
	createState, createFSM,
	addTransition, addStates,
	setInitialState, readWM, setPrintTransition)	

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown, communicate)

# Import functions we've written
from functions import (detectTouch, touchDelay)


## CREATE STATES ##


standState = createState("standState", stand)
restState = createState("restState", rest)
shutdownState = createState("shutdownState",
				lambda : shutdown("Final state reached"))

# Create states for waiting for touch

waitSittingState3 = createState("waitSittingState3", lambda : None)
waitSittingState2 = createState("waitSittingState2", lambda : None)
waitSittingState = createState("waitSittingState", lambda : None)

# Create communcationsstates

sendStandStatus = createState("sendStandStatus" , 
                               lambda: communicate("puff", "Stand"))
コード例 #2
0
                           setPrintTransition)

# Import primitive robot behaviors
from api.pubapi import (startWalking, turnHead, setCamera, kick, say, setLED,
                        setWalkVelocity, stopWalking)

# Import functions we've written
from functions import (averageLook, lookAtBall, largestBall, positiveYaw,
                       negativeYaw, zeroYaw, switchCamera, entryTime,
                       currentTime, cameraDelay, closeToFeet, leftFoot,
                       rightFoot, farNegativeYaw, farPositiveYaw, lookAtBall2,
                       seeGoal)

#create states

rotateLeftState = createState("rotateLeftState",
                              lambda: setWalkVelocity(0, 0, 0.15))
rotateRightState = createState("rotateRightState",
                               lambda: setWalkVelocity(0, 0, -0.15))
archLeftState = createState("archLeftState",
                            lambda: setWalkVelocity(0.65, 0, 0.15))
archRightState = createState("archRightState",
                             lambda: setWalkVelocity(0.65, 0, -0.15))
walkToBallState = createState("walkToBallState",
                              lambda: setWalkVelocity(0.6, 0, 0))
watchBallState = createState("watchBallState", lambda wm: lookAtBall2(wm))
stopWalkingState = createState("stopWalkingState", stopWalking)
stopWalkingState2 = createState("stopWalkingState2", stopWalking)
setBottomCamState = createState("setBottomCamState",
                                lambda: setCamera("bottom"))
setBottomLedState = createState("setBottomLedState",
                                lambda: setLED("eyes", 1, 0, 0))
コード例 #3
0
# Import primitive robot behaviors

from api.pubapi import (sit, stand, rest, say, shutdown, startWalking,
                        turnHead, setCamera, say, setLED, setWalkVelocity,
                        stopWalking)

from followBallFSM import (followBallFSM, rotateLeftState, rotateRightState,
                           walkToBallState, watchBallState, stopWalkingState,
                           stopWalkingState2, followBallFSM)


def detectTouch(wm):
    return readWM(wm, "tactile", "middle")


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

mainFSM = createFSM("mainFSM")
addStates(mainFSM, waitSittingState, sitState, restState, standState,
          shutdownState, followBallFSM)

setInitialState(mainFSM, waitSittingState)

addTransition(waitSittingState, detectTouch, standState)
addTransition(standState, lambda wm: True, followBallFSM)
addTransition(followBallFSM, detectTouch, sitState)
コード例 #4
0
ファイル: mainFSM.py プロジェクト: yousiftouma/tddd63-project
    startWalking, turnHead, setCamera, resetSubFSM,
    say, setLED, setWalkVelocity, stopWalking)

# Import FSM
from lookBallFSM import (lookBallFSM)
                         


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)
コード例 #5
0
    if currentTime(wm) - entryTime(wm) >= 5:
        return True
    else:
        return False


def uTurnTime(wm):
    if currentTime(wm) - entryTime(wm) >= 17:
        return True
    else:
        return False


## CREATE STATES ##

sitState = createState("sitState", sit)
standState = createState("standState", stand)
restState = createState("restState", rest)
walkState = createState("walkState", startWalking)
stopWalkState = createState("stopWalkState", stopWalking)
stopWalk2State = createState("stopWalk2State", stopWalking)
rotateState = createState("rotateState", lambda: setWalkVelocity(0, 0, 0.5))
uTurnState = createState("uTurnState", lambda: setWalkVelocity(1, 0, 0.2))
shutdownState = createState("shutdownState",
                            lambda: shutdown("Final state reached"))

# Create states for talking

sayLetsWalkState = createState("sayLetsWalkState", lambda: say("Hej Yousif!"))
sayRotateState = createState("sayRotateState", lambda: say("spinn!"))
sayUTurnState = createState("sayUTurnState", lambda: say("u turn!"))
コード例 #6
0
ファイル: testFSM.py プロジェクト: yousiftouma/tddd63-project
# Import the FSM functions
from fsm.functions import (createState, createFSM, addTransition,
    addStates, setInitialState, readWM, writeWM, setPrintTransition)	

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown,
    startWalking, turnHead, setCamera, resetSubFSM,
    say, setLED, setWalkVelocity, stopWalking)
                       

# Import functions we've written
from functions import (detectTouch)

# 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)
circleLeftState = createState("circleLeftState", lambda: setWalkVelocity(0, 1, -0.45))
circleRightState = createState("circleRightState", lambda: setWalkVelocity(0, 1, 0.45))

# The main FSM

# Transitions for the mainFSM

addTransition(waitSittingState, detectTouch, standState)
addTransition(standState, lambda wm: True, circleLeftState)
コード例 #7
0
    addStates, setInitialState, readWM, writeWM, setPrintTransition)	

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown,
    startWalking, turnHead, setCamera,
    say, setLED, setWalkVelocity, stopWalking)

# Import functions we've written
from functions import (seeBall, noSeeBall, shakeHeadTime, largestBall,
    averageLook, lookAtBall, rotateTime, entryTime, currentTime, 
    cameraDelay, headTurning, lookAtBall2)


#Create States

shakeHeadState = createState("shakeHeadState", lambda wm: headTurning(wm))
shakeHeadState2 = createState("shakeHeadState2", lambda wm: headTurning(wm))
setTopCameraState = createState("setTopCameraState", lambda : setCamera("top"))
setBottomCameraState = createState("setBottomCameraState", lambda : setCamera("bottom"))
setTopCameraState2 = createState("setTopCameraState2", lambda : setCamera("top"))
lookAtBallState = createState("lookAtBallState", lambda wm : lookAtBall2(wm))
rotateState = createState("rotateState", lambda : setWalkVelocity(0, 0, 0.5))
bottomLedState = createState("bottomLedState", lambda : setLED("eyes", 1, 0, 0)) # Red
topLedState = createState("topLedState", lambda : setLED("eyes", 0, 1, 0)) # Green
topLedState2 = createState("topLedState2", lambda : setLED("eyes", 0, 1, 0)) # Green
stopWalkState = createState("stopWalkState", stopWalking)


# FSM for searching for the ball

lookBallFSM = createFSM("lookBallFSM")
コード例 #8
0
from fsm.functions import (createState, createFSM, addTransition,
    addStates, setInitialState, readWM, writeWM, setPrintTransition)	

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown,
    startWalking, turnHead, setCamera, resetSubFSM,
    say, setLED, setWalkVelocity, stopWalking)

# Import functions we've written
from functions import (detectTouch, seeGoal, seeGoalLeft, seeGoalRight,
    seeGoalSingle, lookForGoal, seeBall, oneStep, leftFoot, rightFoot,
    betweenFeet, seeNao)

# Create states

circleLeftState = createState("circleLeftState", lambda: setWalkVelocity(0, 1, -0.45))
circleRightState = createState("circleRightState", lambda: setWalkVelocity(0, 1, 0.45))
lookUpState = createState("lookUpState", lambda wm: lookUp(wm))
stopWalkingState = createState("stopWalkingState", stopWalking)
stopRotateState = createState("stopRotateState", stopWalking)
setTopCameraState = createState("setTopCameraState", lambda: setCamera("top"))
topLedState = createState("topLedState", lambda: setLED("eyes", 0, 1, 0)) # Green
lookStraightState = createState("lookStraightState", lambda: turnHead(0.25, 0))
standState = createState("standState", stopWalking)
leftStepState = createState("leftStepState", lambda: setWalkVelocity(0, 0.5 ,0))
rightStepState = createState("rightStepState", lambda: setWalkVelocity(0, -0.5, 0))

# Transitions for the findGoalFSM

addTransition(standState, leftFoot, leftStepState)
addTransition(standState, rightFoot, rightStepState)
コード例 #9
0
# Import the FSM functions
from fsm.functions import (
	createState, createFSM,
	addTransition, addStates,
	setInitialState)	
# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown)

# Create states
sitState = createState("sitState", sit)
standState = createState("standState", stand)
restState = createState("restState", rest)
shutdownState = createState("shutdownState",
				lambda : shutdown("Final state reached"))

# Create a state which commands the robot to say "Hello World!"
sayState = createState("sayState", lambda: say("Hello World")) 

# Add transitions between states
addTransition(standState, lambda wm: True, sayState)
addTransition(sayState, lambda wm: True, sitState)
addTransition(sitState, lambda wm: True, restState)
addTransition(restState, lambda wm: True, shutdownState)


# Create the FSM and add the states created above
myFSM = createFSM("fsm")
addStates(myFSM, standState, sayState, sitState, restState, shutdownState)

# Set the initial state to standState
setInitialState(myFSM, standState)
コード例 #10
0
from api.pubapi import (sit, stand, rest, say, shutdown,
    startWalking, turnHead, setCamera, resetSubFSM,
    say, setLED, setWalkVelocity, stopWalking, communicate)

# Import FSM
from lookBallFSM import (lookBallFSM)
from goToBallFSM import (goToBallFSM)
                        

# Import functions we've written
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" , 
コード例 #11
0
# Import functions we've written
from functions import (detectTouch, touchDelay, waitForSit, seeBall, noSeeBall, closeToFeet,
                       seeNao, oneKick, cameraDelay)

# Import FSM

from lookBallFSM import (lookBallFSM)
from goToBallFSM import (goToBallFSM)
from findNaoFSM import (findNaoFSM)
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"))
コード例 #12
0
# Import primitive robot behaviors
from api.pubapi import (
    startWalking, turnHead, setCamera, kick,
    say, setLED, setWalkVelocity, stopWalking)

# Import functions we've written
from functions import (averageLook, lookAtBall, largestBall, positiveYaw,
    negativeYaw, zeroYaw, switchCamera, entryTime, currentTime, cameraDelay,
    closeToFeet, leftFoot, rightFoot, farNegativeYaw, farPositiveYaw, lookAtBall2,
    seeGoal)


#create states    

rotateLeftState = createState("rotateLeftState", lambda: setWalkVelocity(0,0, 0.15))
rotateRightState = createState("rotateRightState", lambda: setWalkVelocity(0,0, -0.15))
archLeftState = createState("archLeftState", lambda: setWalkVelocity(0.65, 0, 0.15))
archRightState = createState("archRightState", lambda: setWalkVelocity(0.65, 0, -0.15))
walkToBallState = createState("walkToBallState", lambda: setWalkVelocity(0.6, 0, 0))
watchBallState = createState("watchBallState", lambda wm: lookAtBall2(wm))
stopWalkingState = createState("stopWalkingState", stopWalking)
stopWalkingState2 = createState("stopWalkingState2", stopWalking) 
setBottomCamState = createState("setBottomCamState", lambda: setCamera("bottom"))
setBottomLedState = createState("setBottomLedState", lambda: setLED("eyes", 1,0,0))
kickRightState = createState("kickRightState", lambda: kick("right"))
kickLeftState = createState("kickLeftState", lambda: kick("left"))


# FSM for following the ball
コード例 #13
0
# Import the FSM functions
from fsm.functions import (createState, createFSM, addTransition, addStates,
                           setInitialState, readWM, setPrintTransition)

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown)

# Import functions we've written
from functions import (waitForStand, waitForSit)

## CREATE STATES ##

sitState = createState("sitState", sit)
standState = createState("standState", stand)
restState = createState("restState", rest)
shutdownState = createState("shutdownState",
                            lambda: shutdown("Final state reached"))

# Create states for talking

sayHelloState = createState("sayHelloState", lambda: say("Hello World"))
sayGoodbyeState = createState("sayGoodbyeState", lambda: say("Goodbye World!"))

# Create states for waiting for touch

waitSittingState = createState("waitSittingState", lambda: None)
waitStandingState = createState("waitStandingState", lambda: None)

# Create communcationsstates

# Add transitions according to the state diagram
コード例 #14
0
def rotateTime(wm):
    if currentTime(wm) - entryTime(wm) >= 5:
        return True
    else:
        return False

def uTurnTime(wm):
    if currentTime(wm) - entryTime(wm) >= 17:
        return True
    else:
        return False
   

## CREATE STATES ##

sitState = createState("sitState", sit)
standState = createState("standState", stand)
restState = createState("restState", rest)
walkState = createState("walkState", startWalking)
stopWalkState = createState("stopWalkState", stopWalking)
stopWalk2State = createState("stopWalk2State", stopWalking)
rotateState = createState("rotateState", lambda: setWalkVelocity(0, 0, 0.5))
uTurnState = createState("uTurnState", lambda: setWalkVelocity(1, 0, 0.2))
shutdownState = createState("shutdownState",
				lambda: shutdown("Final state reached"))


# Create states for talking

sayLetsWalkState = createState("sayLetsWalkState", lambda: say("Hej Yousif!"))
sayRotateState = createState("sayRotateState", lambda: say("spinn!"))
コード例 #15
0
# Import the FSM functions
from fsm.functions import (createState, createFSM, addTransition,
    addStates, setInitialState, readWM, writeWM, setPrintTransition)	

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown,
    startWalking, turnHead, setCamera, resetSubFSM,
    say, setLED, setWalkVelocity, stopWalking)

# Import functions we've written
from functions import (detectTouch, seeGoal, seeGoalLeft, seeGoalRight,
    seeGoalSingle)

# Create states

rotateLeftState = createState("rotateLeftState", lambda: setWalkVelocity(0, 0, 0.7))
rotateRightState = createState("rotateRightState", lambda: setWalkVelocity(0,0, -0.7))
lookUpState = createState("lookUpState", lambda wm: lookUp(wm))
lookDownState = createState("lookDownState", lambda: turnHead(0, 0))
stopWalkingState = createState("stopWalkingState", stopWalking)
stopRotateState = createState("stopRotateState", stopWalking)

# Transitions for the findGoalFSM

addTransition(rotateLeftState, seeGoal, stopWalkingState)
addTransition(rotateLeftState, seeGoalLeft, rotateRightState)
addTransition(rotateLeftState, seeGoalSingle, stopRotateState)

addTransition(rotateRightState, seeGoal, stopWalkingState)
addTransition(rotateRightState, seeGoalRight, rotateLeftState)
addTransition(rotateRightState, seeGoalSingle, stopRotateState)
コード例 #16
0
# Import the FSM functions
from fsm.functions import (createState, createFSM, addTransition, addStates,
                           setInitialState, readWM, setPrintTransition)

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown, communicate)

# Import functions we've written
from functions import (detectTouch, touchDelay)

## CREATE STATES ##

standState = createState("standState", stand)
restState = createState("restState", rest)
shutdownState = createState("shutdownState",
                            lambda: shutdown("Final state reached"))

# Create states for waiting for touch

waitSittingState4 = createState("waitSittingState3", lambda: None)
waitSittingState3 = createState("waitSittingState3", lambda: None)
waitSittingState2 = createState("waitSittingState2", lambda: None)
waitSittingState = createState("waitSittingState", lambda: None)

# Create communcationsstates

robot = "goliath"

sendStandStatus = createState("sendStandStatus",
                              lambda: communicate(robot, "Stand"))
コード例 #17
0
from fsm.functions import (createState, createFSM, addTransition, addStates,
                           setInitialState, readWM, writeWM,
                           setPrintTransition)

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown, startWalking,
                        turnHead, setCamera, resetSubFSM, say, setLED,
                        setWalkVelocity, stopWalking)

# Import functions we've written
from functions import (detectTouch, seeGoal, seeGoalLeft, seeGoalRight,
                       seeGoalSingle)

# Create states

rotateLeftState = createState("rotateLeftState",
                              lambda: setWalkVelocity(0, 0, 0.7))
rotateRightState = createState("rotateRightState",
                               lambda: setWalkVelocity(0, 0, -0.7))
lookUpState = createState("lookUpState", lambda wm: lookUp(wm))
lookDownState = createState("lookDownState", lambda: turnHead(0, 0))
stopWalkingState = createState("stopWalkingState", stopWalking)
stopRotateState = createState("stopRotateState", stopWalking)

# Transitions for the findGoalFSM

addTransition(rotateLeftState, seeGoal, stopWalkingState)
addTransition(rotateLeftState, seeGoalLeft, rotateRightState)
addTransition(rotateLeftState, seeGoalSingle, stopRotateState)

addTransition(rotateRightState, seeGoal, stopWalkingState)
addTransition(rotateRightState, seeGoalRight, rotateLeftState)
コード例 #18
0
# Import the FSM functions
from fsm.functions import (
	createState, createFSM,
	addTransition, addStates,
	setInitialState, readWM)	

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown)

# Define the event function which detects touch
def detectTouch(wm):
    return readWM(wm, "tactile", "middle")

## CREATE STATES ##

sitState = createState("sitState", sit)
standState = createState("standState", stand)
restState = createState("restState", rest)
shutdownState = createState("shutdownState",
				lambda : shutdown("Final state reached"))

# Create states for talking

sayHelloState = createState("sayHelloState", lambda: say("Hello World"))
sayGoodbyeState = createState("sayGoodbyeState", lambda: say("Goodbye World!"))
 
# Create states for waiting for touch

waitSittingState = createState("waitSittingState", lambda : None)
waitStandingState = createState("waitStandingState", lambda : None)
コード例 #19
0
                           setInitialState, readWM, writeWM,
                           setPrintTransition)

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown, startWalking,
                        turnHead, setCamera, say, setLED, setWalkVelocity,
                        stopWalking)

# Import functions we've written
from functions import (seeBall, noSeeBall, shakeHeadTime, largestBall,
                       averageLook, lookAtBall, rotateTime, entryTime,
                       currentTime, cameraDelay, headTurning)

#Create States

shakeHeadState = createState("shakeHeadState", lambda wm: headTurning(wm))
shakeHeadState2 = createState("shakeHeadState2", lambda wm: headTurning(wm))
setTopCameraState = createState("setTopCameraState", lambda: setCamera("top"))
setBottomCameraState = createState("setBottomCameraState",
                                   lambda: setCamera("bottom"))
setTopCameraState2 = createState("setTopCameraState2",
                                 lambda: setCamera("top"))
lookAtBallState = createState("lookAtBallState", lambda wm: lookAtBall(wm))
rotateState = createState("rotateState", lambda: setWalkVelocity(0, 0, 0.5))
bottomLedState = createState("bottomLedState",
                             lambda: setLED("eyes", 1, 0, 0))  # Red
topLedState = createState("topLedState",
                          lambda: setLED("eyes", 0, 1, 0))  # Green
topLedState2 = createState("topLedState2",
                           lambda: setLED("eyes", 0, 1, 0))  # Green
stopWalkState = createState("stopWalkState", stopWalking)
コード例 #20
0
ファイル: mainFSM.py プロジェクト: yousiftouma/tddd63-project
# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown,
    startWalking, turnHead, setCamera, resetSubFSM,
    say, setLED, setWalkVelocity, stopWalking)

# Import FSM
from findGoalFSM import (findGoalFSM)
                         

# Import functions we've written
from functions import (detectTouch, seeGoal)

# 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)
lookAtGoalState = createState("lookAtGoalState", stopWalking)

# The main FSM

# Transitions for the mainFSM

addTransition(waitSittingState, detectTouch, standState)
addTransition(standState, lambda wm: True, findGoalFSM)
addTransition(findGoalFSM, seeGoal, lookAtGoalState)
コード例 #21
0
# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown, startWalking,
                        turnHead, setCamera, resetSubFSM, say, setLED,
                        setWalkVelocity, stopWalking)

# Import FSM
from lookBallFSM import (lookBallFSM)

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
コード例 #22
0
from fsm.functions import (createState, createFSM, addTransition, addStates,
                           setInitialState, readWM, writeWM,
                           setPrintTransition)

# Import primitive robot behaviors
from api.pubapi import (startWalking, turnHead, setCamera, say, setLED,
                        setWalkVelocity, stopWalking)

# Import functions we've written
from functions import (averageLook, lookAtBall, largestBall, positiveYaw,
                       negativeYaw, zeroYaw, switchCamera, entryTime,
                       currentTime, cameraDelay, closeToFeet)

#create states

rotateLeftState = createState("rotateLeftState",
                              lambda: setWalkVelocity(0, 0, 0.15))
rotateRightState = createState("rotateRightState",
                               lambda: setWalkVelocity(0, 0, -0.15))
walkToBallState = createState("walkToBallState",
                              lambda: setWalkVelocity(1, 0, 0))
watchBallState = createState("watchBallState", lambda wm: lookAtBall(wm))
stopWalkingState = createState("stopWalkingState", stopWalking)
stopWalkingState2 = createState("stopWalkingState2", stopWalking)
setBottomCamState = createState("setBottomCamState",
                                lambda: setCamera("bottom"))
setBottomLedState = createState("setBottomLedState",
                                lambda: setLED("eyes", 1, 0, 0))

# FSM for following the ball

followBallFSM = createFSM("followBallFSM")
コード例 #23
0
# Import the FSM functions
from fsm.functions import (createState, createFSM, addTransition, addStates,
                           setInitialState, readWM, writeWM,
                           setPrintTransition)

# Import primitive robot behaviors
from api.pubapi import (startWalking, turnHead, setCamera, kick, say, setLED,
                        setWalkVelocity, stopWalking)

# Import functions we've written
from functions import (leftFoot, rightFoot)

#create states

kickRightState = createState("kickRightState", lambda: kick("right"))
kickLeftState = createState("kickLeftState", lambda: kick("left"))
stopWalkingState = createState("stopWalkingState", stopWalking)
stopWalkingState2 = createState("stopWalkingState2", stopWalking)

# FSM for kicking the ball

kickBallFSM = createFSM("kickBallFSM")
addStates(kickBallFSM, kickRightState, kickLeftState, stopWalkingState,
          stopWalkingState2)

setInitialState(kickBallFSM, stopWalkingState)

# Transitions

addTransition(stopWalkingState, leftFoot, kickLeftState)
addTransition(stopWalkingState, rightFoot, kickRightState)
コード例 #24
0
                           setPrintTransition)

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown, startWalking,
                        turnHead, setCamera, resetSubFSM, say, setLED,
                        setWalkVelocity, stopWalking)

# Import FSM
from findGoalFSM import (findGoalFSM)

# Import functions we've written
from functions import (detectTouch, seeGoal)

# 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)
lookAtGoalState = createState("lookAtGoalState", stopWalking)

# The main FSM

# Transitions for the mainFSM

addTransition(waitSittingState, detectTouch, standState)
addTransition(standState, lambda wm: True, findGoalFSM)
addTransition(findGoalFSM, seeGoal, lookAtGoalState)
コード例 #25
0
	createState, createFSM,
	addTransition, addStates,
	setInitialState, readWM, writeWM, setPrintTransition)	

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown,
    startWalking, turnHead, hMShake, hMHang)

# Define the functions for world model

def detectTouch(wm):
    return readWM(wm, "tactile", "middle")

# create states

waitSittingState = createState("waitSittingState", lambda : None)
sitState = createState("sitState", sit)
restState = createState("restState", rest)
standState = createState("standState", stand)
shakeHeadState = createState("shakeHeadState", hMShake)
shakeHead2State = createState("shakeHead2State", hMShake)
hangHeadState = createState("hangHeadState", hMHang)
shutdownState = createState("shutdownState",
				lambda : shutdown("Final state reached"))

# Add transitions

addTransition(waitSittingState, detectTouch, standState)
addTransition(standState, lambda wm: True, shakeHeadState )
addTransition(shakeHeadState, lambda wm: True, hangHeadState )
addTransition(hangHeadState, lambda wm: True, shakeHead2State )
コード例 #26
0
from api.pubapi import (sit, stand, rest, say, shutdown, startWalking,
                        turnHead, setCamera, resetSubFSM, say, setLED,
                        setWalkVelocity, stopWalking, communicate)

# Import FSM
from lookBallFSM import (lookBallFSM)
from goToBallFSM import (goToBallFSM)

# Import functions we've written
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"
コード例 #27
0
    addStates, setInitialState, readWM, writeWM, setPrintTransition)

# Import primitive robot behaviors
from api.pubapi import (
    startWalking, turnHead, setCamera,
    say, setLED, setWalkVelocity, stopWalking)

# Import functions we've written
from functions import (averageLook, lookAtBall, largestBall, positiveYaw,
    negativeYaw, zeroYaw, switchCamera, entryTime, currentTime, cameraDelay,
    closeToFeet)


#create states    

rotateLeftState = createState("rotateLeftState", lambda : setWalkVelocity(0,0, 0.15))
rotateRightState = createState("rotateRightState", lambda : setWalkVelocity(0,0, -0.15))
walkToBallState = createState("walkToBallState", lambda : setWalkVelocity(1, 0, 0))
watchBallState = createState("watchBallState", lambda wm : lookAtBall(wm))
stopWalkingState = createState("stopWalkingState", stopWalking)
stopWalkingState2 = createState("stopWalkingState2", stopWalking) 
setBottomCamState = createState("setBottomCamState", lambda : setCamera("bottom"))
setBottomLedState = createState("setBottomLedState", lambda : setLED("eyes", 1,0,0))


# FSM for following the ball

followBallFSM = createFSM("followBallFSM")
addStates(followBallFSM, rotateLeftState, rotateRightState, walkToBallState,
          watchBallState, stopWalkingState, stopWalkingState2, setBottomLedState,
          setBottomCamState)
コード例 #28
0
                           setInitialState, readWM, writeWM,
                           setPrintTransition)

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown, startWalking,
                        turnHead, setCamera, resetSubFSM, say, setLED,
                        setWalkVelocity, stopWalking)

# Import functions we've written
from functions import (detectTouch, seeGoal, seeGoalLeft, seeGoalRight,
                       seeGoalSingle, lookForGoal, seeBall, oneStep, leftFoot,
                       rightFoot, betweenFeet)

# Create states

circleLeftState = createState("circleLeftState",
                              lambda: setWalkVelocity(0, 1, -0.45))
circleRightState = createState("circleRightState",
                               lambda: setWalkVelocity(0, 1, 0.45))
lookUpState = createState("lookUpState", lambda wm: lookUp(wm))
stopWalkingState = createState("stopWalkingState", stopWalking)
stopRotateState = createState("stopRotateState", stopWalking)
setTopCameraState = createState("setTopCameraState", lambda: setCamera("top"))
topLedState = createState("topLedState",
                          lambda: setLED("eyes", 0, 1, 0))  # Green
lookStraightState = createState("lookStraightState", lambda: turnHead(0, 0))
standState = createState("standState", stopWalking)
leftStepState = createState("leftStepState",
                            lambda: setWalkVelocity(0, 0.5, 0))
rightStepState = createState("rightStepState",
                             lambda: setWalkVelocity(0, -0.5, 0))
コード例 #29
0
# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown, communicate, stopWalking,
                        resetSubFSM, setCamera, setLED, turnHead, setWalkVelocity)

# Import functions we've written
from functions import (closeToObstacle, closeToFeet, rotateTime, walkDelay,
                       obstacleToLeft, obstacleToRight, headDelay)
                       
# Import FSM
# Currently none

# Create state

#resetLookBallState = createState("resetLookBallState", lambda : resetSubFSM(lookBallFSM))

setBottomCamState = createState("setBottomCamState", lambda: setCamera("bottom"))
setBottomLedState = createState("setBottomLedState", lambda: setLED("eyes", 1.0, 0.0, 0.0)) # Red
walkState = createState("walkState", lambda: setWalkVelocity(0.6, 0, 0))
rotateState = createState("rotateState", lambda: setWalkVelocity(0, 0, -0.4))
stopWalkState = createState("stopWalkState", stopWalking)
leftHeadState = createState("leftHeadState", lambda: turnHead(0.5, 0.2549))
rightHeadState = createState("rightHeadState", lambda: turnHead(-0.5, 0.2549))
lookDownState = createState("lookDownState", lambda: turnHead(0, 0.0549)) #0.1149 ok
lookDownState2 = createState("lookDownState2", lambda: turnHead(0, 0.0549))
lookDownMoreState = createState("lookDownMoreState", lambda: turnHead(0, 0.2549))

# Add transitions

addTransition(setBottomCamState, lambda wm: True, setBottomLedState)
addTransition(setBottomLedState, lambda wm: True, lookDownState2)
コード例 #30
0
# Import the FSM functions
from fsm.functions import (createState, createFSM, addTransition,
    addStates, setInitialState, readWM, writeWM, setPrintTransition)

# Import primitive robot behaviors
from api.pubapi import (
    startWalking, turnHead, setCamera, kick,
    say, setLED, setWalkVelocity, stopWalking)

# Import functions we've written
from functions import (leftFoot, rightFoot)
 
#create states    

kickRightState = createState("kickRightState", lambda: kick("right"))
kickLeftState = createState("kickLeftState", lambda: kick("left"))
stopWalkingState = createState("stopWalkingState", stopWalking)
stopWalkingState2 = createState("stopWalkingState2", stopWalking)


# FSM for kicking the ball

kickBallFSM = createFSM("kickBallFSM")
addStates(kickBallFSM, kickRightState, kickLeftState, stopWalkingState, stopWalkingState2)

setInitialState(kickBallFSM, stopWalkingState)

# Transitions

addTransition(stopWalkingState, leftFoot, kickLeftState)
addTransition(stopWalkingState, rightFoot, kickRightState)
コード例 #31
0
ファイル: testFSM.py プロジェクト: yousiftouma/tddd63-project
    addStates, setInitialState, readWM, writeWM, setPrintTransition)

# Import primitive robot behaviors

from api.pubapi import (sit, stand, rest, say, shutdown,
    startWalking, turnHead, setCamera,
    say, setLED, setWalkVelocity, stopWalking)

from followBallFSM import (followBallFSM, rotateLeftState, 
    rotateRightState, walkToBallState, watchBallState, 
    stopWalkingState, stopWalkingState2, followBallFSM)

def detectTouch(wm):
    return readWM(wm, "tactile", "middle")

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

mainFSM = createFSM("mainFSM")
addStates(mainFSM, waitSittingState, sitState, restState, standState,
          shutdownState, followBallFSM)

setInitialState(mainFSM, waitSittingState)

addTransition(waitSittingState, detectTouch, standState)
addTransition(standState, lambda wm: True, followBallFSM)
addTransition(followBallFSM, detectTouch, sitState)
コード例 #32
0
    startWalking, turnHead, setCamera, resetSubFSM,
    say, setLED, setWalkVelocity, stopWalking)

# Import FSM
from lookBallFSM import (lookBallFSM)
from kickBallFSM import (kickBallFSM) 
from goToBallFSM import (goToBallFSM)
                        

# Import functions we've written
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
コード例 #33
0
def entryTime(wm):
    return readWM(wm, "time", "entry")

def currentTime(wm):
    return readWM(wm, "time", "current")

def time(wm):
    if currentTime(wm) - entryTime(wm) >= 20:
        return True
    else:
        return False
    

# create states

waitSittingState = createState("waitSittingState", lambda: None)
waitStandingState = createState("waitStandingState", lambda: None)
sitState = createState("sitState", sit)
restState = createState("restState", rest)
standState = createState("standState", stand)
hangHeadState = createState("hangHeadState", hMHang)
shutdownState = createState("shutdownState",
				lambda : shutdown("Final state reached"))
sayBallState = createState("sayBallState", lambda: say("ball!"))
sayNoBallState = createState("sayNoBallState", lambda: say("no ball found!"))
lookAtBallState = createState("lookAtBallState", lambda wm: lookAtBall(wm))


# Add transitions

addTransition(waitSittingState, detectTouch, standState)
コード例 #34
0
# Import the FSM functions
from fsm.functions import (createState, createFSM, addTransition, addStates,
                           setInitialState, readWM, writeWM,
                           setPrintTransition)

# Import primitive robot behaviors
from api.pubapi import (sit, stand, rest, say, shutdown, startWalking,
                        turnHead, setCamera, resetSubFSM, say, setLED,
                        setWalkVelocity, stopWalking)

# Import functions we've written
from functions import (detectTouch)

# 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)
circleLeftState = createState("circleLeftState",
                              lambda: setWalkVelocity(0, 1, -0.45))
circleRightState = createState("circleRightState",
                               lambda: setWalkVelocity(0, 1, 0.45))

# The main FSM

# Transitions for the mainFSM