stage3-bg3

  • Home
    • Site Map
    • reveal
    • blog
  • About
  • 每周進度
    • W9
      • Stage1
      • Stage2
    • W10
      • task1
    • w11
      • task2
    • w12
      • 小組討論內容
    • w13
      • robodk測試
    • w14
      • python學習
  • 零件圖
    • 彈珠檯
    • 迷宮
    • 火車
      • 火車改版(第一版)
      • 火車改版(最終板)
  • 直播影片
  • 模擬
    • 彈珠檯模擬
    • 火車模擬
  • W15
    • 影片整理
模擬 << Previous Next >> 火車模擬

彈珠檯模擬

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度。


模擬 << Previous Next >> 火車模擬

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