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


Python Robot.reset方法代码示例

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


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

示例1: test_rest_name

# 需要导入模块: from robot import Robot [as 别名]
# 或者: from robot.Robot import reset [as 别名]
 def test_rest_name(self):
     robot = Robot()
     name = robot.name
     robot.reset()
     name2 = robot.name
     self.assertNotEqual(name, name2)
     self.assertRegexpMatches(name2, self.name_re)
开发者ID:0xKD,项目名称:xpython,代码行数:9,代码来源:robot_name_test.py

示例2: test_rest_name

# 需要导入模块: from robot import Robot [as 别名]
# 或者: from robot.Robot import reset [as 别名]
    def test_rest_name(self):
        # Set a seed
        seed = "Totally random."

        # Initialize RNG using the seed
        random.seed(seed)

        # Call the generator
        robot = Robot()
        name = robot.name

        # Reinitialize RNG using seed
        random.seed(seed)

        # Call the generator again
        robot.reset()
        name2 = robot.name
        self.assertNotEqual(name, name2)
        self.assertRegexpMatches(name2, self.name_re)
开发者ID:leovieira20,项目名称:exercismpython,代码行数:21,代码来源:robot_name_test.py

示例3: __init__

# 需要导入模块: from robot import Robot [as 别名]
# 或者: from robot.Robot import reset [as 别名]
class MapStraight:
    def __init__(self, initRobotPosition=[2.5, -6.5], boundaries=[[-3, 7],[-7, 7]], redPenalty = 0, rewardStrategy = 'Differential', actionStrategy = 'Absolute',verbose = False):
        vrep.simxFinish(-1)
        clientID=vrep.simxStart('127.0.0.1',19999,True,True,5000,2)
        if clientID==-1:
            raise Exception('Could not connect to API server')
            
        
        errorCodeCar,car = vrep.simxGetObjectHandle(clientID,'nakedAckermannSteeringCar',vrep.simx_opmode_oneshot_wait)
        
        errorCodeFrontRight,fr = vrep.simxGetObjectHandle(clientID,'Cylinder7',vrep.simx_opmode_oneshot_wait)
        errorCodeBackRight,br = vrep.simxGetObjectHandle(clientID,'Cylinder3',vrep.simx_opmode_oneshot_wait)
        
        if (errorCodeCar!=0):
                raise Exception('Could not get car handle')
                
        returnCode=vrep.simxSetObjectPosition(clientID,car,-1,[initRobotPosition[0],initRobotPosition[1],0.1],vrep.simx_opmode_oneshot_wait)
        
        returnCode,position=vrep.simxGetObjectPosition(clientID,car,-1,vrep.simx_opmode_oneshot_wait)
        
        returnCode,positionFR=vrep.simxGetObjectPosition(clientID,fr,-1,vrep.simx_opmode_oneshot_wait)
        returnCode,positionBR=vrep.simxGetObjectPosition(clientID,br,-1,vrep.simx_opmode_oneshot_wait)
        
        theta=math.atan2(positionFR[1]-positionBR[1],positionFR[0]-positionBR[0])
        
        errorCodeTarget,target = vrep.simxGetObjectHandle(clientID,'Target',vrep.simx_opmode_oneshot_wait)
        
        if (errorCodeTarget!=0):
                raise Exception('Could not get target handle')
        
        returnCode,targetPosition=vrep.simxGetObjectPosition(clientID,target,-1,vrep.simx_opmode_oneshot_wait)        
        
        if (returnCode!=0):
                raise Exception('Could not get target position')
                
        self.verbose = verbose
                
        self.car = car
        
        self.fr = fr
        self.br = br
        
        self.clientID = clientID

        self.boundaries = boundaries
        
        self.redBoundaries=[1.5,2.5]
        
        self.robot = Robot(clientID)
        
        self.target = [targetPosition[0],targetPosition[1]]
        
        #self.initState = [position[0],position[1],theta,1*(self.redBoundaries[0]>position[0] or position[0]>self.redBoundaries[1]),0,0]
        self.initState = [position[0],position[1],theta]
        
        self.state = self.initState
        
        self.wininngRadius = 0.5
        
        self.redPenalty = redPenalty
        
        self.rewardStrategy = rewardStrategy        
        
        self.actionStrategy = actionStrategy
        
    def start(self):
        returnCode = vrep.simxStartSimulation(self.clientID,vrep.simx_opmode_oneshot)
        if (returnCode>1):
            print "returnCode: ", returnCode
            raise Exception('Could not start')
        returnCode=vrep.simxSynchronous(self.clientID,True)
        
        for k in range(10): #Run to steps to step through initial "drop"
            returncode = vrep.simxSynchronousTrigger(self.clientID)
            
        if (returnCode!=0):
            raise Exception('Could not set synchronous mode')
                
    def stop(self):
        returnCode = vrep.simxStopSimulation(self.clientID,vrep.simx_opmode_oneshot)
        self.robot.reset()
        if (returnCode>1):
            print "returnCode: ", returnCode
            raise Exception('Could not stop')
                
    def getState(self):
        returnCode,position=vrep.simxGetObjectPosition(self.clientID,self.car,-1,vrep.simx_opmode_oneshot_wait)
        returnCode,positionFR=vrep.simxGetObjectPosition(self.clientID,self.fr,-1,vrep.simx_opmode_oneshot_wait)
        returnCode,positionBR=vrep.simxGetObjectPosition(self.clientID,self.br,-1,vrep.simx_opmode_oneshot_wait)
        
        theta=math.atan2(positionFR[1]-positionBR[1],positionFR[0]-positionBR[0])
        #return [position[0],position[1],theta,1*(self.redBoundaries[0]>position[0] or position[0]>self.redBoundaries[1]),self.robot.desiredWheelRotSpeed,self.robot.desiredSteeringAngle]
        return [position[0],position[1],theta]
                
    def calculateRewardSingle(self):
        if self.state[0]<self.boundaries[0][0] or self.state[0]>self.boundaries[0][1] or self.state[01]<self.boundaries[1][0] or self.state[1]>self.boundaries[1][1]:
            return -50
        
        elif abs(self.target[0]-self.state[0])+abs(self.target[1]-self.state[1])<self.wininngRadius:
            return 50
