Difference between revisions of "Program Examples:Robot Circle Command"

From SoftMC-Wiki
Jump to: navigation, search
(added video and images)
Line 4: Line 4:
 
Click image for video:
 
Click image for video:
  
[[File:vid_prev.png|link=http://softmc.servotronix.com/img_auth.php/f/fe/Helix.html|400px]]
+
[[File:roboDK_circle1.png|link=http://softmc.servotronix.com/img_auth.php/f/fe/Helix.html|400px]]
  
 
{|  cellpadding="10"  cellspacing="0"  border="1"  
 
{|  cellpadding="10"  cellspacing="0"  border="1"  

Revision as of 08:23, 14 February 2017

here is an example of using circle command. we we use puma robot in this example:


Click image for video:

roboDK circle1.png

Helix3.JPG Helix4.JPG


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