当前位置: 首页>>代码示例>>Python>>正文


Python Arduino.run方法代码示例

本文整理汇总了Python中arduino.Arduino.run方法的典型用法代码示例。如果您正苦于以下问题:Python Arduino.run方法的具体用法?Python Arduino.run怎么用?Python Arduino.run使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在arduino.Arduino的用法示例。


在下文中一共展示了Arduino.run方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: main

# 需要导入模块: from arduino import Arduino [as 别名]
# 或者: from arduino.Arduino import run [as 别名]
def main():

    simulateCamera = False
    simulateSensors = False
    simulateActuators = False
    
    ard = Arduino()
    
    global vi
    if simulateCamera:
        vi = VisionInterfaceDummy()
    else:
        vi = VisionInterface()
        
    if simulateSensors:
        si = SensorInterfaceDummy(ard)
    else:
        si = SensorInterface(ard)
    
    global ctl
    if simulateActuators:
        ctl = ControlDummy(ard)
    else:
        ctl = Control(ard)
    
    dc = DataCollection(vi, si)
    
    #actions
    action_fw = FollowWallAction(ctl)
    action_hb = HuntBallAction(ctl)
    action_cb = CaptureBallAction(ctl)
    action_eb = EmergencyReverseAction(ctl)
    action_rp = RotateInPlaceAction(ctl)
    
    actionLookup = {                                       \
                    "ACTION_FOLLOW_WALL": action_fw,       \
                    "ACTION_HUNT_BALL": action_hb,         \
                    "ACTION_CAPTURE_BALL": action_cb,      \
                    "ACTION_EMERGENCY_REVERSE": action_eb, \
                    "ACTION_ROTATE_IN_PLACE": action_rp    \
                   }
    
    #goals
    goal_ex = ExploreGoal()
    goal_gb = GetBallGoal()
    
    goalLookup = {
                  "GOAL_EXPLORE": goal_ex, \
                  "GOAL_GET_BALL": goal_gb \
                 }
    
    tLast = time.time()
    tAvg = 0
    
    if not (simulateSensors and simulateActuators):
        ard.run()
        
    currentGoal = goal_ex
    
    signal.signal(signal.SIGALRM, alarm_handler)
    signal.alarm(180)
    
    ctl.ballCaptureOn()
    
    while (True):
        
        data = dc.get()
        if log:
            print "Data: "
            print data
        
            print "Goal: " + currentGoal.getName()

        (nextGoalName, actionName, actionArgs) = currentGoal.step(data)
        currentGoal = goalLookup[nextGoalName]
        
        if log:
            print "Action: " + actionName

        action = actionLookup[actionName]
        if actionArgs == None:
            action.step()
        else:
            action.step(actionArgs)
        
        tCurr = time.time()
        tDiff = tCurr - tLast
        tLast = tCurr
        tAvg = 0.9*tAvg + 0.1*tDiff
        print str(1/tAvg) + " FPS"
        print ""
开发者ID:jwbowler,项目名称:maslab-staff-2013,代码行数:93,代码来源:commander.py


注:本文中的arduino.Arduino.run方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。