An Off-Line Programming System For Palletizing Robot: Youdong Chen, Ling Li, and Wei Tang

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Research Article

International Journal of Advanced


Robotic Systems
September-October 2016: 1–7
An off-line programming system ª The Author(s) 2016
DOI: 10.1177/1729881416657744
for palletizing robot arx.sagepub.com

Youdong Chen1, Ling Li2, and Wei Tang3

Abstract
Off-line programming systems are essential tools for the effective use of palletizing robots. This article presents a
dedicated off-line programming system for palletizing robots. According to the user practical requirements, there are
many user-defined patterns that can’t be easily generated by commercial off-line robot programming systems. This study
suggests a pattern generation method that users can easily define their patterns. The proposed method has been
simulation and experiment. The results have attested the effectiveness of the proposed pattern generation method.

Keywords
Palletizing pattern, path planning, off-line programming

Date received: 21 August 2015; accepted: 21 May 2016

Topic: Robot Manipulation and Control


Topic Editor: Andrey V Savkin

Introduction palletizing robot, such as RobotStudio Palletizing Power Pac


6.036 and KUKA.PalletTech, are developed by the robot
Recently, palletizing robots have been widely used in the
company, but these systems neglect the user requirement
feed processing, food processing, and others palletizing
and can’t provide user-defined pattern. For the practical use
cases to increase the efficiency and lower the costs. In the of the proposed palletizing pattern generation system, a user-
palletizing plants, the product sizes are a continuing diver-
defined pattern should be in this system, and the user pattern
sification and the loading patterns vary greatly. In practical
can be stored in its own pattern. A graphic environment was
industrial applications, there are two main categories of
developed to allow the user to configure the pattern,7 but it’s
robotic programming methods to generate the loading
too simple to meet the complex pattern.
patterns. The first involved an online operation for the
In this article, we introduce a dedicated OLP system for
robot, using a teach pendent to input the motion command
palletizing robot and describe the major algorithms
lines one by one. This is very cumbersome and time con-
developed for the system. This system allows user to define
suming. Moreover, the teaching involves trial and error that patterns to generate the motion program, which can meet
greatly affects the accuracy of the teaching points. The
the user special requirements.
second is an off-line programming (OLP) that generates
task data using a computer and downloads them to the robot
controller. The OLP systems are widely used to reduce idle 1
Beihang University, Beijing, China
time of the robots and improve the production efficiency.1–3 2
School of Mechanical Engineering and Automation, Beihang University,
Currently, various commercial off-line robot programming Beijing, China
3
systems are available, such as RobCAD 9.0 and Delmia V5.4 School of Mechanical, Hefei University of Technology, Hefei, Anhui,
These commercial systems provide general functions for China
OLP, but these systems can’t be used in the typical Corresponding author:
palletizing robot, that is, a four-degree-of-freedom spatial Youdong Chen, Beihang University, Beijing 100083, China.
parallelogram linkage.5 Some dedicated OLP systems for Email: chenyd@buaa.edu.cn

