Forum Migration Notice
We're transitioning to a more modern community platform by the end of this year. Learn about the upcoming changes and what to expect.

Can the orientation of a source be set variably?

I am working on a palletising simulation ( with an IRB6640) in which the object sinks and then respawns just before it is placed on the pallet. To make the object respawn, I use a source block (smart component). Is it possible to make the orientation in that source block variable? So that the object can always obtain the orientation of the gripper. 

Answers

  • mandolas
    mandolas
    edited November 6
    Hi...

    I didn't quite understand... but...

    In a simulation, the more realistic your "frames" are, the better your results will be.
    I suggest that the object to be created be on a stationary base. With the robot, use the "Attacher" component to attach the object to its gripper, positioned on the "Detacher" pallet, so when you detach the object it will have the same orientation as the gripper, therefore different orientations for the object.
    I don't know of a way to make the orientation variable.
    Without seeing the application, it's difficult to offer other suggestions.

    Good Job

  • Yes, you need to find a way to get the target orientation you want to use, make it a Vector3 type and then connect it to the property 'Orientation' of the source block.

    If the orientation of the gripper means the orientation of gripper TCP, you can use default SmartComponent 'RapidVariable' to get it.
  • Amber
    Amber
    edited November 12
    I don't know how to add a picture, so I'll try to explain better.

    The product is taken from a conveyor and transported to a pallet by a robot. Just before it is deposited, the product disappears (sink) and a new product is created (source). You cannot see this visually, so it appears to be the same product. When the new product is created, it has an orientation of "0.0, 0.0, 0,0".
    This means that the product is placed upright on the pallet, rather than flat, and it is also rotated by 90°. If I manually change the orientation to “90.0, 0.0, 90.0”, the product is placed correctly.

    The problem is that I have multiple positions, so for another position I need an orientation of "90.0, 0.0, 180.0". During the simulation, I want this orientation to vary. So I need a way to take the orientation of the gripper and give that orientation to my newly created product.

    I have already tried to recreate the product, hang it back on the gripper using an attacher and then release the product onto the pallet using a detacher, but this does not yet provide the right solution.


  • Hi,

    It does not matter much whether to change the orientation during the 'source' process or not. Even if the product is created after source, you can still use default SmartComponent 'Positioner' under 'Manipulators' category to change the position and orientation of the product.

    I'm not quite understand why the orientation of the product is determined by the orientation of the gripper. Could you explain a bit more on this?
  • I have already tried to recreate the product, hang it back on the gripper using an attacher and then release the product onto the pallet using a detacher, but this does not yet provide the right solution.

    Hi...

    I still don't understand why orientation is important! It's a simulation, so the position with the gripper's orientation is known. The created object doesn't need to store anything, right?

    Try:

    0 - create a new object on the conveyor belt;

    1 - attach object;

    2 - move robot to the deposit position;

    3 - detach object.

    At this point, the object should be in the same orientation as the gripper.

    Repeat this process and the objects will be palletized in the gripper's orientation.

    Good job