Code: Select all
--lua
sim=require'sim'
function sysCall_init()
self=sim.getObject('.')
sensor=sim.getObject('./_sensor')
end
function sysCall_actuation()
--if (sim.getInt32Signal('ActivateBelt') == 1) then
--beltVelocity=0.08
--else
--beltVelocity=0.0
--end
beltVelocity=0.08
if sim.readProximitySensor(sensor)>0 then
beltVelocity=0
sim.setInt32Signal('pickup_Ready', 1)
else
sim.clearInt32Signal('pickup_Ready')
end
sim.writeCustomTableData(self,'__ctrl__',{vel=beltVelocity})
end
Code: Select all
function waitForSensor()
sim.waitForSignal('pickup_Ready')
end
function sysCall_thread()
object_picked = 0
while object_picked < 3 do
waitForSensor()
-- STEP I
goToPickPos()
sim.wait(0.5)
-- STEP II
activateVacuum()
sim.wait(0.5)
-- STEP III
goToDropPos()
sim.wait(0.5)
-- STEP IV
releaseVacuum()
sim.wait(0.5)
object_picked = object_picked + 1
end
goToInitPos()
sim.stopSimulation()
end