Manipulator Attachments

What you will learn

You will learn how to attach / detach manipulators in EcScript and move the UR5e. The nature of manipulator attachments will include collision maps, a way to configure collisions between manipulators.

Prequisites

  • ActinUR Installation
  • ActinUR Coprocessor (IPC)
  • Complete Collision Maps

Manipulator Attachments

Attachment

In a real setting with an industial robot, such as a UR, the manipulator will have a tool to perform it's task. That tool is called the end effector and it is attached to the end of the manipulator's arm. It could be a gripper, vacuum suction, or even an inspection camera. In the Actin simulation, we model the end effector as a manipulator and we can programmatically attach or deattach it to the robot.

Note: There must be two manipulators in the scene to create a manipulator attachment. Every object in Actin is defined as a manipulator. A manipulator is a rigid body or a chain of rigid bodies connected by revolute / prismatic joints. These include serial manipulators, end effectors, the workcell, and objects in the scene.

In the 3D Model Page, there are four manipulators:

  1. UR5e
  2. Table
  3. EHPS 20 A - Festo Gripper
  4. Extrusion Bar

When ActinViz is launched it should look like this:

Make sure the UR5e Robot is connected and running. Please refer to Getting Started for information about RCF and robot connection.

Now, let's make the Extrusion Bar attach to the Festo gripper. The command to attach the manipulator in EcScript is attach_manip. Navigate to the Scripting Page, create a New File and paste the following:

(motion_seq
    # Dependent Maipulator Index
    (def_u32 dependent_manip_id 3)

    # Dependent Named Frame
    (def_string dependent_named_frame "BAR_PICK")

    # Independent Manipulator Index
    (def_u32 independent_manip_id 2)

    # Independent Link Index
    (def_u32 link_id BASE)

    # Independent Named Frame
    (def_string independent_named_frame "GRIPPER_ACTUATION")

    # Extrusion Bar attachment
   (attach_manip dependent_manip_id dependent_named_frame independent_manip_id link_id independent_named_frame)
)

When attaching a Manipulator it is:

  • Possible to attach muliple manipulators to the same link.
  • Not Possible to attach the same manipulator to multiple links.
  • Not Possible attach to itself to create a closed chain.

Save As ManipAttach1.ecs

Go to the 3D Model Page, select ManipAttach1.ecs, and click the Play Button. The Extrusion bar's state changes and becomes attached to the gripper.

Now, let's run SimpleMovePose1.ecs, this EcScript can be found in Simple Scripting Example

The Manipulator final pose looks like this:

Notice the Extrusion Bar is attached to the Festo Gripper during the move_pose motion.

Now run the SimpleMoveJointHome.ecs, this EcScript can be found in Simple Scripting Example. This will move the robot back to the home position.

Detachment

Let's detach the Extrusion Bar from the Festo gripper. To do this, the function detach_manip must be called.

Go to the Scripting Page, create a New File, and input:

(motion_seq
    # Maipulator Index
    (def_u32 manip_id 3)

    # Extrusion Bar detachment
    (detach_manip manip_id)
)

In this case it is removing the attachment from the Extrusion Bar.

Save As ManipDetach1.ecs

Go back to the 3D Model Page and run SimpleMovePose1.ecs again. The results should look like this:

Notice the bar stays in space. The behavior is expected because it is a kinematics simulation and not dynamics.

Next: Digital I/O Gripper Control