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...
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...
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"...
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.
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.
● 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:...
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.
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.
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.
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.
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.
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.
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.
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...
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.
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).
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.
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: ●...
● 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.
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.
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.
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...
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. ●...
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.
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.
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.
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.
"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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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 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).
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.
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. ●...
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.
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;...
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’...
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.
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...
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.
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"...
● 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: ●...
"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.
[...] 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.
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.
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.
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.
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.
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 /...
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...
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)
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.
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.
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...