#.........这里部分代码省略.........
开发者ID:dtbinh,项目名称:RL-on-VREP,代码行数:103,代码来源:environment.py

示例4: main

# 需要导入模块: from robot import Robot [as 别名]
# 或者: from robot.Robot import reset [as 别名]
def main():
  print "Initializing robot..."
  robot = Robot()
  print "Initializing model..."
  model = Model()
  print "Initializing plot..."
  plot = Plot(model)
  print "Initializing classifier..."
  classifier = Classifier()

  with open(OUTFILE_PATH, "wb") as csvFile:
    csvWriter = csv.writer(csvFile)

    for i in count(1):
      behaviorType = None
      while behaviorType is None:
        behaviorType = raw_input("Enter behavior type: "
                                 "Exhaustive (e), Random (r), "
                                 "Sweep (s), User (u): ")
        behaviorType = behaviorType if behaviorType in ["e", "r", "s", "u"] else None

      targets = None
      while targets is None:
        try:
          targets = input("Enter targets (Python code returning a list): ")
          targets = targets if type(targets) is list and len(targets) else None
        except: pass


      def callback(sensorValue, current, target):
        motorValue = target - current
        row = [sensorValue, motorValue, i]
        csvWriter.writerow(row)
        csvFile.flush()

        model.feed(sensorValue, motorValue, sequenceLabel=i)
        tpActiveCells = model.experimentRunner.tp.mmGetTraceActiveCells().data[-1]
        classification = classifier.feed(tpActiveCells)

        print "Current: {0}\tSensor: {1}\tNext: {2}\tClassification: {3}".format(
          current, sensorValue, target, classification)

        if classification is not None:
          robot.playTune(classification)

        plot.update(model)


      if behaviorType == "s":
        sweep(targets, robot, callback)
      elif behaviorType == "e":
        exhaustive(targets, robot, callback)
      elif behaviorType == "r":
        randomlyExplore(targets, robot, callback)

      print MonitorMixinBase.mmPrettyPrintTraces(
        model.experimentRunner.tm.mmGetDefaultTraces(verbosity=2) +
        model.experimentRunner.tp.mmGetDefaultTraces(verbosity=2),
        breakOnResets=model.experimentRunner.tm.mmGetTraceResets())

      print MonitorMixinBase.mmPrettyPrintMetrics(
        model.experimentRunner.tm.mmGetDefaultMetrics() +
        model.experimentRunner.tp.mmGetDefaultMetrics())

      robot.reset()

      doReset = None
      while doReset is None:
        doReset = raw_input("Reset (y/n)? ")
        doReset = doReset if doReset in ["y", "n"] else None

      if doReset == "y":
        model.experimentRunner.tm.reset()
        model.experimentRunner.tp.reset()

      model.experimentRunner.tm.mmClearHistory()
      model.experimentRunner.tp.mmClearHistory()
开发者ID:chetan51,项目名称:saccadebot,代码行数:79,代码来源:run-robot.py


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