Part Handling - Concept and Programming

For Videos described in Documentation, download the ZIP at the bottom of the page.

Concept of Part Handling in Robotmaster

The core concept of Robotmaster Part Handling revolves around the task-device separation known to other applications. The separation allows for the creation of operations which are not device-dependent (specific to certain robots or cells) and blends with all Robotmaster existing workflows.

How vs Where (Task vs Device)

The main concept is that the how and where are separated when programming:

  • TASK frames define the HOW.

    • How the gripper will attach to the part.

    • How the part will be picked.

    • How the part will be placed.

  • DEVICE frames define the WHERE.

    • Where the part will be picked.

    • Where the part will be placed

Programming Frames

The programming of Part Handling applications revolves around the use of frames. To program a Pick and place operation, the user defines 5 frames:

  • Three (3) anchor frames on task, which provides the information for the virtual definition of a pick and place process.

  • Two (2) location frames in Device which are defined in device environment, provide the information on the location of the pick and place, completing the entire programming scope.

Task Anchors

  1. Gripper anchor - A task frame selected in Pick and place operation that defines how the gripper attaches to the workpiece. The Pick anchor will match to the gripper TCP.

  2. Pick anchor - A task frame selected in Pick and place operation that defines how the workpiece will be placed. The place anchor from Task matches the place location in Device.

  3. Place anchor - A task frame selected in Pick and place operation that defines how the workpiece will be placed. The place anchor from Task matches the place location in Device.

Pick and place task frame examples:

Device Locations

  1. Pick location - A device frame that is selected to define the location in space that the workpiece will be picked from. The pick location in Device matches the Pick anchor from Task.

  2. Place location - A device frame that is selected to define the location in space that the workpiece will be placed at. The place location in Device matches the Place anchor from Task.

Pick and place device frame examples:

Concept Summarized

Operations management

Pick and place operations have a unique management in order to improve user experience while simplifying user interactions.

 

  • Task Pane - When creating an operation, a single operation entity is generated in Task pane. This allows the user to edit both pick and place processes together, removing the need of individual editing.

  • Device Pane: Device Pane then splits the Pick and place operation into two entities. This allows the user to complete the programming by selecting different locations for pick and place processes, as well as adding our powerful transitions in between operations.

  • Point List: Point list manages Pick and place as 4 operations (pick, after pick, place, after place). This allows for clear definition of which points belong to each phase of the process. It also helps Processor to manage flags and events insertion.

Pick and Place Operation - Task pane

The entry point for Pick and place programming is the Pick and place operation. Once a Pick and place operation is created, Robotmaster framework will behave according to the application needs.

Grippers

When programming pick and place, the grippers are part of the programming input. Traditionally in Robotmaster, a tooling is selected in Device, but for Pick and place, a gripper is imperative. Without the selection of a gripper the interference between part and gripper orientation is not easily understood.

A gripper is created as a standard tooling and loaded from the standard tooling library. The TCP defined on the gripper will be used to attach to the gripper anchor selected in the operation.

No support is offered to:

  • Multi station grippers will not be allowed to be loaded into the Pick and Place operation. Single station grippers are supported.

  • V6-based grippers, only grippers created as Rmtooling will be supported.

  • Gripper simulation, simulation of gripper movable parts.

For more details: Video 1 - Grippers

Anchors

The first tab defines the gripper information (selection and anchor) as well as the pick and place anchors. The speeds can also be defined, and the linear speed will be assigned to LC (Linear Cartesian) moves and the rapid speeds to the JC (Joint Cartesian) moves.

Speeds

The pick and place operation speeds are controlled in the Pick and Place tab. This information will then be carried to the Processor and then output in the robotic code.

  • Linear speed - applies to all linear points generated in the operation.

  • Rapid speed - applies to all rapid points generated in the operation.

Approach and Retract Sequences

The approach and retract sequence tab controls how the Robot approaches the part to pick it and how it retracts after the part has been picked.

