Hello,
Is there a way to define a WorkObject in a RAPID program using 3 initially saved positions?
Thanks,
Hello,
Is there a way to define a WorkObject in a RAPID program using 3 initially saved positions?
Thanks,
Didn't find what you were looking for?
New postHello Charles-David, in Robot Studio create a frame from three points (your robtargets) and pay attention how you use the coordinates so they meet your workobject coordinates.
Then convert the frame into an workobject (right click on frame name and select option "convert to workobject")
Hello Adrian,
The problem is that the bin I want to reference is not always in the same place, so the robot has to calibrate itself every time it starts.
With a laser, I am able to find 3 points on the bin which I would then like to use to define my WorkObject. Is there a function in RAPID that allows you to use these 3 robottargets to define a WorkObject?
Thank you,
Hey Charles-David,
The function DefFrame() is used to do exactly what you are asking for.
Example:
MoveL pLaserPos1,v500,fine,tLaser,\WObj:=wobjCamera;
WaitTime\InPos,0.1;
!Center position of laser is 100mm = 6mA
!Scale factor is 0.1mA = 1 mm
pReadPos1:=Reltool(pLaserPos1,0,0,-(aiDistance));
!Move to the second positio
MoveL pLaserPos2,v200,fine,tLaser,\WObj:=wobjCamera;
WaitTime\InPos,0.1;
pReadPos2:=Reltool(pLaserPos2,0,0,-(aiDistance));
!Move to the third position
MoveL pLaserPos3,v200,fine,tLaser,\WObj:=wobjCamera;
WaitTime\InPos,0.1;
pReadPos3:=Reltool(pLaserPos3,0,0,-(aiDistance));
wobjTower:=wobjCamera;
wobjTower.oframe:=DefFrame (pReadPos1,pReadPos2,pReadPos3\Origin:=3);
Please sign in to leave a comment.
Comments
3 comments