Пример #1
0
    def executePose(self, pose):
        error = False
        #Above's N joints will be received and set on the V-REP side at the same time

        jointsQty = len(self.RobotImplementedJoints)
        jointExecutedCounter = 0

        error = self.sim.pauseSim(self.clientID) or error
        for joint in self.RobotImplementedJoints:
            angle = pose.getValue(joint) 
            angleAX = AXAngle()   
            angleAX.setDegreeValue(angle)
            #print "setting joint: ", joint, " to value: ", angle

            if jointExecutedCounter < jointsQty - 1:
                error = self.sim.setJointPositionNonBlock(self.clientID, joint, angleAX.toVrep()) or error
            else:
                ###self.moveHelperArm()
                error = self.sim.resumePauseSim(self.clientID) or error
                error = self.sim.setJointPosition(self.clientID, joint, angleAX.toVrep()) or error

            jointExecutedCounter += 1
            self.updateLucyPosition()

        self.poseExecuted = self.poseExecuted + self.getPosesExecutedByStepQty()
Пример #2
0
    def executePose(self, pose):
        error = False
        dontSupportedJoints = self.sysConf.getVrepNotImplementedBioloidJoints()
        RobotImplementedJoints = []
        # Above's N joints will be received and set on the V-REP side at the same time

        # TODO this must be checked in the simulator class
        if self.jointHandleCachePopulated == False:
            self.sim.populateJointHandleCache(self.clientID)
            self.jointHandleCachePopulated = True

        error = self.sim.pauseSim(self.clientID) or error
        for joint in self.joints:
            if joint not in dontSupportedJoints:
                RobotImplementedJoints.append(joint)

        jointsQty = len(RobotImplementedJoints)
        jointExecutedCounter = 0
        for joint in RobotImplementedJoints:
            angle = pose.getValue(joint)
            angleAX = AXAngle()
            angleAX.setDegreeValue(angle)

            if jointExecutedCounter < jointsQty - 1:
                error = self.sim.setJointPositionNonBlock(self.clientID, joint, angleAX.toVrep()) or error
            else:
                error = self.sim.resumePauseSim(self.clientID) or error
                error = self.sim.setJointPosition(self.clientID, joint, angleAX.toVrep()) or error

            jointExecutedCounter = jointExecutedCounter + 1

        self.updateLucyPosition()
        self.poseExecuted = self.poseExecuted + 1
Пример #3
0
standadRemoteApiPort=19997
localhost='127.0.0.1'
genetic_bioloid=os.getcwd()+"/models/genetic_bioloid.ttt"

print 'Program started' 
angle = AXAngle()
sim = Simulator()

clientID = sim.connectVREP()

if clientID !=-1:
    print 'Connected to remote API server'
    sim.loadscn(clientID, genetic_bioloid)
    sim.startSim(clientID,True)
    angle.setDegreeValue(150)    
    sim.setJointPosition(clientID,"R_Hip_Pitch",angle.toVrep())
    sim.setJointPosition(clientID,"L_Hip_Pitch",angle.toVrep())    
    pos1x, pos1y=sim.getBioloidPlannarPosition(clientID)
    end=False
    while not end:
        for i in xrange(30):
            angle.setDegreeValue(150-i)
            #print "voy a setear ax12 value en cadera izquierda: ", 150 - i
            sim.setJointPosition(clientID,'L_Hip_Pitch',angle.toVrep())
            angle.setDegreeValue(i*2)
            #print "voy a setear ax12 value en rodilla derecha: ", i
            sim.setJointPosition(clientID,'R_Knee',angle.toVrep())
            
        for i in xrange(30):
            angle.setDegreeValue(150-i)
            sim.setJointPosition(clientID,'R_Hip_Pitch',angle.toVrep()) 
Пример #4
0
    #    angle.setValue(value)
    #    setJointPosition(clientID,"L_Hip_Pitch",angle.toVrep())
    #angle.setDegreeValue(210)
    
    #end=False
    #error=1
    #while not end:
    #    error, up=isRobotUp(clientID)
    #    end=not up
    #print "me cai"
    
    pos1x, pos1y=getBioloidPlannarPosition(clientID)
    for i in range(25):
        angle.setDegreeValue(150-i)
        print "voy a setear ax12 value en cadera izquierda: ", 150 - i
        setJointPosition(clientID,"L_Hip_Pitch",angle.toVrep())
        angle.setDegreeValue(i*2)
        print "voy a setear ax12 value en rodilla derecha: ", i
        setJointPosition(clientID,"R_Knee",angle.toVrep())

    #angle.setDegreeValue(150)
    #setJointPosition(clientID,"R_Hip_Pitch",angle.toVrep())
    print "termine"
    time.sleep(5)
    for i in range(30):
        angle.setDegreeValue(150-i)
        setJointPosition(clientID,"R_Hip_Pitch",angle.toVrep()) 
        setJointPosition(clientID,"L_Knee",angle.toVrep()) 
        isRobotUp(clientID)
        isRobotUp(clientID)