產品協同設計第4組

系統功能展示 << Previous Next >> 手足球手控與電腦對打

手足球雙人鍵盤對打

檔案:new football

V-REP模擬結果

PYTHON程式碼

import vrep
import keyboard
from time import sleep
import sys, math
vrep.simxFinish(-1) 
clientID = vrep.simxStart("127.0.0.1", 19997, True, True, 5000, 5)  
KickBoV = 90   
n=1
L_KickBoV = (math.pi/180)*KickBoV
R_KickBoV = -(math.pi/180)*KickBoV
if clientID!= -1:  
    print('connect successfully')
else:
    print('connect failed')
    vrep.simxFinish(clientID)
print('program ended')



  
errorCode,Sphere_handle=vrep.simxGetObjectHandle(clientID,'Sphere',vrep.simx_opmode_oneshot_wait)
errorCode,Pole_handle=vrep.simxGetObjectHandle(clientID,'Pole',vrep.simx_opmode_oneshot_wait)
errorCode,Revolute_handle=vrep.simxGetObjectHandle(clientID,'Revolute',vrep.simx_opmode_oneshot_wait)
errorCode,Prismatic_handle=vrep.simxGetObjectHandle(clientID,'Prismatic',vrep.simx_opmode_oneshot_wait)
errorCode,Revolute2_handle=vrep.simxGetObjectHandle(clientID,'Revolute2',vrep.simx_opmode_oneshot_wait)
errorCode,Prismatic2_handle=vrep.simxGetObjectHandle(clientID,'Prismatic2',vrep.simx_opmode_oneshot_wait)
errorCode,Pole2_handle=vrep.simxGetObjectHandle(clientID,'Pole2',vrep.simx_opmode_oneshot_wait)
 
if errorCode == -1:
    print('Can not find left or right motor')
    sys.exit()
     

     
def start():
    errorCode = vrep.simxStartSimulation(clientID,vrep.simx_opmode_oneshot_wait)
    while True:
        try:
            if keyboard.is_pressed('r'):
                vrep.simxSetJointTargetVelocity(clientID,Revolute_handle,R_KickBoV,vrep.simx_opmode_oneshot_wait)
            elif keyboard.is_pressed('t'):
                vrep.simxSetJointTargetVelocity(clientID,Revolute_handle,L_KickBoV,vrep.simx_opmode_oneshot_wait)
            elif keyboard.is_pressed('q'):
                vrep.simxSetJointTargetVelocity(clientID,Prismatic_handle,0.05,vrep.simx_opmode_oneshot_wait)
            elif keyboard.is_pressed('w'):
                vrep.simxSetJointTargetVelocity(clientID,Prismatic_handle,0,vrep.simx_opmode_oneshot_wait)
            elif keyboard.is_pressed('e'):
                vrep.simxSetJointTargetVelocity(clientID,Prismatic_handle,-0.05,vrep.simx_opmode_oneshot_wait)
             
            elif keyboard.is_pressed('.'): 
                vrep.simxSetJointTargetVelocity(clientID,Revolute2_handle,L_KickBoV,vrep.simx_opmode_oneshot_wait)
            elif keyboard.is_pressed('/'):  
                vrep.simxSetJointTargetVelocity(clientID,Revolute2_handle,R_KickBoV,vrep.simx_opmode_oneshot_wait)
            elif keyboard.is_pressed('b'):  
                vrep.simxSetJointTargetVelocity(clientID,Prismatic2_handle,0.05,vrep.simx_opmode_oneshot_wait)
            elif keyboard.is_pressed('n'):  
                vrep.simxSetJointTargetVelocity(clientID,Prismatic2_handle,0,vrep.simx_opmode_oneshot_wait)
            elif keyboard.is_pressed('m'):  
                vrep.simxSetJointTargetVelocity(clientID,Prismatic2_handle,-0.05,vrep.simx_opmode_oneshot_wait)
            else:
                pass
        except:
            break
        
start()


系統功能展示 << Previous Next >> 手足球手控與電腦對打