Hello everyone,
I am doing an application where I detect an object and then try to pick it.
To check if the pick points are reachable by the KUKA robot, I use the function :
Code
DEFFCT BOOL IsReachable()
PickitAxistest=INVERSE(pick_pose,$AXIS_ACT,Pickit_ErrStatCheckPos1)
PickitAxistest=INVERSE(pre_pick_pose,$AXIS_ACT,Pickit_ErrStatCheckPos2)
PickitAxistest=INVERSE(post_pick_pose,$AXIS_ACT,Pickit_ErrStatCheckPos3)
PickitAxistest=INVERSE(projected_pre_pick_pose,$AXIS_ACT,Pickit_ErrStatCheckPos4)
PickitAxistest=INVERSE(projected_post_pick_pose,$AXIS_ACT,Pickit_ErrStatCheckPos5)
IF (Pickit_ErrStatCheckPos1 == 0) AND (Pickit_ErrStatCheckPos2 == 0) AND (Pickit_ErrStatCheckPos3 == 0) AND (Pickit_ErrStatCheckPos4 == 0) AND (Pickit_ErrStatCheckPos5 == 0) THEN
RETURN(TRUE)
ELSE
RETURN(FALSE)
HALT ;added to check when it happens
ENDIF
ENDFCT
Display More
The positions pick_pose, pre_pick_pose, etc are all FRAME data
However, I still sometimes get the error "Stop due to software limit switch A6".
My question: is there a way to check if this is going to happen before it happens? I would like to keep the software limit on the axis if possible.