Difference between revisions of "Program Examples:Robot Circle Command"
(created) |
(added video and images) |
||
Line 1: | Line 1: | ||
here is an example of using circle command. we we use puma robot in this example: | here is an example of using circle command. we we use puma robot in this example: | ||
+ | |||
+ | |||
+ | Click image for video: | ||
+ | |||
+ | [[File:vid_prev.png|link=http://softmc.servotronix.com/img_auth.php/f/fe/Helix.html|400px]] | ||
+ | |||
+ | {| cellpadding="10" cellspacing="0" border="1" | ||
+ | || '''[[File:Helix3.JPG|250px]]''' ||'''[[File:Helix4.JPG|240px]]''' | ||
+ | |} | ||
Revision as of 07:57, 14 February 2017
here is an example of using circle command. we we use puma robot in this example:
Click image for video:
RobCircl.PRG:
'------------------------------------------------------------------------------
' File: RobCircl.prg
' Purpose: generating circle contour with a puma robot
' Version: 1.00
' Author: Eran Korkidi
' History: 08.DEC.2015 - created
'------------------------------------------------------------------------------
dim shared jntZeroPosition as joint of xyzypr = {0,0,0,0,0,0}
dim shared locCircleCenter as location of xyzypr =#{1101.57 , 0 , -49.804 , 0 , 180 , 0}
dim shared locCircleStart as location of xyzypr = #{901.572 , 0 , -49.804 , 0 , 180 , 0}
program
Sys.Vrate = 100.0
with Puma
Attach
En = TRUE
Sleep 100
while NOT En
Sleep 100
end while
call circularMotion
Detach
end with
end program
sub circularMotion
dim dVelSlow as double = 20.0
Move PUMA locCircleStart Vcruise=dVelSlow
call waitMotion
Circle PUMA Angle=5*360 CircleCenter = locCircleCenter Vtran = PUMA.VmTran/2
call waitMotion
Move PUMA jntZeroPosition Vcruise=dVelSlow
call waitMotion
end sub
sub waitMotion
while puma.IsMoving
Sleep 1
end while
end sub