You're reading the documentation for a development version. For the latest released version, please have a look at master.

Picking Program

This page is about Universal Robot (alias as UR) specific instruction of picking process. Please make sure you have read Installation and Setup and Picking.

Note

The Picking programs in default DaoAI package is ready to use. If you do not plan to change the picking process flow, we recommend to leave the program as it is. If you decided to modify the program, please make sure it matches the communication protocols with DaoAI Vision side. For detail of communication details please see Socket and Communication Flow .

Program

First of all, we opens up the Manual_Calibration.urp, connect robot with Vision.

../../_images/picking_file.png

../../_images/picking_connect.png

The program flow would looks like this:

../../_images/picking_pro.png

In this Picking sample program, robot opens socket connecting to Vision; camera captures image, Vision performs detection, then UR performs picking. In pseudo code:

Execute Picking

Attention

Before picking, Vision needs to have a correct relationship between camera and robot base, Tool Centre Point to flange and correct setup.
  • We need a Calibration result for the current robot base and camera. The robot base and camera relationship needs to be the same for Calibration and this picking.(Because we need camera to base relationship in picking, and Calibration result is the camera to base relationship)

  • The Tool Centre Point(TCP) is correctly set at robot side

  • REDUCE ROBOT SPEED! This can prevent destructive collision! Monitor robot movement at all time!

../../_images/calibration_goal.png

Calibration is required for accurate picking

../../_images/robot_speed.png

Speed at 100% is pretty quick. While at experimental stage, set the speed below 30% to observe the robot movement.

../../_images/robot_tcp.png

TCP setting is in Installation tab. The green box area is the TCP in flange relationship, at default, TCP is centre point of flange. Red box area is the Payload weight, this should set to a correct weight of the object. If this Payload is larger than object, robot might have unexpected movement. Hence, Make Sure TCP and Payload are Set Correctly.

../../_images/picking_vis.png

Checking the Visualize node in Vision is able to see the virtual picking pose.

Now, you can see the magic of Modern Machine Learning!