Roles No Roles
Full Name Etienne Samson
Job Title Director,Technical Support
Country CA - Canada
Company (optional) Robotiq
@Nerials the Robotiq Wrist Camera use a single command line, Camera Locate.
Camera Locate node act like an "if" statement, so if you detect an object (Camera Locate is "true) everything under the camera locate node is executed.
For example this is a pick and place with camera and counting the number of parts:
In that example, if you don't have any parts, the part counting, the pick and the place are skipped (they are under the camera locate).
MoveJ Snapshot_position Camera Locate part_counter = part_counter+1 MoveL Approach_pick Pick Gripper Close MoveJ Approach_place Gripper Open
You could also do a program with an if and else to count if you are having parts or not:
MoveJ Snapshot_position If Camera Locate part_counter = part_counter+1 MoveL Approach_pick Pick Gripper Close MoveJ Approach_place Gripper Open Else no_parts = no_parts+1
@akihikoy 200Hz is the maximum you can obtain if you do direct Modbus RTU communication, the USB converter most probably slow this down.
Also, controlling the Gripper at such speed will most probably give you a weird behavior. The Gripper is developped so that you send close / open / move commands and wait for a feedback. Non-stop movement command at this pace will probably gives you a shaky movement.
First thing you should do is have a PID loop that dampens the movement you are doing. Know that the motion as an acceleration ramp. So if you always ask for very small movement you will never reach the cruising speed (the speed we spec is for a full stroke), thus your slow motion. For example, we usually recommend to have at least 2.4 mm of clearance on a part to get that speed up so that the object detection works. Smaller movement then this = gripper still accelerating and no object feedback & bad force control.
Also know that the Gripper has an embedded function similar to what you are doing. The Gripper has a "re-grasp" function were it will detect if parts are slipping out by applying on continuous small pressure. When it detects the parts are slipping (fingers are closing or opening on it) it automatically moves. That function is turned off if you use force setting to 0. That function could probably be in conflict with what you are doing.
@kakimmy to get the image from the camera you can read this post: http://dof.robotiq.com/discussion/275/wrist-camera-live-image
It contains the instruction on how to access it made by @PierreOlivier_Proulx
There is also some more stuff you can get, like the object location pose in the instruction made by @Annick_Mottard
Note that you can also see some data output in the log files of the robot, for example, the calibration quality is printed in the log files after the calibration, you can see mean and max error. When you teach an object, the software will print to the log files the calculated height of the part.
Hope that helps !
@armormodeller @David_Levasseur to add to this, the cycle time we calculated with some test in our lab would give you around 0.4 seconds for a simple shape (a ring) on a plain background. You can expect the cycle time to go up between 1 and 5 seconds for a complex part (composed of hundreds of features).
Also, if you want to optimize your cycle time, use a simple, uniform background. If your background contains any kind of geometric shape it will slow down the processing.