W16 <<
Previous Next >> w18
stage3模擬
stage3模擬,但模擬過程中,一開始的擊球機構沒控制好的話會把球彈到後面去,這邊還需要修改一下,這次是用lua的程式碼下去,可以用鍵盤控制,分別是q、p、a、;、z、.。
import sim as vrep
import math
import random
import time
import keyboard
print ('Start')
# Close eventual old connections
vrep.simxFinish(-1)
# Connect to V-REP remote server
clientID = vrep.simxStart('127.0.0.1', 19997, True, True, 5000, 5)
if clientID !=-1:
print ('Connected to remote API server')
res = vrep.simxAddStatusbarMessage(
clientID, "40823222",
vrep.simx_opmode_oneshot)
if res not in (vrep.simx_return_ok, vrep.simx_return_novalue_flag):
print("Could not add a message to the status bar.")
opmode = vrep.simx_opmode_oneshot_wait
vrep.simxStartSimulation(clientID, opmode)
ret,shaft1=vrep.simxGetObjectHandle(clientID,"joint1",opmode)
ret,shaft2=vrep.simxGetObjectHandle(clientID,"joint2",opmode)
ret,shaft3=vrep.simxGetObjectHandle(clientID,"joint3",opmode)
while True:
if keyboard.is_pressed("q"):
vrep.simxSetJointTargetPosition(clientID,shaft1,-200,opmode)
print("q")
if keyboard.is_pressed("p"):
vrep.simxSetJointTargetPosition(clientID,shaft1,200,opmode)
print("p")
if keyboard.is_pressed("a"):
vrep.simxSetJointTargetPosition(clientID,shaft2,90,opmode)
print("a")
if keyboard.is_pressed(";"):
vrep.simxSetJointTargetPosition(clientID,shaft2,0,opmode)
print(";")
if keyboard.is_pressed("z"):
vrep.simxSetJointTargetPosition(clientID,shaft3,90,opmode)
print("z")
if keyboard.is_pressed("."):
vrep.simxSetJointTargetPosition(clientID,shaft3,0,opmode)
print(".")
else:
print ('Failed connecting to remote API server')
print ('End')
if keyboard.is_pressed("q"):
vrep.simxSetJointTargetPosition(clientID,shaft1,-200,opmode)
假設說按鍵按q的話,shaft1的旋轉軸會移動角度到-200度。
W16 <<
Previous Next >> w18