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.
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:
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:
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
Now run the SimpleMoveJointHome.ecs, this EcScript can be found in Simple Scripting Example. This will move the robot back to the home position.
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.