The user can select from any of the anchor frames:

  • Gripper anchor;

  • Pick anchor;

  • Place anchor.

These frames will then be used as the direction definition (given the selected axis) to program the pick and place operation. By default the pick approach and retract are coincident, but the user can specify different directions for approaching the pick and then retracting from the pick.

Pick and Place Operation - Device Pane

Assignment and interactions

Dedicated Pick and Place setup

Pick and place operations need a dedicated setup container, this means:

  • A setup can only contain pick and place operations.

  • A setup cannot mix pick and place operations with any other operation types (e.g. contouring, etc.).

  • Once the first Pick and place operation pair is assigned the Task gripper will override the tooling selection for that given setup.

Assignment Rules

  • The assignment can be done by selecting both operations at the same time or it can be done by assigning/unassigning only the Pick operation (the leading operation).

    • Right click assign/unassign.

    • Drag and drop assign/unassign.

  • A setup can contain multiple pick and place operations as long as the gripper is the same for all of them.

    • If there are several Pick and place operations within a given setup, if a gripper is changed in Task tab and the operation is assigned, the changed operation will be automatically unassigned.

  • Pick operation and place operation are managed as a pair.

    • Reordering of place before pick is not allowed, the Pick → Place order is always enforced.

    • Reordering of a pair is allowed, to be moved before or after another pair.

Pick and Place Locations

As explained the Programming of Pick and place operation is done in 2 steps:

  1. Task defines the how.

  2. Device defines the where.

Device pane will be the input of where the parts are to be picked and placed in space. Each operation can have its settings accessed and the locations can be set directly inside the operation.

The user can also interact directly with the part without the need of creating session frames:

  • If the part is mounted on Pick location - a transformation to pick location is added.

  • If the part is mounted on Place location - a transformation to place location is added.

  • If the part is mounted on the robot - the part moves with the robot jogging.

Transitions

As described in the Operations management section above, once in Device, the single Task pane Pick and place operation becomes a two entity operation. This allows for adding transitions in between the Pick operation and the Place operation in Device Pane.

Both manual and graphical transitions are supported by the Pick and place operations.

Collision management

Pick and place applications have a dedicated collision checking management. Once the gripper is attached to the workpiece, there is no need to check collisions anymore between this specific pair, as they have an engagement relationship. Any collisions reported between gripper and workpiece when in between the pick point and place point would be false collisions. Hence Robotmaster collision engine checks collisions regularly but excludes this specific pair collision checking when in process.

Collisions are still checked when in the Pick and place sequences as well as collisions with any other element in the cell.

Other modules interaction

The following features / modules are not supported with Pick and Place

User Frames for Pick and Place

Pick and place application makes use of User Frames like any other application. All the Pick and place operation coordinates will be mapped relative to the operation defined user frame.

This is a common practice in Pick and place, specially to simplify commissioning of cells and to keep the validity of previously generated programs.

Multiple user frame definition is also available by overriding the UF for the Pick operation and/or the Place operation.

  • User Frame overrides can be added individually for each pick and place operation.

Tool Frames for Pick and Place

Tool frames for Pick and place are managed like any other application. The TCP will be defined in the tooling station and used to attach the gripper anchor to the gripper.

The Pick and place application uses a zero tool length, meaning that the Automatic mode of TCP setting already puts the TCP perfectly aligned with the defined station.

The user can still choose different methods of controlling the TCP coordinates.

Code generation

Similar to other applications, Pick and place can be programmed several ways in terms of point output, code style, formatting, etc. One difference is that Pick and place can make use of code logic for programming, more than other applications we already support.

For now, Robotmaster will take what integrators call a “Brute force approach”. Instead of defining points, calling them, looping them, we will output all the required points, in the order they appear, repeated or not. No logic commands will be used as default or specific pick and place logic managed (unless a fully customized Processor is developed).

Example of a process selection

Events injection

UF management

Example of code generation

Video Files