sim=require'sim'
-- This is a threaded script, and is just an example!
function moveToConfig(handles,maxVel,maxAccel,maxJerk,targetConf)
local params = {
joints = handles,
targetPos = targetConf,
maxVel = maxVel,
maxAccel = maxAccel,
maxJerk = maxJerk,
}
sim.moveToConfig(params)
end
function sysCall_thread()
local jointHandles={}
for i=1,6,1 do
jointHandles[i]=sim.getObject('../Joint',{index=i-1})
end
local connection=sim.getObject('../connection')
local gripper=sim.getObjectChild(connection,0)
local gripperName="NiryoNoGripper"
if gripper~=-1 then
gripperName=sim.getObjectAlias(gripper,4)
end
-- Set-up some of the RML vectors:
local vel=20
local accel=40
local jerk=80
local maxVel={vel*math.pi/180,vel*math.pi/180,vel*math.pi/180,vel*math.pi/180,vel*math.pi/180,vel*math.pi/180}
local maxAccel={accel*math.pi/180,accel*math.pi/180,accel*math.pi/180,accel*math.pi/180,accel*math.pi/180,accel*math.pi/180}
local maxJerk={jerk*math.pi/180,jerk*math.pi/180,jerk*math.pi/180,jerk*math.pi/180,jerk*math.pi/180,jerk*math.pi/180}
local targetPos1={90*math.pi/180,-54*math.pi/180,0*math.pi/180,0*math.pi/180,-36*math.pi/180,-90*math.pi/180}
moveToConfig(jointHandles,maxVel,maxAccel,maxJerk,targetPos1)
sim.setInt32Signal(gripperName..'_close',1)
sim.wait(5)
local targetPos3={0,0,0,0,0,0}
moveToConfig(jointHandles,maxVel,maxAccel,maxJerk,targetPos3)
local targetPos2={-90*math.pi/180,-54*math.pi/180,0*math.pi/180,0*math.pi/180,-36*math.pi/180,-90*math.pi/180}
moveToConfig(jointHandles,maxVel,maxAccel,maxJerk,targetPos2)
sim.clearInt32Signal(gripperName..'_close')
sim.wait(4)
moveToConfig(jointHandles,maxVel,maxAccel,maxJerk,targetPos3)
end