External Gripper Modelling


I have been trying for some days to model a second gripper which is not connected to a robot in the simulation but infortunately with no success so far.

Basically what I want to do is a second gripper which is mounted fixed and capable of grasping and releasing obejcts passed by the robot.

My skills are beginner to intermediate in KUKA Sim Pro 3.1.

I can freely model links, assign signals, create interfaces for workpiece positioners and similar basic operations.

Could you give me a hint how to approach this problem?

Somehow the robot should set an output high to tell the external gripper to grasp the object and respectively release it later.

Best Regards

I am trying to make sure I understand your issue first. are you saying that you already have grippers on a robot that grab the object you are manipulating. you are trying to so a handshake to a second gripper on lets say a table or some other external object that will hold the gripper. is that correct? or are both gripper on the same robot?

For gripper fixed and mounted that needs to grasp and release, consider using the Grasp Action Wizard.

The IO handling should be straightforward; just wire output of robot/controller to GraspSignal in the gripper made by the wizard.

Do you need a video on how to use the wizard (velho) ?


Thank you for your response.

I installed the Grasp Action Wizard but unfortunately still cannot grasp a component.

A video will be very helpful.

This is a picture of my external vacuum gripper which is mounted on the ceiling.

Basically I want to put the cube on the gripper and then rotate the axis with the vacuum pads.

Now when the vacuum pads are rotated the cube is not grasped and just stays in the space.

On the picture you can see the TransitonSignal and Location of the GraspContainer.

The TransitionSignal is the GraspSignal and the Location is the TCPFrame which I attached to the vacuum pads.

In the GraspSignal menu I set the Connections to be so the GraspContainer.

I guess that I should somehow, probably, snap the cube to the TCPFrame in order for the gripper to work. Now I just place the cube a close as possible to the TCPFrame.

I also connected the GraspSignal to one of the output ports of the robot.

Best Regards

In hindsight, video would be too long, but if someone wants to share an external gripper CAD file that can be publicly used for Academy lesson then I myself will consider making it.

Check the program of the robot in the attached layouts. And how I configured its inputs and outputs. For the simple external gripper component, I used the Grasp Action Wizard for grasping and the IO Control wizard for axis movement.

Layout - Test External Gripper ceiling mounted.vcmx (1.1 MB)
Layout - Test External Gripper wall mounted.vcmx (1.0 MB)
Layout - Test External Gripper.vcmx (1.1 MB)

I am executing grasp action in robot to pick from conveyor. I do not execute release action in robot. Instead, I execute grasp action in the external gripper to pick from robot. I then rotate an axis in the gripper. Next, I execute grasp action in robot to pick from gripper. Finally, I execute release action in robot to place on conveyor.

To test different configurations, I attached BASE_1 to the the gripper and referenced it for robot motions to and from the gripper.

I don’t see the Location frame in your image, but note that the GraspContainer is a static container, so the part grabbed by the grippper retains its location – in the script for the grasp action wizard vcContainer object uses grab() method.

If you need parts to be positioned at different pads, you can either manually program robot to place part there. The graps action in gripper would need a high enough detection volume to find the part using TCPFrame, or modify things, for example to work like the parametric vacuum gripper in the VC eCatalog.


Thank you for your response.

I tried to open the simulations that you uploaded but unfortunately there is no program for the robot.

When I open any of the files above the program says “Component or layout file is newer than application.”

I have KUKA Sim Pro 3.1.2

When you say that the GraspContainer is a static container, do you mean that when I grasp the object it is not possible to move it with the external gripper - by moving I mean let’s say rotate the external gripper to point to another direction?

Best Regards

I made those layouts in VC 4.2.2 in a few minutes. With KUKA Sim 3.1, it is based on VC 4.1, so that’s why you get the message in Output panel.

Not to worry. I just got back from vacation, so you are helping me, and I have KS 3.1.2 on my own PC. If I load the layouts in KS 3.1, the program is empty in Job Map because the VC program uses VC statements not KRL/KUKA statements.

In KS 3.1.2, first thing I did was exchange the robot in layout with robot from KUKA eCatalog because that robot has RCS and additional properties. Exchanging took care of mapping the tool frames and base frames and signal connections for me.

Next, I recreated the VC program using the Job Map. Not that difficult since it is same program just different statement types, so it is easy to teach. Note that I could have used vcStatement KRL API to quickly convert from KUKA to VC statements and vice-versa, but teaching is rather quick.

Here are the same layouts made in KS 3.1.2.
Layout - Test External Gripper in KS 3.1.2.vcmx (1.3 MB)
Layout - Test External Gripper ceiling mount in KS 3.1.2.vcmx (1.3 MB)
Layout - Test External Gripper wall mount in KS 3.1.2.vcmx (1.3 MB)

Static container = container, e.g. pallet or box.
Dynamic container = path, e.g. conveyor.

So if you are placing a part in a box, it is expected that the part should stay at the placed location. If the container is in a node that can move, for example a link with a joint, or the node is moved, the part is moved because part is attached to container and container is attached to node, i.e. parent-child hierarchy.

Attached is same layout but my external gripper uses a OneWayPath instead of ComponentContainer. The path has the property to retain offset of part, but by default the part is snapped to the interpolated path. The part still moves when the axis of gripper is rotated because the path is a behavior in node that is attached to Link_1, a node with a rotational degree of freedom around Z-axis.

Layout - Test External Gripper in KS 3.1.2 with Dynamic Container.vcmx (1.3 MB)

1 Like


Thank you for your response.

Now the files are fine, there is a program in the Job Map Tab.

I also managed to make it work in my file with my gripper.

The problem was very simple, as usual, it was just the GraspContainer Link Position was not in the right position I guess. I just moved the GraspContainer Link to the TCPFrame position and it worked just fine.

I was wondering if you know how can I achieve bending sheet metal on a press brake. I struggling with making the bending visualisation of the sheet metal part.

I want to achieve something similar to this video.

What I did so far is a file with the bending detail that has links for each bending joint. By utilizing IO Control Wizard I assigned independent signals for all the link joints and in the simulation I send signals from the robot to the bending detail in order to make bending visible.

I have seem similar approaches for the same use case in simulation as well for simulating the folding of boxes. I think in your case you might need to time everything perfectly or use a script that updates the joint value of fold based on the position of the press.

One wacky approach to avoid IOs, etc. is export the joints of the bending detail to the robot, and then use robot statements to drive the joints of the bending detail as needed for visual purpose only. That obviously would not be acceptable if you need to export the project to controller, plus there is an E limit in KRL if I remember of like E1 to E6 or something.

Any hoot, good to hear the gripper is working. And the approach you mentioned should be suitable.


I managed to make the bending visualisation work with the IO Control Wizard and assigning links to every joint I want to bend.

It is kind of a disadvantage that KUKA Sim Pro does not offer a function that implements this visualisation since I think that there is quite some projects that require bending.

Here is a video of what I did in the simulation.

Omega HD|video

Thank you once again for you help and assitance.

I wish you all the best!

Best Regards!