lua程式碼 <<
Previous Next >> python remoteApi程式
鍵盤指令程式
W16 keyboard coppeliasim 場景檔
鍵盤程式碼指令
方向左鍵:主臂向左 方向右鍵:主臂向右
方向左鍵:小臂向左 方向右鍵:小臂向右
吸盤向下吸取:a
吸盤向上:t
吸盤放下:s
以下為keyborad程式碼:
function sysCall_init()
joint01=sim.getObjectHandle('joint01')
joint02=sim.getObjectHandle('joint02')
joint03=sim.getObjectHandle('joint03')
jointz=sim.getObjectHandle('jointz')
sim.setJointTargetPosition(joint01,0)
sim.setJointTargetPosition(joint02,0)
sim.setJointTargetPosition(joint03,0)
sim.setJointTargetPosition(jointz,0)
deg1=0
deg2=0
deg3=0
end
function sysCall_actuation()
message,auxiliaryData=sim.getSimulatorMessage()
while message~=-1 do
if (message==sim.message_keypress) then
if (auxiliaryData[1]==2009) then
deg1=deg1+1
sim.setJointTargetPosition(joint01,deg1*math.pi/180)
end
if (auxiliaryData[1]==2010) then
deg1=deg1-1
deg3=deg2-deg1
sim.setJointTargetPosition(joint01,deg1*math.pi/180)
end
if (auxiliaryData[1]==2007) then
deg2=deg2+1
deg3=deg1-deg2
sim.setJointTargetPosition(joint02,deg2*math.pi/180)
end
if (auxiliaryData[1]==2008) then
deg2=deg2-1
deg3=deg1-deg2
sim.setJointTargetPosition(joint02,deg2*math.pi/180)
end
if (auxiliaryData[1]==97) then
sim.setJointTargetPosition(jointz,-0.037)
sim.setIntegerSignal("pad_switch",1)
end
if(auxiliaryData[1]==116) then
sim.setJointTargetPosition(jointz,0)
end
if(auxiliaryData[1]==115) then
sim.setIntegerSignal("pad_switch",0)
end
sim.setJointTargetPosition(joint03,deg3*math.pi/180)
end
message,auxiliaryData=sim.getSimulatorMessage()
end
end
程式碼筆記:
message,auxiliaryData=sim.getSimulatorMessage()
while message~=-1 do
if (message==sim.message_keypress) then
第一行是指數據或是參數會等於模擬得到模擬器的訊息
第二行是指當訊息不是-1時,得做出以下動作
第三行是指訊息會等於鍵盤代碼的訊號
if (auxiliaryData[1]==2009) then
deg1=deg1+1
sim.setJointTargetPosition(joint01,deg1*math.pi/180)
當鍵盤代號為2009(方向向右)時會執行下面的程式碼
lua程式碼 <<
Previous Next >> python remoteApi程式