40823222 cd2021

  • Home
    • Site Map
    • reveal
    • blog
  • About
  • W1
  • stage1-bg22
    • W2-W4
      • w1 小組討論
      • w2 繪製圖檔
      • w3 程式模擬
      • w4 小組報告
  • stage2-bg10
    • W5
    • W6-W9
      • 零件圖
      • 模擬
      • 影片錄製
      • 參考資料
  • stage3-bg3
    • Task 1
    • Task 2
    • RoboDK
    • 學習python
    • W16
    • stage3模擬
    • w18
  • 直播影片
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

Copyright © All rights reserved | This template is made with by Colorlib