Pick and Place using the Palletizing Plugin

RoboDK includes a Palletizing Plugin to provide ease of programming when creating Palletization and Depalletization in RoboDK software. This plugin will prevent you from spending time on teaching individual positions and associating CAD models to them for multi-layer pallets.

In this example, the objective is to pick 8 boxes from a fixed position and palletize them on to a pallet in a 4x4 pattern.

This document covers the example of a fixed point-based pick (continuation of basic pick and place) and pallet-based place where the pallet program is created using the Palletizing Plugin. The components involved in this example are covered in this section are as follows:

1.Importing the 3D CAD models of all required components.

2.Use an existing single pick program to create a multi-pick program from a single location.

3.Use the Palletizing Plugin to create the structure and assets required for palletization program.

4.Use the program generated by the plugin to create the required Pick and palletizing program.

Load 3D CAD models

You can load 3D models by drag and dropping them to RoboDK window. You can also create the end of arm tool by drag and dropping an object to the robot within the RoboDK tree.

The following 3D CAD models are used in this example and can be imported form RoboDK’s local and online library:

1.Box CAD model.

2.Pallet CAD model.

3.End of Arm Tool CAD model.

4.Robot model.

The following image displays the minimum required 3D Cad models of all components used in this example.

Example Pick and Place Plugin - Image 1

Creating a pick program

You should create a program that picks at a fixed position in the robot workspace. This section will show you how to create a program to pick boxes at the same location.

Pick program sequence

The following image shows the pick program. This situation is a virtual depiction of a box being presented at a fixed position for the robot to pick up. The boxes could be presented via a conveyor or a fixture.

Example Pick and Place Plugin - Image 2

Creating a pick program

The following steps are followed in this example to create a multi pick program:

1.Copy and paste the Box Cad model placed at the pick position within the Pick frame seven times. This will create eight identical boxes overlapped and placed at the same pick position.

2.Call the program Pick_Program later in the main execution program after every individual successful box placement. The above function calling of the pick program is automatically achieved by the Palletizing plugin in this example

Create an initialization program

The initialization program in this example allows for the boxes to automatically reset to initial pick position when the initialization program is called. In this example the initialization function is called once all eight boxes have been placed onto the pallet. Following steps are used to create the initialization program.

1.Create a new program by selecting Program➔ Example Pick and Place Plugin - Image 4 Add Program and rename it to Initialization by right clicking on it and clicking Rename in the menu.

2.Right Click on the program and select Add Instruction➔Simulate Event Instruction.

3.In the Simulation Event Instruction window box, under Action, select Set object position (relative).

Example Pick and Place Plugin - Image 5

4.Select all eight boxes that need to be reset to the initial pick position using this initialization program and click OK.

Example Pick and Place Plugin - Image 6

The above sequence will create the initialization program required for the behaviour described above,

Create a Detach Program

The Detach Program detaches any object attached to the tool on the robot when called. In this example the detach code is called each time the tool reaches a place target during palletization to detach the box attached to the tool during the pick stage. To create a detach program, follow the below steps:

1.Create a new program using the icon: Example Pick and Place Plugin - Image 7 and rename it to Detach_Program by right clicking on it and clicking Rename in the menu.

2.Right Click the program and select Add Instruction➔Simulation Event Instruction.

3.In the Simulation Event Instruction window, under Action select Detach object. Make sure the appropriate gripper is selected in the Tool section and an appropriate workstation is selected under attach to parent. Select OK to close this window.

Creating the place program

This section will show you how to create a program to place the picked object on a pallet.

Initial Setup

You should first create a coordinate system and place the pallet relative to its own coordinate system.

1.Create a new reference frame by selecting ProgramAdd Reference Frame Example Pick and Place Plugin - Image 8 and rename it to Place_frame.

2.Right click and drag the Pallet CAD model object on to the place frame. This will change the base of the pallet object to the Place_frame.

3.Copy and paste the box Cad model from the pick position and move to the first place-position on the pallet i.e. the position at which the first box will be placed during palletization. Rename the box model to “Reference_box”.

4.Move the Robot so that the Gripper aligns with the top surface of the above box i.e. the position where the gripper will attach itself to the box in order to hold it for the pick and place motion as shown in the image below:

Example Pick and Place Plugin - Image 9

Example Pick and Place Plugin - Image 10

5.Select the Place_frame in the workstation hierarchy and create a new target(position) using the icon Example Pick and Place Plugin - Image 11. This will store the current position of the robot in this target. Rename the target to “Initial_Place_Target”.

Create the Place program using the Palletizing Plugin

This section shows how you can use the palletizing plugin to automatically create a program to place all objects on a pallet.

1.Enable the Palletizing plugin by clicking Tools➔Plug-Ins and clicking the red circle in front of the Palletizing Plugin. This will turn toggle the red circle to green and enable the plugin. Once enabled, a new menu “Palletizing” will appear in the software.

Example Pick and Place Plugin - Image 12

2.Click on Palletizing➔Palletizing Panel.

3.Populate the Palletizing Panel as per the below image.

Example Pick and Place Plugin - Image 13

4.Offset X, Y & Z in the above image represent the size of the boxes being placed on the pallet. The approach height (mm) is the vertical height above the actual place positions at which the robot will move to before going to the actual place position. X, Y & Z repeat in the above image represent the matrix of boxes on the pallet i.e. 2x2x2 in this case.

5.Press “More Options” button to open the extended options.

Populate the extended option by associating objects from the workspace hierarchy to appropriate options as per the image below. To attach an object to an option, click on the object name in the workspace and click the button “Pick item” in front of the desired option in the palletizing panel.

Example Pick and Place Plugin - Image 14

6.Once the panel is populated, press the generate button to create the place_ Program.

Modify the Place Program for palletization

The plug-in automatically creates eight copies of the box object by default to display the final palletized position. You can manually delete these objects.

1.Select the objects automatically created on the pallet.

2.Delete the physical boxes on the pallet from the workspace. Make sure to not delete the place targets (positions) associated to them.

3. Within the main place program created by the palletizing plugin, each individual box placement is handled by five programming instruction highlighted in the image below:

Example Pick and Place Plugin - Image 15

4.By default, the plugin creates the sequence of box placement to be starting at the top layer first and then moving downwards.

5.For palletization application, in order to fill the bottom layer first, select the five instructions shown in the image above for each individual box position in the top layer and move then under the rest of the program instruction in the Main programme.