程式 <<
Previous Next >> w18
導入w16的機械手臂
function sysCall_init()
-- do some initialization here
axis1=sim.getObjectHandle('MTB_axis1')
axis2=sim.getObjectHandle('MTB_axis2')
suctionPad=sim.getObjectHandle('suctionPad')
rotation1 = 0
rotation2 = 0
deg = math.pi/180
end
function sysCall_actuation()
calibration = 0.05
message,auxiliaryData=sim.getSimulatorMessage()
if (message==sim.message_keypress) then
--print(auxiliaryData[1])--key
--if (auxiliaryData[1]==string.byte(' ')) then
--end
if (auxiliaryData[1]==119) then--w
rotation2 = rotation2 + 1*deg
sim.setJointPosition(axis2, rotation2)
end
-- Press the "w" key to turn axis2 5 degrees counterclockwise
if (auxiliaryData[1]==115) then --s
rotation2 = rotation2 - 1*deg
sim.setJointPosition(axis2, rotation2)
end
-- Press the "s" key to turn axis2 5 degrees clockwise
-- Press the "q" key to move up 0.01
if (auxiliaryData[1]==122) then --z
sim.setScriptSimulationParameter(sim.getScriptAssociatedWithObject(suctionPad),'active','true')
end -- Press "z" key to activate the suction pad
if (auxiliaryData[1]==120) then --x
sim.setScriptSimulationParameter(sim.getScriptAssociatedWithObject(suctionPad),'active','false')
end -- Press "x" key to deactivate the suction pad
if (auxiliaryData[1]==49) then --1
V1=61.2012*deg
V2=49.5059*deg
sim.setJointPosition(axis1, V1)
sim.setJointPosition(axis2, V2)
end
if (auxiliaryData[1]==50) then --2
sim.setJointPosition(axis1, 0)
sim.setJointPosition(axis2, 0)
end
--if (auxiliaryData[1]==51) then --3
--V1=-158.2529*deg
--V2=87.7894*deg
--sim.setJointPosition(axis1, V1)
--sim.setJointPosition(axis2, V2)
--end
end
end
程式 <<
Previous Next >> w18