Issue picking a part using a robot gripper

I’m having trouble picking up a cylinder with a generic 3-jaw gripper. When the robot and the cylinder were both on a flat surface, everything worked fine. But now that the cylinder is on a tilted table, I can’t pick it up properly and am having difficulty aligning the EOAT. The situation is even more challenging because the robot’s plinth is also tilted. I’m trying to simulate CNC machine tending, but it has been quite difficult. I’m very new to this software, so any help or guidance would be greatly appreciated.

Is it convenient to post your layout?

layout
Thank you for your reply.

Thanks for the layout pictures!
Actually, it’s your question that I’m confused about. Under normal circumstances, the tilt isn’t a big enough problem for VC to say that there’s a problem with not being able to grab it, and you should be able to grab the center point pretty quickly using the capture function.
So, for your question, if you are not comfortable sharing the VC file, I can only speculate, and my guess is that you are not failing to grab something, but grabbing the wrong thing, in which case the center of gravity needs to be grabbed for setup.

For your comment about not being able to EOAT, have you tried using the capture function?

1 Like

Thank you very much for your reply, much appreciated. I’m not sure if I am using the capture function correctly.

robot-settings

tool-settings

Machine_tending_not_picking.vcmx (1.2 MB)

Hey Colm_F!
Unfortunately, since I’m already in off-hours, there’s no way I can help you with the VC with license.
Specifically, you can try adjusting the Detection volume size in Grap to ensure that you can perform the grabbing action properly. As for your EOAT not being able to align, I see that you should be using the 3-jaw gripper that comes with the VC, which is co-centered with the center of the robot flange, so you can click on Snap to align the robot TCP to the center of the material in point-and-click mode.
You can make an attempt and with any luck someone will get back to you again (at least I won’t be able to get the software to help you for a couple days).
Good luck! :smile:

Hi @BAD, thank you so much for your help.

I followed the steps you provided, but unfortunately, I haven’t had any success yet. After several attempts with the generic VC 3-jaw gripper, I decided to revert to using a magnet, and now the robot is successfully picking and placing objects.

I plan to work on getting the gripper to function properly next week. For now, my next challenge is to get the lathe operational in my simulation. Have a nice weekend. Thanks again.

I’m on a recent business trip and I’ve taken the time to look at your layout so far, first of all you’re not using the save component feature so I can’t see your bot yet.
Secondly, I found your problem, I don’t quite understand why you wrote your program this way, you used two “SET OUT[2]=False” for robots with action scripts,

this program means that the robot is placing components twice for components attached to TOOL[2] (note that with action scripts, the first couple of output points of the robot are occupied) so you can’t grab the component, which is the first problem. The second problem, you set the position for TOOL[1], but you are using TOOL[2] and TOOL[3] for grabbing, opening the TOOL settings you can clearly see that all these points are very far away from the component you are trying to grab, you need to either adjust the Z of the grabbing range or tweak your TOOL.

As for your EOAT issue, I don’t see it in your simulation.
That’s all I’ve looked at so far as I’m still traveling and can only give a quick response, there may be other questions and you can always ask again.
Good luck! :smiley:

Hi @BAD thank you for all your help. I have since went back and adjusted the detection volume size again and am now able to pick the part by following your steps above also. The set and wait functions mentioned above are for opening and closing the gripper. Attached below is the latest program hopefully you can view it.

I need to reposition the robot by rotating it 90 degrees to address the reach problem. Could you advise on the most effective method for incorporating the lathe into the simulation process? I am unsure as to how to program the lathe to machine the part placed into it etc. Thank you for your valuable assistance; it is greatly appreciated. Have a nice trip.
Machine_tending_gripper_working-1.vcmx (2.6 MB)

Okay, so even though I’m having a rough time with everything, I can still give you some advice (I have to admit, I’m coming to see VC now solely because I’m already in a cranky place).
I don’t know if you are aware of the Process module, if you want quick access to the CNC then you can use this module, however, this module is not compatible with your current simulation as the premise of using the Process module is that the components in the flow are registered Products, so if you are interested in that, you might want to consider modifying it from the beginning with the generation of the materials.
If, however, you want to build on what you’ve done so far and rely on other methods, first, you can use Out[num]==False in your “delay(1)” to complete the material placement, and then you can consider modifying the machine’s Process program (your CNC machine comes with a Process program). Specifically, you can change TransportIn and TransportOut to WaitSignal, then connect the robot to the signal and control it with the robot program.
Again, the logic of your program is not correct, and you probably still haven’t read what I was telling you before? The robot you are using is already using an action script, which means that his first 65 bits (except for the 0) will be occupied, and you shouldn’t be using those signals for controlling your gripper cylinder, I will send you the modified version.

Machine_tending_gripper_working-1.vcmx (3.5 MB)

@BAD thank you so much for your help.

I have worked with it before particularly with conveyors and a feeder process but I have struggled to make it resemble a realistic machine tending cell.

Thank you for explaining how this works. In a previous example, I had it configured that way, but I am not sure how or why I ended up using the pre-assigned bits. I appreciate the clarification. The program looks excellent, and I greatly appreciate your assistance. I will review the code/program thoroughly and reach out if I have any further questions. Have a nice day. Thanks again.