Table of Contents

Advertisement

Quick Links

Pally URCap
User Manual
Version 2.9.1

Advertisement

Table of Contents
loading

Summary of Contents for Rally URCap

  • Page 1 Pally URCap User Manual Version 2.9.1...
  • Page 2: Table Of Contents

    3.3.3.2 - Execution of beforeGrab callback 3.3.3.3 - Waiting time at pickup and release positions 3.3.4 - Compatibility notes for version 2.9 and above 3.3.4.1 - URCap API 1.12 3.3.4.2 - Definition of multi-zone grippers (gripper.json) 3.3.4.3 - Multi-pick fewer boxes 3.3.4.4 - Optional posData in zones.json...
  • Page 3 5.3.1 - Pallet 5.3.2 - Pickup from Conveyor 5.3.3 - Important parameters to be measured 5.4 - Gripper 5.5 - I/O Connections 6 - Installing and Configuring the URCap 6.1 - Installation settings 6.1.1 - Overview 6.1.2 - License 6.1.3 - Gripper 6.1.4 - Lifting column...
  • Page 4 6.2.1.1 Calibration Box 6.2.1.2 Primary Pickup 6.2.1.3 Secondary Pickup 6.2.2 - Pallet 6.2.3 - Movement 6.2.4 - Advanced 6.3 - Callbacks 6.4 - Examples: typical configuration scenarios 6.4.1 - Classic setup with one optimal pickup position 6.4.2 - One pickup position with products coming in from the side 6.4.3 - One pallet position and one pickup position on the opposite side 6.4.4 - Two parallel pickup positions 6.4.5 - Two opposite pickup positions...
  • Page 5 8.5.1 - Conditions 8.5.2 - Position transformation 8.5.3 - Location of the zone definitions 8.6 - Uploading new patterns 9 - Advanced configuration variables 9.1 - Naming conventions 9.2 - Changing configuration variables at startup 9.3 - Changing configuration at runtime 9.4 - List of available configuration variables 9.4.1 - Speed and acceleration 9.4.2 - Calibration points...
  • Page 6: Document Revision Information

    1 - Document Revision Information Date Description Author 15.11.2018 Initial draft CM,LÅ,AL 08.02.2019 Checklist for new robot setup 12.02.2019 Functional description, typical setup examples 25.02.2019 Comments resolved, screenshots updated 24.05.2019 Lifting column, shim paper, updated screenshots 29.08.2019 Gripper and TCP configuration rewritten 04.10.2019 Added gripper optimization, grippers with offset 19.10.2019...
  • Page 7: License

    2 - License © Rocketfarm AS 2021. All rights reserved. Disclaimer The information contained herein is the property of Rocketfarm AS and shall not be reproduced in whole or in part without prior written approval of Rocketfarm AS. The information herein is subject to change without notice and should not be construed as a commitment by Rockerfarm AS.
  • Page 8: Requirements

    E-series: Polyscope version 5.10 or higher is required. 3.2 - Hardware Requirements Due to size limitations, the palletizer URCap requires a UR10 robot. On CB-series robots, only CB-series version 3.1 is fully supported. CB 3.0 robots may be used with some limitations, see Compatibility with CB 3.0 robots...
  • Page 9: Compatibility Notes For Version 2.6 And Above

    3.3.1 - Compatibility notes for version 2.6 and above 3.3.1.1 - Path planning The path planning algorithm has significantly changed in version 2.6. It is recommended to test existing projects with full pallets of all products after upgrading to version 2.6. 3.3.1.2 - ProductCount Since version 2.6 the "ProductCount"...
  • Page 10: Waiting Time At Pickup And Release Positions

    3.3.4 - Compatibility notes for version 2.9 and above 3.3.4.1 - URCap API 1.12 From version 2.9.0 the minimum required URCap API version is 1.12. which may require the robot to be upgraded to a significantly newer version of Polyscope. Always make a full backup before upgrading.
  • Page 11: Compatibility With Cb 3.0 Robots

    3.4 - Compatibility with CB 3.0 robots Due to hardware limitations in the CB 3.0 control boxes, the Pally URCap may not run as smoothly as expected. Consider the following steps before installing Pally URCap on these robots. 3.4.1 - Memory usage limitations on CB 3.0 Out of memory exceptions may occur during installation and configuration of the Pally URCap unless the following modification is made in the operating system.
  • Page 12: Functional Description

    ● Use "lock direction" for all boxes wherever possible. ● Disable 2-ways and 4-ways gripper optimization and only add the enforced gripper orientation at positions where it is needed. ● Use the "inverse approach" option for all layers except the highest layers. 4 - Functional description 4.1 - The palletizer workflow The typical use case for a palletizing robot is described as follows:...
  • Page 13: Pallet Completion State

    4.3 - Pallet completion state While pallet patterns define the expected layout of the pallet as a static model, the pallet completion state follows the actual status of the pallet currently being stacked. The pallet completion state keeps track of which exact box positions are already done, and which are waiting to be filled.
  • Page 14: Single Pick And Multi-Pick

    4.4.1 - Single pick and multi-pick Depending on the actual pallet pattern and gripper dimensions, it is possible to pick one or more boxes at the pickup position. To pick multiple boxes, the positions in the pattern file must follow each other by product length. The pick and place positions are automatically calculated for the given number of boxes.
  • Page 15: Gripper Rotation At The Pickup Position - Gripper Optimization

    Figure 3: gripper alignment at pickup 4.4.3 - Gripper rotation at the pickup position - gripper optimization In order to get better reach or performance, the program can automatically recalculate and use the gripper rotated by +90, -90, 180 degrees at the pickup position. This may be necessary to reach the pallet corners or avoid collision with the base frame.
  • Page 16: Path Planning

    4.5 - Path planning The path planning algorithm is an essential part of the palletizer software. It calculates the optimal movement from the pickup position to the pallet position. These calculations are performed dynamically when the robot moves one or more boxes from the pickup to the pallet position.
  • Page 17 Figure 6: The primary path planning algorithm on higher layers. When it is not possible to find a smart exit position from where a direct linear movement is possible, one or more waypoints are being inserted. In this case the program evaluates the pallet completion state (position of the already palletized boxes) and finds a collision-free path to the target position.
  • Page 18: Approaching The Target Position

    4.5.2 - Approaching the target position In order to improve precision, the last section of the movement is being performed with lower speed and acceleration. Normally the robot moves the box into its final position by using the "Approach" distance, which is shown on figure 8.
  • Page 19 Figure 9: Dynamically calculated approach distance for rotating boxes. Version 2.9.1 © Rocketfarm AS 2021. All rights reserved.
  • Page 20: Pallet Lip

    Figure 10: Difference between dynamically calculated and fixed approach distance. Please note the extra waypoint added to complete rotation before approaching. 4.5.3 - Pallet lip When pallets have an outer edge lip, the robot can enforce a vertical movement on the first layer to avoid collision with the pallet lip, see figure 11.
  • Page 21: Positioning The Lifting Column For Each Layer

    Lifting columns can have 2 or more valid positions. 2-position lifting columns are typically built with end-switches (up/down positions) while other models - such as the Ewellix LiftKit - have continuous positioning with position feedback. When continuous positioning is available, Pally will choose intermediate positions that correspond to multiples of layer heights.
  • Page 22: Custom Positioning - Zones

    column is large and/or the pickup position can go out of reach at some point (e.g. very high pallets). When using this mode, the lifting column position can be different at pick and place. First, the algorithm calculates the lifting column position range from where the pick position is reachable (lowest and highest column position) then the same calculations are performed for the pallet target position.
  • Page 23 Figure 14: illustration of how zones divide pallets into smaller regions. Each color indicates a different zone. Zones is one of the most powerful features and can be used to solve problems that could not have been done otherwise, e.g.: Avoid collision between upper arm and boxes nearest to the robot on the top layers, Take full control of the lifting column positioning, Control external machines, for example, start a stretch wrapper to wrap the pallet...
  • Page 24: User Extensions - Callbacks

    Figure 15: using zones to avoid collision by changing the palletizing order. Zones require a special configuration file. This file will describe the conditions for splitting the pallet into smaller regions. Creating the configuration file is easy and can be done in most cases by copying the example files provided.
  • Page 25 ● WorldPosition: a pose that defines an extra transformation for elevated lifting column ● MoveTarget: target position of the robot (pose, p[x, y, z, rx, ry, rz]). In the afterGrab callback, this variable contains the target pose of the box on the pallet where the robot should move.
  • Page 26: Physical Installation - Best Practice

    5 - Physical Installation - Best Practice 5.1 - Robot installation 5.1.1 - Check joint positions first The UR10 joints have a limited +-360 degrees position range, so it is essential to check whether the joint positions are not too close to their limits, before attaching the vacuum hose and other objects (figure 16).
  • Page 27: Attach The Gripper Properly

    Figure 17: Check the position of the power connector. 5.1.3 - Attach the gripper properly Attach the gripper only when wrist 3 is close to its zero position. This way you can maximize the rotation range in both directions. Depending on the physical dimensions of your gripper, you might have to configure the robot tool center point under Installation / General / TCP as described below.
  • Page 28: Lifting Column

    Figure 18: Make sure TCP is configured properly. Pally supports a wide range of grippers, and some of them might have either position, rotation, or both offsets that must be taken into account when TCP is being configured. To verify the TCP settings are correct, perform the following steps: ●...
  • Page 29: Layout

    ● Make sure the pickup point is reachable when the lifting column is in its retracted (low) and stretched (high) position. ● In projects with multiple products: repeat the previous step with the smallest and the largest expected products. ● In projects with multi-picking: repeat the previous steps with 2 (3, 4, etc.) products. 5.2 - Layout The palletizer cell consists of the robot, the pallets, and the pickup position.
  • Page 30: Supported Pickup Positions

    5.2.1 - Supported pickup positions Product arrival angle Pally supports several different pickup positions. The boxes may arrive at the pickup position from the side, from the front or from an angle. I.e., the boxes can arrive both sideways or straight towards the robot as illustrated by the arrows in (figure 20).
  • Page 31 Figure 21 : Use side guides or pushers to align products to the same location for every pickup. Figure 22: Shorter “box free” travel will improve speed and expand the lifetime of the robot. Two pickup positions When picking from two lines simultaneously, it is recommended that the two lines come into the robot parallel to the y-axis.
  • Page 32 Figure 23: This layout is recommended for dual conveyor solutions. The layout will minimize unnecessary vertical movements for the robot. Version 2.9.1 © Rocketfarm AS 2021. All rights reserved.
  • Page 33: Suggested Sensor Placements

    Figure 24: This layout is not optimal since the robot must lift the product above the next product(s) on the conveyor. Avoid this setup if possible. 5.2.2 - Suggested sensor placements Product presence sensors Place the sensors as low as possible on the conveyor. Install one sensor at the very end of the conveyor to detect one box ready for pickup.
  • Page 34: Dimensions

    Note: The line should be able to buffer at least 4 products. Figure 25: Sensor placement. Note: Maximum 8 product sensors per pickup position are supported. 5.3 - Dimensions The recommended dimensions are specified in this chapter. The robot may palletize without issues using other dimensions as well, although significant deviations from the optimal dimensions may introduce unexpected failures.
  • Page 35 Please make sure that these values are appropriate for the set up in use. These measurements may vary depending on the lifting column. Offset sideways 0 mm Distance from robot to 800 mm conveyor along the axis of the power cord. Height from ground to the 700 mm pickup position...
  • Page 36 Figure 27 : Recommended placements of components relative to the robot base Figure 28: Box and gripper orientation relative to conveyor direction. Version 2.9.1 © Rocketfarm AS 2021. All rights reserved.
  • Page 37: Important Parameters To Be Measured

    5.3.3 - Important parameters to be measured The path planning algorithm requires the following values to be measured and entered: ● The total width of the conveyor, including any mounted objects. E.g. a motor. ● The position of the fixed guide. Left or right side of the conveyor, seen from the end. ●...
  • Page 38: I/O Connections

    must carry, i.e. a heavy gripper reduces the maximum weight of products to be eligible for palletizing. Keep this in mind when selecting a gripper. Note: When installing a gripper, the tool center point (TCP) must be configured as illustrated in figure 28.
  • Page 39: Installing And Configuring The Urcap

    6 - Installing and Configuring the URCap Installing the Pally URCap can be divided into three parts; the installation settings, the program settings and the callbacks for user customization. Note: Install the URCap according to the software manual for your Universal Robot before proceeding.
  • Page 40: License

    6.1.2 - License A valid license must be obtained before the Pally URCap can be used. This can be done as follows: ● In the Pally Installation node, navigate to the tab labelled ‘License’ ● Insert a USB stick into the USB connector on the teach-pendant, click the ‘Copy request to USB’-button.
  • Page 41: Gripper

    Choose this option for other vacuum grippers that can be controlled by simple digital IO signals. Weight and dimensions of the gripper must be manually entered using this option. The grip and release functions are controlled by the Pally URCap via the digital IO channels configured here.
  • Page 42 Figure 32: Select the type of gripper that is mounted on the robot in the ‘Type’-tab Figure 33: If Custom gripper is selected, no IO channels can be set in the Pally installation node. Control the gripper using callbacks, see 6.3 - Callbacks.
  • Page 43 Note: For grippers other than UniGripper CoLight, Schmalz FXCB - Foam and Schmalz FXCB - Suction cups it might be necessary to manually configure TCP (position, orientation, payload, center of gravity) according to the technical specifications of your gripper. Consult your gripper manufacturer for further details.
  • Page 44 "name": "4-channel gripper", "description": "test gripper for multiple product sizes" "dimensions": { "width": 628, "length": 252, "height": 202, "weight": 1.9, "foamHeight": 15 "properties": { "coveragePercent": 51, "edgeAlignment": false "tcp": [0, 0, 110, 0, 0, 90], "cog": [0, 0, 80], "zones": [ "id": 1, "x": 0, "y": 0,...
  • Page 45 "release": { "type": "standard", "channel": 4 "id": 2, "x": -163, "y": 0, "width": 67, "length": 201, "grip": { "type": "standard", "channel": 1 "release": { "type": "standard", "channel": 5 "id": 3, "x": 163, "y": 0, "width": 67, "length": 201, "grip": { "type": "standard", "channel": 2 "release": {...
  • Page 46: Lifting Column

    "configurations": [ [1,2,3,4], [4], [1,2,3], [1,2], [2,3], [1], [2], [3] Figure 34: suction-cup gripper with 4 channels and the corresponding gripper.json file Note: TCP settings are optional and may not be included in older gripper.json files. If your gripper is mounted with a position/rotation offset, make sure that the offset is properly set according to the specification in 5.1.3 - Attach the gripper properly 6.1.4 - Lifting column...
  • Page 47 Figure 35: Ewellix LiftKit is natively supported Note: Make sure Ewellix LiftKit URCap version 1.1.0.rc1 is installed and configured. This URCap is provided by Rocketfarm. Vention V1 Select this option for lifting columns that are built with the first generation Vention MachineMotion controllers.
  • Page 48 This URCap is provided by Vention. Note: The encoder zero position can be set to any position in the MachineLogic URCap. Make sure to select a zero position that is suitable for the entire calibration. Set the minimum...
  • Page 49 Custom Lifting Column Select this option for lifting columns that can be controlled by 24V digital signals to move up and down. Pally will not calculate any intermediate positions between retracted length and maximum stroke. Following parameters are available: Control signals Digital outputs that will control the movement of the lifting column.
  • Page 50: Input/Output

    6.1.5 - Input/Output The assignment of input/output channels to each hardware unit can be configured here. Inverted signals are supported; where an inverted signal means that the signal goes from high to low when a specific event occurs (e.g product present). On the contrary, the default signal (i.e not inverted signal) means the signal goes from low to high when a specific event occurs.
  • Page 51: Input/Outputs In Pally

    In order to use the General Purpose Boolean registers in Pally, the specified general purpose boolean IOs that will be used have to be renamed in Polyscope. This is a convention that is specified by Polyscope, and can be done in the ‘I/O Setup’ tab in the installation node.
  • Page 52 Push this button to add more sensors. Maximum 8 product sensors can be created for one production line. Remove selected sensor Push this button to remove the selected sensor. The first product sensor cannot be removed. Priority sensor These input signals can be connected to sensors that are mounted 3 or more boxes behind the 1st product sensor, indicating that the specific conveyor has too many products to be palletized.
  • Page 53: Patterns

    Figure 38: Go through each tab in the ‘Input/Output’-tab to configure the inputs and outputs that go with the desired set up. 6.1.6 - Patterns This configuration screen contains patterns specific commands. Patterns storage directory This field is used to change the path to the directory that is used to store the JSON-files that contain the palletizing patterns.
  • Page 54: Advanced

    This checkbox is used to allow for automatic uploading of patterns from a USB-stick onto the robot. The checkbox is not checked by default. By checking it, all JSON-files in the root folder of the most recently plugged in USB-stick will be uploaded to the patterns storage directory folder on the robot.
  • Page 55 By pressing this button, files from the following folders will be copied to the USB-stick that was plugged into the robot most recently: ● /root/.urcaps ○ From this folder, the installed urcap files are copied to the USB. ● /home/.no.rocketfarm.urcap.palletmanager ○ From this folder, Pally’s license is copied to the USB.
  • Page 56: Program Settings

    Figure 40: Advanced installation settings. 6.2 - Program settings Create the palletizer main program first. Go to Program Robot -> Empty Program -> Structure -> URCaps -> Pally. Version 2.9.1 © Rocketfarm AS 2021. All rights reserved.
  • Page 57: Pickup

    Figure 41: Add the palletizing program. 6.2.1 - Pickup Pickup position(s) should be calibrated by putting a box at the end of the conveyor and moving the gripper on the top of it. If possible, choose a calibration box with at least the width and length of the gripper.
  • Page 58: Primary Pickup

    Figure 42: Calibration box Note: The measurements must be accurate. Align the gripper in the center of the calibration box, so that the orientation of the tool is perfectly perpendicular to the pickup position. 6.2.1.2 Primary Pickup The primary pickup position is calibrated in the tab labeled ‘Primary’. When setting the robot’s position in the pickup position, make sure to use the calibration box that was specified in the ‘Calibration Box’-tab.
  • Page 59 Figure 43: Naming the pickup position/production line Figure 44: Calibrating the pickup position with a calibration box. Version 2.9.1 © Rocketfarm AS 2021. All rights reserved.
  • Page 60 Note: The gripper should be centered on the top of the box. This might be difficult with a calibration box smaller than the gripper. Choose a larger box if possible. Some grippers may have offset by design, or can be mounted with an offset. The correct calibration of the pickup position with an offset-mounted gripper is shown below.
  • Page 61 Note: The fixed guide orientation is looking from the end of the conveyor and up the line. Figure 47: The fixed guide orientation is looking from the end of the conveyor and up the line. In this example the fixed guide position is left. Figure 48: Configuration of the fixed side guide.
  • Page 62: Secondary Pickup

    6.2.1.3 Secondary Pickup In Pally, it is possible to use two pickup positions. To turn on this feature, check the ‘Enable’ checkbox (as shown below). Note: If ‘Dual product mode’ is turned on (in Pally installation node), then the second pickup position must be set to run the program.
  • Page 63: Pallet

    and ‘Back’-button or drag the screen from left to right to move between the calibration cards. Figure 50: Press the ‘Set point’-button to set the second pickup position 6.2.2 - Pallet The pallet center point and the floor inclination angle are calibrated by moving the robot above three corners of an empty pallet.
  • Page 64 Figure 51: Illustration of the pallet calibration points. Figure 52: Pallet corners can only be calibrated when the corresponding pallet is enabled. Version 2.9.1 © Rocketfarm AS 2021. All rights reserved.
  • Page 65: Movement

    Measure and enter the height of the empty pallet that was used during calibration, if you want to palletize on pallets with different heights. The floor level will be recalculated according to the values entered here. Figure 53: Height of the pallet used during calibration. 6.2.3 - Movement The speed and acceleration parameters of the palletizing process can be configured on this screen.
  • Page 66 Medium: acceleration is limited for large and heavy boxes on a small gripper Slower: acceleration is limited for large or heavy boxes and/or a small gripper Slowest: the most restrictive setting that reduces the acceleration significantly. Figure 54: The speed and acceleration of the robot can be tuned to fit the environment. Note: Always use the lowest possible values that are suitable for the specific palletizing task.
  • Page 67 Figure 55: Box free height, the first section of the robot movement. Approach Distance Defines the length of the last diagonal movement that is used to put the box on its final destination on the pallet (figure 56) with low speed and acceleration. The actual approach distances may be recalculated by the program in run-time when rotation between the pick position and the target position is required.
  • Page 68 Figure 56: Approach and pallet lip are the last robot movements with the box. Waiting Position This is the idle position for the robot while it is waiting for an empty pallet or a product. It is recommended to define this point further away from the pickup position, leaving some space for the operator to reach the conveyor when manual intervention is needed.
  • Page 69: Advanced

    This view contains advanced tuning parameters for the Pally URCap. The view is further divided into "Path planning", "Language" and "System" pages. The Path planning view is for tuning the path planning algorithms of the Pally URCap. Note: Modifying these parameters will fundamentally change the program behaviour.
  • Page 70 Figure 58: Path planning settings. Optimize gripper at pickup Depending on this setting, Pally will evaluate several different gripper orientations at the pickup position and choose the one that fits best to a specific target position. This parameter has special importance when the gripper is offset-mounted. In this case the gripper orientation may have a huge impact on reach and performance.
  • Page 71 2-ways A and C 4-ways A, B, C, D Above pickup Gripper distance from the top of the box, from where the robot will move down vertically until the gripper foam reaches the box surface. At this point the program automatically activates compressed air (if available) to clean the gripper foam and the box surface before picking.
  • Page 72 Figure 61: Illustration of the smart exit search area parameters. High approach boost This value must be between 0% and 100%. It determines how high above the other boxes the alternative path planning algorithm moves the box. Lower values let the box move closer to the top of the other boxes on the pallet, higher values keep the box closer to the box free height (figure 62).
  • Page 73 Figure 63: Illustration of when High approach is used. Load defaults for conveyor placement Selecting an entry in this drop-down list will set default values for the following path-planning parameters: Left pallet smart exit search range X Left pallet smart exit search range Y Right pallet smart exit search range X Right pallet smart exit search range Y High approach boost...
  • Page 74 Czech Dutch English French German Hungarian Italian Norwegian Polish Slovak Spanish Changing the operator language will not have any effect on the Installation and Program pages, and runtime log messages will not be translated. Figure 64: Pally operator language selection. System Settings on the System page should not be modified until it is explicitly requested by the support team to do so.
  • Page 75 Figure 65: Pally system settings. Log level This parameter defines how much information is written into the log file about path planning and robot movement. Error: only errors will be written in the log. Usually the program stops on error. Warning: errors and warnings will be written in the log.
  • Page 76: Callbacks

    Online help This user manual will appear on the teach pendant. RESET ALL TO DEFAULTS All settings in the Pally program will be set to their initial value. 6.3 - Callbacks If additional functionality is required, programs may be added under the callback nodes. E. g. to control warning lights, synchronize other machines by digital outputs, or even send parameters via network interface.
  • Page 77 beforeGrab: Executed when the robot is ready for pick up at the pickup position. Typical uses for this node is to turn on a custom gripper or stop the conveyor. Commands that move the robot to the pick position should be inserted here when a custom path is in use. afterGrab: Executed when the robot has lifted up the box from the pickup position.
  • Page 78 Figure 68 : Example of custom message after a pallet is completed. Figure 69: Shim paper functions can be organized into subprograms. Version 2.9.1 © Rocketfarm AS 2021. All rights reserved.
  • Page 79: Examples: Typical Configuration Scenarios

    6.4 - Examples: typical configuration scenarios 6.4.1 - Classic setup with one optimal pickup position The recommended configuration is shown in figure 70. There is enough room around the pickup position where the robot can move the product towards the pallets. Usually no additional configuration is required.
  • Page 80 ● Choose box_free high enough to move the box freely above the next boxes, as shown on figure 72. Figure 71: Pickup position sideways. The box will be moved above the other boxes on the conveyor. Version 2.9.1 © Rocketfarm AS 2021. All rights reserved.
  • Page 81: One Pallet Position And One Pickup Position On The Opposite Side

    Figure 72: Choose a box free distance that is big enough to move the box above the others. 6.4.3 - One pallet position and one pickup position on the opposite side Setups similar to illustration in figure 73 introduces a few points to be taken into consideration.
  • Page 82: Two Parallel Pickup Positions

    Figure 73: Pickup position and pallet position are on the opposite sides of the robot. 6.4.4 - Two parallel pickup positions For setups similar to the illustration in figure 74, the path planning algorithm needs to be tweaked as described below. ●...
  • Page 83 Figure 74: Two parallel pickup positions. Figure 75: Measure the conveyor dimensions as if they were one big conveyor. Version 2.9.1 © Rocketfarm AS 2021. All rights reserved.
  • Page 84 Note: The robot might have to move the boxes above the other boxes on the other conveyor (figure 76) when palletizing from one pickup position to the opposite pallet. In such projects, set the box_free parameter large enough to move the box above other boxes on the other conveyor if necessary (figure 77).
  • Page 85: Two Opposite Pickup Positions

    Figure 77: Moving the box above boxes on the other conveyor. 6.4.5 - Two opposite pickup positions Setups similar to illustration in figure 78 introduces a few points to be taken into consideration. ● The pickup position should not be in the pallet shadow, i.e. behind a pallet seen from the robot.
  • Page 86: Limited Space, Walls Other Object

    Figure 78: Boxes should travel above other boxes on the conveyor. 6.4.6 - Limited space, walls other object Setups similar to illustration in figure 79 introduces a few points to be taken into consideration. ● Individually configure smart exit for left and right pallet. ●...
  • Page 87: Using The Palletizer Program

    Figure 79: Path planning with fixed smart exit position, to avoid collision with the wall. 7 - Using the palletizer program This chapter will give an introduction on how to use the program. It will describe how to create the main program, how to start the program, how to use the program in different modes, error recovery and shutdown of the robot.
  • Page 88: Using The Program

    7.3 - Using the program Depending on the installation settings for the ‘dual product mode’ option (this is set to ‘true’ or ‘false’ in the Pally installation node → Advanced-tab → Systems-tab, see 6.1.6 Advanced), one of two things will happen once the robot runs the program. Either the single product mode window will open, or the dual product mode window will open.
  • Page 89 Select the pattern that is going to be palletized in the ‘Pattern Selection’-window and press the ‘Start Program’-button to start the palletizing process. Once the robot has palletized at least one box on a pallet, and the program is stopped then restarted;...
  • Page 90: Dual Product Mode

    7.3.2 - Dual Product Mode In this mode, the robot can palletize 1 product type from 1 or 2 pickup positions, or 2 different product types from 2 pickup positions, depending on the daily production plan. From hereafter the following names will be used to describe these cases: 1.
  • Page 91 Figure 82: Pattern Selection for the primary pickup/production line in dual product mode The pattern for the primary pickup is selected first, where the name that is shown after the ‘on production line:’-text in figure 72 is the name that was given to the production line the Pally program node →...
  • Page 92 Figure 83: Pattern selection for the secondary pickup/production line in dual product mode Select the desired pattern that is going to arrive on the secondary production line (i.e the line that is used for the secondary pickup position), then press the ‘Start’-button to start palletizing.
  • Page 93 Dual Product Mode To achieve the case where Pally palletizes 2 product types from 2 pickup positions (i.e the dual product mode), then select different patterns for the primary and secondary production lines and press the ‘Start’-button. This will enable Pally to pick boxes from two production lines and place them on two pallets.
  • Page 94 If the program was running in a dual product mode state, i.e palletizing two different product types from two production lines; then the ‘Continue existing pallet’-window will look like the figure below. The progress of each pallet with its subsequent pattern is shown. Figure 85: ‘Continue existing pallet’...
  • Page 95: Partial Pallet

    Figure 86: Pattern selection window when changing patterns on a specific line in dual product mode To select a new pattern, and subsequently reset the pallet, select a pattern from the list and press the ‘Save’-button. Press ‘Back’ to keep the current pallet as is. It is also possible to stop using the production line by unchecking the ‘Production line in use’-checkbox.
  • Page 96: Edit Total Boxes

    1. Edit the total boxes in the pattern 2. Edit the start conditions in the pattern a. Edit the start layer b. Edit the start box on the specified start layer These two features are explained in more detail below. 7.3.3.1 Edit Total Boxes Figure 87: Edit the total boxes palletized on the first pallet In order to palletize an incomplete pallet, type in the desired number of boxes in the input...
  • Page 97: Edit Start Conditions

    7.3.3.2 Edit Start Conditions Figure 88: Edit the start conditions for the palletizer on the first pallet In order to start palletizing from a different start condition than on the first box on the first layer, enter new values into the input fields below the ‘Start on box number’-label and the ‘Start on layer number’-label respectively.
  • Page 98: Recovery From Error

    7.4 - Recovery from error When the program stops and must be started again, remove any boxes from the gripper and turn off the vacuum. Using freedrive, move the robot into a position that is close enough to the default wait position, so the robot can start without collision. 7.5 - Shutting down the robot Use the special product type "exit"...
  • Page 99: Project Overview

    ● layer types (see Layer types) ● layers (see Layers) ● zones (see Zones) 8.2 - Project overview This section of the pattern file includes base data about the product itself, such as ● the dimensions (width, length, height) of the pallet, mm: ●...
  • Page 100: Layer Types

    "maxGrip": 1, "maxGripAuto": true, "labelOrientation": 0, Figure 90: the project overview 8.3 - Layer types Layer types define possible layouts of individual layers. Depending on the desired stacking method, the pallet can be built by using the same layer type repeatedly (column stack) or alternating two or more different layouts (flipped, rotated, etc.) in order to create interlocking between the layers for increased stability.
  • Page 101: Box Position

    [...] Figure 91: layer types 8.3.1 - Box position Each box has a specific position (the "x" and "y" values) relative to the pallet corner. The edges of the pallet define a Cartesian coordinate-system with the origo in the lower left corner.
  • Page 102: Gripper Rotation At Pickup

    Any combinations of the following values are allowed: 0, 90, 180, and 270, where 0 corresponds to the configured pickup position in the URCap, other values are angles, counterclockwise when seen from above.
  • Page 103: Inverse Approach

    8.3.7 - Inverse approach For each layer type it is possible to define how the robot should approach the target position (the "approach" value corresponds to the right, and the "altApproach" to the left pallet layout). The approach direction should depend on the box order - palletizing from the furthest side of the pallet and in ("normal") or starting at the nearest side and continuing further out ("inverse").
  • Page 104 Each zone definition can contain a position transformation hint (the "posData" array) which may be used by the Pally URCap to control a lifting column. The posData value is optional, and the program will not control the lifting column unless the value is explicitly defined.
  • Page 105: Conditions

    8.5.2 - Position transformation Each zone can define a position transformation hint, which may be used by the Pally URCap to control a lifting column and/or a base slider. Before the robot starts palletizing the specified zone, the external hardware is controlled by the Pally program to put the robot into the desired mounting position.
  • Page 106: Advanced Configuration Variables

    In addition, as the JSON-files are uploaded onto the robot, all existing json files from the robot will be backed up in a folder labeled ‘backup.{date}’ on the supplied USB-stick. 9 - Advanced configuration variables All settings on the Pally graphical configuration panels are translated into URScript local variables, which - along with some additional variables - determine the final behavior of the palletizer program.
  • Page 107: Speed And Acceleration

    9.4.1 - Speed and acceleration Name Description Reference rf_max_acceleration Maximum acceleration Program / Movement / Speed / Acceleration rf_speed Maximum tool speed Program / Movement / Speed / Speed rf_precise_acceleration Approach acceleration Program / Movement / Speed / Approach Acceleration rf_precise_speed Approach tool speed Program / Movement / Speed /...
  • Page 108: Path Planning

    guide width rf_guide1_dir Primary pickup fixed Program / Pickup / Primary guide position rf_boxpickup_2 Secondary pickup Program / Pickup / Secondary calibration point rf_con2_w Secondary pickup Program / Pickup / Secondary conveyor total width rf_guide2_w Secondary pickup fixed Program / Pickup / Secondary guide width rf_guide2_dir Secondary pickup fixed...
  • Page 109 rf_smart_exit_p1_min_y Right pallet smart exit Program / Advanced / Path Y lower limit planning rf_smart_exit_p1_max_y Right pallet smart exit Program / Advanced / Path Y upper limit planning rf_smart_exit_p2_min_x Left pallet smart exit X Program / Advanced / Path lower limit planning rf_smart_exit_p2_max_x Left pallet smart exit X...
  • Page 110: Gripper

    optimization and Dual Product mode. May improve performance. 9.4.4 - Gripper Name Description Reference rf_gripper_width Gripper width in meters Installation / Gripper / Dimensions rf_gripper_length Gripper length Installation / Gripper / Dimensions rf_gripper_height Gripper height Installation / Gripper / Dimensions rf_gripper_weight Gripper weight in kg Installation / Gripper / Dimensions...
  • Page 111: Other/Special

    at the top as a safety margin in dynamic positioning calculations. rf_lift_safe_down Fraction of the total Default: 0.05 stroke that is reserved at the bottom as a safety margin in dynamic positioning calculations. rf_lift_alt_boost Preferred lifting column Default: 1 (keep as high as position as a fractional possible) number between the...
  • Page 112 combination with user-defined path) rf_blend Blend radius in linear Default: 0.3 movements as a Recommended values: 0 - 0.3 fraction of the distance between subsequent waypoints. rf_safe_reach Workaround for a UR Default: 0.01 bug where the inverse kinematics calculations may throw an exception rf_use_movej The robot uses joint...
  • Page 113 rf_joint_deviation_max Maximum allowed Default: 0.0043 (in radians) difference (in radians) between actual joint positions and target joint positions while the gripper is being operated during pickup and release. Setting to 0 will disable joint deviation monitoring at this point. rf_joint_deviation_err Maximum allowed Default: 0.0001 (in radians) difference (in radians)
  • Page 114: Palletmanager Daemon Process

    10 - PalletManager daemon process The PalletManager daemon is a process that runs in the background, making it possible to keep the pallet completion state when the robot program is stopped and continue from the same position when the program is started again. In this chapter you will find the most common functions of the daemon that are useful for advanced palletizing solutions.
  • Page 115: Pallet Completion State

    10.4 - Pallet completion state To obtain the current pallet completion state (progress indicator) use the following method: pallet_state = palletmanager_daemon.get_pallet_state(0) The method has one input parameter that is reserved and must be 0. The result is an array with 3 elements: total number of boxes, number of boxes completed, number of boxes not completed.
  • Page 116: Troubleshooting

    11 - Troubleshooting In this chapter you will find the most common questions and answers about the Pally urcap. Symptom Solution Unexpected safety stop before Move the calibrated pickup position higher pickup Check product height Unexpected safety stop after pickup...
  • Page 117 position over and over again properly configured Ensure the TaskCompleted variable is properly used in the callbacks 12 Too long delay at pick position Adjust the rf_grip_delay value Check the vacuum sensor feedback Disable the vacuum sensor feedback 13 Too long delay at drop position Adjust the rf_grip_release_delay value...

Table of Contents