Creative Commons CC-BY: This article is distributed under the terms of the Creative Commons Attribution 3.0 License
(http://www.creativecommons.org/licenses/by/3.0/) which permits any use, reproduction and distribution of the work without
further permission provided the original work is attributed as specified on the SAGE and Open Access pages (https://us.sagepub.com/en-us/nam/
open-access-at-sage).
2 International Journal of Advanced Robotic Systems

merges the surface of the current layer into the valid region
Pattern User-defined patterns for the upper layer by the algorithm of the region genera-
generation
Overlapped region check
tion, and finally generates the user patterns.
G5 heuristic
Region generation

pattern
User-defined patterns
The pattern is consisted of pallet data, production data,
Motion motion planing
properties, and layer data, as shown in Figure 2. The
planning Collision-free algorithm pallet data includes length, width, and height. The pro-
duction data is comprised of length, width, height, and
kinematics
simulator weight of boxes or products. The pattern properties are
dynamics consisted of layer number, the odd and even layers. The
layer data describes the position of productions in pallet
Robot program postprocessing and the topology of productions in pallet. The user-
generation
Robot program defined patterns stored in XML files, which can meet
many customer demands. The XML file format is shown
in Figure 3.
Figure 1. System structure.

System design Algorithm for overlapped area check


OLP system for palletizing robot consists of pattern gen-
Pallet patterns determine the layout that loads small items
eration, motion planning, simulation, and motion program
(i.e. boxes or products) onto a large rectangle objects (i.e.
generation, as shown in Figure 1. Pattern generation com-
pallet or container) without overlapping. This can be
bines the user-defined pattern and G5 heuristic to auto-
interpreted as geometric assignment problems, in which
matically generate the palletizing pattern. G5 heuristic
three-dimensional (3-D) small items have to pack into
finds the optimal solution of pallet loading problem that
rectangular large objects. If the user-defined patterns are
maximizes the number of boxes placed on a rectangular
feasible, they are not overlapped at the same layer. Figure 4
pallet. 8 In order to meet the practical demands, user
shows the infeasible pattern due to the overlapped area. We
defines the patterns with XML format stored in files. The
proposed an algorithm to find whether the products were
pattern generation decodes the user-defined pattern file,
overlapped.
checks overlapped area to achieve region for the upper
Let A ¼ fa0, a1, a2, a3g and B ¼ fb0, b1, b2, b3g be two
layer, and generates pallet patterns. Motion planning
rectangles, whose vertices are specified by their Cartesian
finds collision-free paths between the gripping point and
coordinates in clockwise order. The coordinate of rectangle
the place-down point in the configuration space to palle-
A vertices can be expressed as fxai ; yai g ði ¼ 0; 1; 2; 3Þ. The
tize the productions. Simulator calculates the velocity
coordinate of rectangle B vertices can be expressed as
and acceleration of gripper to simulate the user-defined
fxbi ; ybi g ði ¼ 0; 1; 2; 3Þ. Let
motion. Once the simulation is passed, motion program
generation is carried out. Code for robot motion, pro- xamin ¼ minðxai Þ; xamax ¼ maxðxai Þ;
cess data, and so on is integrated into a complete robot 0i3 0i3
(1)
program. yamin ¼ minðyai Þ; yamax ¼ maxðyai Þ
0i3 0i3

Pattern generation xbmin ¼ minðxbi Þ; xbmax ¼ maxðxbi Þ;


0i3 0i3
(2)
There are three methods to generate patterns. The first ybmin ¼ minðybi Þ; ybmax ¼ maxðybi Þ
method involved an online generation using a teach- 0i3 0i3
pendent to generate them or predetermined pattern. The
second method is an off-line method that generates patterns
using user-defined product topology and data. The last Proposition 1. If rectangles A and B have overlapping
method is an optimized pallet pattern generation algorithm area, there are maxðxbmin ; xamin Þ < minðxbmax ; xamax Þ and
G5 heuristic to generate a loading pattern. We focus on off- maxðybmin ; yamin Þ < minðybmax ; yamax Þ.
line patterns generation using user-defined product topol- This proposition can be used to determine whether the
ogy and data. The patterns generation module decodes the products are overlapping. The algorithm is used recur-
user-defined patterns stored in the XML files, checks fea- sively to estimate the overlapping of the products in the
sible patterns by the algorithm of the overlapped area, same layer.
Chen et al. 3

pallet pattern

Pallet data Production data property Layer data

Box or Odd Layer Production number


length width height length width height weight number and
products even No of layer

Production
Production
production no adjacent production vertex no offset angle
production no vertex no vertx cordinates angle
adjacent production no directed edges

Figure 2. The pallet pattern data.

<?xml version="1.0" encoding="gb2312" ?>


<start>
<pallet>// pallet informaon
<length>1.3</length><width>1.1</width><high>10</high><tag>0</tag>
</pallet>
<cargoinfo>//cargo infomaon
<length>0.5</length><width>0.3</width><high>0.25</high><tag>001</tag>
<weight>5</weight>
</cargoinfo>
<type>//paern informaon
<totallayer>3</totallayer>//layer number
<parity>1</parity>// parity
</type>
<floor id="0">//even layer
<num>9</num>//the total number of producon of one layer
<cargo id="0">//No. 0 producon
<node id="0"><x>0</x><y>0</y><z>0</z></node><angle>0</angle>
</cargo>
<cargo id="1">//No. 1 produciton
<neigh><index>0</index><bian>32</bian><dian id="0">0</dian></neigh>
<angle>0</angle>
</cargo>
……
</floor>
</start>

Figure 3. XML file format.

Algorithm for region generation Motion planning


The upper layer products must place on the current layer
products. So the valid region of the current layer should be Palletizing robot
calculated. Polygon merging algorithm can be used to cal- The palletizing robot is shown in Figure 5, which is a four-
culate the valid regions. The polygon merging algorithm degree-of-freedom spatial parallelogram linkage. There are
can be described how to merge the adjacent rectangles into two rotational and two transitional movements. The wrist
a polygon. That is how to merge a rectangle into a polygon. represents the rotation of the entire manipulator around the
This article adopts the algorithm described in the study by rotational axis at the base. The other is the gripper’s rota-
Zalik.9 tion around its own axis. The first transitional movement
4 International Journal of Advanced Robotic Systems

B B
B Y0
A
A C

(a) (b) obstacle


Overlapped area
A
dmin
Figure 4. Overlapped area cases. (a) case 1 and (b) case 2.
D

O0 θ0 θ1 θ2 θ3 X0

Figure 6. Obstacle.

The angles at vertex O0 enclosed by the rays O0X0 and


O0A, the rays O0X0 and O0B, the rays O0X0 and O0C, and
the rays O0X0 and O0D are y0, y1, y2, and y3, respectively.
The angle range at vertex O0 enclosed by the lines from
point O0 to the vertex of the rectangle is expressed by y,
y 2 ½y min ; y max 

y min ¼ minðy0 ; y1 ; y2 ; y3 Þ
Make (3)
y max ¼ maxðy0 ; y1 ; y2 ; y3 Þ
Figure 5. Palletizer robot schematic structure.10
If y max  y min >¼ 180 , make

represents the gripper’s up and down along the vertical y min ¼ minðFðy0 Þ; Fðy1 Þ; Fðy2 Þ; Fðy 3 ÞÞ
(4)
lines. The other is the gripper’s forward and backward in y max ¼ maxðFðy0 Þ; Fðy1 Þ; Fðy2 Þ; Fðy3 ÞÞ
the horizontal plane.
where F
In most cases, palletizing robot repeatedly picks up the

product from the conveyor belt and places it to the stacking x; 0  x  180
pallet. The motion planning problem for palletizing robots FðxÞ ¼ (5)
x  360; 180  x  360
is typically formulated as follows: gives a robot and a
description of task and plans path of the robot between the The minimum distance dmin from the origin O0 to the
conveyor belts to the stacking pallet. The path is collision obstacle is the minimum distance from the origin O0 to the
free and satisfies certain requirements on motion accuracy underside of the smallest enclosing cuboid. For the under-
and efficiency. Traditionally, there are two approaches to side is a rectangle, the distance dmin is the minimum dis-
solve the problem: off-line planning and online planning. In tance from the origin O0 to the edge of the rectangle.
this article, we consider the off-line motion planning. The
palletizing robot plans the motion by taking into account
the position and orientation of pallet, obstacles, and the Operation cycle
kinematics constraints.
The palletizing order should be planned in the system and
planned in the same layer. There are two rules to plan the
palletizing order.
Obstacle
If there is an obstacle, it is surrounded by the smallest Rule 1: The more the palletizing place is far away from
enclosing cuboid whose length, width, and height (LWH) the base, the more palletizing place is stacked early.
are a0, b0, c0, respectively. The underside of the smallest Rule 2: The more the palletizing place is surrounded by
enclosing cuboid lies in the X0O0Y0, which is a rectangle products, the more palletizing place is stacked early.
whose vertices are A, B, C, and D, shown in Figure 6. In
order to check the obstacle quickly, we should obtain The two rules guarantee the palletizing order. The prod-
the minimum distance from the origin O0 to the obstacle, uct is stacked from far to near.
and the maximum angle at vertex O0 enclosed by the lines One typical operation cycle is shown in Figure 7. The
from O0 to the vertices of the rectangle. operation cycle can be divided into six steps.
Chen et al. 5

Step 1 Step 2 Y
Picking-up Preparing picking- Preparing place-
point S Step 6 up point S0 Step 5 down point F0
Step 3 Step 4

Place-down point F
X

Figure 7. Operational cycle.

Step 1: Picking up the load. The robot grips the produc-


tion at the picking-up point S and lifts the load to the
Figure 8. XOY view.
preparing picking-up point S0.
Step 2: Movement with the product. The robot moves the
product to the preparing place-down point F0. The
if xs 2 þ ys 2 < xf 2 þ yf 2 ;
point F0 varies every cycle. sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
  ffi
Step 3: Placing down the product. The robot goes down a1 2 b1 2
to place-down point F and place down the product. D¼ jxf j þ þ jyf j þ
2 2
The point F varies every time.
Step 4: Lifting empty. The robot goes back to the point When the projection of the obstacle in the XOY plane
F0. The point F0 is the same with that of this cycle lies in the interior of the circle of radius D, the wrist, griper,
step 2. and other parts of the robot may collide with the obstacle. If
Step 5: Moving back. The robot goes back to the point S0. the materials are low enough, they are not obstacles.
Step 6: Picking up the product. Once the product comes, If there is obstacle, lift the production to height H1. H1
the robot goes down to pick up the product at the S. can be obtained as follows
z 0 þc 0 < minfZs ; Zf g  c 1 þ H1  z max (7)
Path planning
The palletizing operation cycle is divided into six steps. In Non-obstacle
order to guarantee safety, steps 1, 3, 4, and 6 need Z axis
If the equation(6) is not met, there is non-obstacle. The
movement. The palletizing robot moves with high speed
trajectory planning is similar to that of obstacle. The dif-
and high efficiency. The steps 2 and 4 need multi-axis
ference is that non-obstacle trajectory planning does not lift
movement. May have or not obstacles in the environment.
the products H1.
Given the production LWH are a1, b1, and c1, respectively.
The coordinate of preparing grip point S0 is xs, ys, and zs.
The coordinate of preparing place point F0 is xf, yf, and zf. Simulation and experiment
Development of 3-D robot simulator
Obstacles
We implemented the 3-D robot simulator based on the
In X0O0Y0 plane, the workspace of the robot is a part of dimensional data of our real target machine, the CBT90,
circularity, as shown in Figure 8.10 The workspace is which is a four-axis industrial robot of Beijing CBT-BOT
denoted by o. Technology Co., Ltd, China. This robot model is realized
If the following constraints are met, there is obstacle by a commercial CAD solidworks 2013, and the Graphical
8 user interface is developed, using OpenGL 2.0 and QT4.7.
>
> minfzs ; zf g  c 1  z 0 þc 0  z max
< The simulator is composed of simulation, pallet pattern
maxfzs ; zf g  z max
(6) generation, and path planning.
>
> D  d min
:
o \ y 6¼ 
Pallet pattern generation
where zmax is the maximum height that the robot can reach,
which equals to the Z coordinate value of the highest point The user-defined pattern is shown in Figure 9. The pro-
of the workspace in the coordinate system O0X0Y0Z0 duction LWH is 500 mm, 300 mm, and 250 mm. The pallet
LWH is 1300 mm, 1100 mm, and 750 mm. Odd and even
where; if xs 2 þ ys 2  xf 2 þ yf 2 ; layers are different. The layer number is 3. The pattern
sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
  XML file is shown in Figure 3. The system reads the XML
 a1 2 b1 2
D¼ jxs j þ þ jys j þ file, analyses the XML file to get the production informa-
2 2 tion in each layer, checks the overlapped area to determine
6 International Journal of Advanced Robotic Systems

Figure 9. The pattern generation. Grey box: production, Blue line: connecting the centers of the adjacent production, Green region:
the valid region after merged. (a) Production information, (b) odd layer pallet pattern, and (c) even layer pallet pattern.

whether the pattern is reasonable in each layer, generates


the valid region for each layer to determine whether the
pattern is feasible in the upper layer, and finally generates
the pallet pattern, as shown in Figure 9(a). Figure 9(b) and (c)
shows the odd and even layers pattern, respectively. The cen-
ters of the adjacent production are connected by blue lines.
The green dotted region is the valid region for upper layer.

Simulation
According to the pattern XML file and the environment, the
system plans the path to generate the end-effector motion.
We simulate two cases: obstacle and non-obstacle. The
coordinates of pallet vertex are (500 mm, 500 mm, and
200 mm), (500 mm, 1600 mm, and 200 mm), (1800 mm,
500 mm, and 200 mm), and (1800 mm, 1600 mm, and 200
mm), respectively. The coordinates of the obstacle vertex
are (500mm, 0mm, 600mm), (500 mm, 700 mm, and 600 Figure 10. Non-obstacle simulations.
mm), (1500 mm, 500 mm, 600 mm), and (1500 mm, 700
mm, 600 mm), respectively. The coordinate of the grip
point is (1000 mm, 1000 mm, and 125 mm). Figure 10
shows the simulation that there is no obstacle. The robot
grips the production at the grip point, lifts the production to
the preparing grip point, moves to the preparing place
point, and finally puts down to the pallet. Figure 11 shows
the simulation that there is obstacle. Unlike the Figure 10,
the robot lifts the production to the safe height, so that it
does not collide with the obstacle.

Experiment
Robot programs for handling liquor was effectively gener-
ated using the developed OLP software. The generated
robot programs were optimized such that joint limits
were avoided during the handling process. A major user
interface for robot OLP as well as an example of the robot
is shown in Figures 9 and 10. The generated programs
were further downloaded into the CBT-BOT 90 robot con-
troller to perform the handling tasks. From the experiments,
it was observed that the position errors of robotic handling Figure 11. Obstacle simulations.
Chen et al. 7

Funding
The author(s) disclosed receipt of the following financial support
for the research, authorship, and/or publication of this article: This
work is supported by the national key technology R&D program
(grant no. 2014BAF04B01).

References
1. Mitsi S, Bouzakis KD, Mansour G, et al. Off-line program-
ming of an industrial robot for manufacturing. Int J Adv
Manuf Tech 2005; 26: 262–267.
2. Zhu W, Qu W, Cao L, et al. An off-line programming system
for robotic drilling in aerospace manufacturing. Int J Adv
Manuf Tech 2013; 68: 2353–2545.
3. Ahrens G and Pageau G. Trends in the robotic simulation
industry. Assembly Autom 2002; 22(3): 230–234.
Figure 12. The robot handling liquor. 4. Pan Z, Polden J, Larkin N, et al. Recent progress on program-
ming methods for industrial robots. Robot CIM-Int Manuf
2012; 28: 87–94.
were +0.5 mm, which is acceptable for the liquor han-
5. Luan N, Zhang H, and Tong S. Optimum motion control of
dling. The pallet pattern was of the liquor put by the experi-
palletizing robots based on iterative learning. Ind Robot 2012;
mental palletizer robot was good, see Figure 12.
39(2): 162–168.
6. RobotStudio 6.0. Operating manual Palletizing PowerPac,
Conclusions ABB AB Robotics Products Document ID: 3HAC042340-
The strategy for user-defined pattern generation for palle- 001, 2014.
tizing robot is suggested. In the suggested method, as a 7. Dzitac P and Mazid A Md. An efficient control configuration
means to generate the palletizing robot pattern, the gener- development for a high-speed robotic palletizing system. In:
ation pattern reads the user-defined pattern files, checks Gulin Yang (ed) IEEE Conference on Robotics, Automation
overlapped area, achieves region for the upper layer, and and Mechatronics, IEEE: Chengdu, China. 21-24 September
generates pallet patterns. Through the simulations and 2008, pp. 140–145.
experiment method, the feasibility of the proposed method 8. Martins GHA and Dell RF. Solving the pallet loading prob-
is investigated and confirmed that it is effective in the user- lem. Eur J Operat Res 2008; 18(4): 429–440.
defined pattern generation. 9. Zalik B. Merging a set of polygons. Comp Graph 2001; 25:
77–88.
Declaration of conflicting interests 10. Fengyan N and Chao Y. Structure design and workspace
The author(s) declared no potential conflicts of interest with respect analysis of MJR pallizer robot. Hist Mech Technol Mech Des
to the research, authorship, and/or publication of this article. 2008; 1(7): 177–182.

You might also like