Home Troubleshooting

Discussion

Left ArrowBack to discussions page
T800_412T800_412 Posts: 51 Apprentice
how can I use rq_is_object_detected()  on a UR10 to get reliable results?

I tried putting it in a Thread with: 
wheel_gripped:=rq_is_object_detected()
Wait: 0.01

And I get an error that says gripper 1 is not activated. But this error goes away when I don't use the Thread.

I've also tried using it in the code directly, but get inconsistent results, causing the program to go on with an empty gripper.

MoveL - (waypoints to pickup a wheel)
wheel_gripped:=rq_is_object_detected()
If wheel_gripped - Set a value

There's an IF that is examined which causes the program to go back and attempt to pick the wheel again, but when the object detected is giving bad results, I'm not sure what to do. Ideally, I want to do it in a thread, and cause the program to pause, just in case the wheel gets dropped somewhere along the way of being processed.

If I look at the gripper toolbar, it seems that it is correctly reporting object detected status, even if I pull the wheel out of the gripper after it is successfully picked.

Best Answers

  • T800_412T800_412 Posts: 51 Apprentice
    edited April 2018 Accepted Answer
    Thank you for the response. I found the final problem with the approach I was taking. The rq_is_object_detected() command was being satisfied because, even though the part was slipping from the fingers after being lifted, it was still there when the command executed. I added a 1 second wait after lifting the wheel, so now if it is falling out, the rq_is_object_detected() after it is fully dropped.

    MoveL
       WT1_Pick_Orient
       WT1_Pick_Decend
    Gripper Close (1)
    MoveL
       WT1_Pick_Lift
    Wait: 1.0
    wheel_gripped:=rq_is_object_detected()
    if wheel_gripped
       Set

Comments

Sign In or Register to comment.
Left ArrowBack to discussions page