1 INTRODUCTION 2. FAST ALGORITHM Robot ...

201 downloads 0 Views 1MB Size Report
Oct. 18-21, 2006 in Bexco, Busan, Korea. 1 INTRODUCTION. This paper will focus on palletizing, which is a form of unitizing. Palletizing refers to a uniform load ...
SICE-ICASE International Joint Conference 2006 Oct. 18-21, 2006 in Bexco, Busan, Korea

Robot Palletizing Simulation Using Heuristic Pattern Generation and Trajectory Optimization SungJin Lim1, SeungNam Yu2, MaingKyu Kang3 and ChangSoo Han4 1

Department of Mechanical Engineering, Hanyang University, Seoul, Korea (Tel : +82-31-400-4062; E-mail: [email protected]) 2 Department of Mechanical Engineering, Hanyang University, Seoul, Korea (Tel : +82-31-400-4062; E-mail: [email protected]) 3 Department of Industrial Engineering, Hanyang University, Seoul, Korea (Tel : +82-31-400-5110; E-mail: [email protected]) 4 Department of Mechanical Engineering, Hanyang University, Seoul, Korea (Tel : +82-31-400-5247; E-mail: [email protected]) Abstract: Palletizing task is necessary to promote efficiency of keeping and shipping task. This is, however one of the most monotonous and heavy laborious work in the factory. So, many types of Robot palletizing system have been developed. But many robot motion commands is still depends on the teach pendent. That is, the operator input the motion command line one by one. It is very troublesome and most of all, user must know how to type the code. So we propose the new GUI Interface of Palletizing System that can be used more conveniently. To do this, we use the algorithm of PLP, "Fast Algorithm" and realize the 3-D Auto-Patterning Visualization. The usages of 3-D pattern are following. First, an operator can identify the result of own task and edit it. Second, pass the position value of objects to a robot simulator. Using that position, palletizing operation can be simulated. We use the "Hyundai HHI series®" and analyze the kinematics and dynamics to realize into a robot simulator. In this paper we propose the 3-D patterning algorithm and 3-D robot palletizing simulator, and apply the A* algorithm to find the optimal robot trajectory. Keywords:

PLP(Pallet Loading Problem), Fast Algorithm, Pallet loading Pattern, A* Algorithm, Robot Simulator

1 INTRODUCTION This paper will focus on palletizing, which is a form of unitizing. Palletizing refers to a uniform load stacked on a wooden pallet, using a pre-determined case pattern sequence and given number of layers [1]. (Fig.1)

Fig. 2 Proposed schematic of Palletizing simulator

Fig. 1 Robot Palletizer The process of palletizing typically involves the stacking of boxes, trays, bundles, bags, pails or drums in a predetermined pattern configuration. This paper will focus on the use of boxes only, as they make up the vast majority of palletizing application. Actually, the number of case patterns that can be programmed into a fully automatic palletizer is virtually limitless; however, when a pattern is programmed into a palletizer, it is not simply a software change in the controller itself. One of the biggest problems of manufactures is building loads to customer’s specifications.

We propose the off-line robot palletizing simulator to combine ‘Fast Algorithm’ and 3-D robot simulator using trajectory optimization algorithm. Fig.2 shows basic schematic of this simulator.

2. FAST ALGORITHM 2.1 Steudel’s Heuristic Algorithm The objective of the pallet loading problem (PLP) is to maximize the number of products loaded onto a pallet that is used for the transportation and storage of products. We can reduce the distribution and storage costs of product by increasing pallet utilization. Fast Algorithm proposed in this study is basically,

SICE-ICASE International Joint Conference 2006 Oct. 18-21, 2006 in Bexco, Busan, Korea improved algorithm to compare with the 4-block pattern heuristic algorithm which proposed Steudel.

process to generate the initial solution of 4 patterns. And additionally, we adapt our Treatment 3 to apply the heuristic recursively to the central hole in the following three methods to remove the overlapped area. (Fig.6)

Fig. 3 Steudel’s Heuristic Algorithm Typical pattern of Stuedel’s heuristic algorithm represented Fig.3. This heuristic finds the 4-block pattern where each block is a homogeneous pattern with the same box orientation [2]. This heuristics consist of two phases. First, an initial solution is made with the combination of Li and Wi that maximizes the utilization of all four pallet edges. Dynamic programming (DP) was applied to find the combination and the initial solution has one of the four patterns shown in Fig.4. An initial solution that has a central hole sufficiently large to load more than one box in the case of P1 and P3, or an infeasible pattern, such as P2 and P4, due to the overlapped area,

Fig. 6 Treatment of the Fast Algorithm (1) In the first method: the boxes that are cut by the two horizontal edges of the overlapped area. (2) In the second method: the boxes that are cut by the two vertical edges. (3) In the third method: the boxes that are cut by the left vertical edge and the lower horizontal edge. 2.2.2 Schematic of Fast Algorithm We do not consider the all size of blocks; therefore this algorithm has more rapid calculation time. First phase’s initial solutions find the combination rather than using DP and define the 4 parameters. (Fig.7)

a : When maximize the length of block and dispose the boxes lengthwise, maximal possible number of box = 5l

a : When maximize the length of block and dispose the boxes lengthwise, minimal possible number of box = 2l Fig. 4 Four patterns of the initial solution This will involve the second phase. In the second phase, Treatment 1 is Fixing ( L3 , W3 ) and ( L4 , W4 ), resize L1 and L2 and Treatment 2 is Fixing ( L1 , W1 ) and ( L4 , W4 ), resize W2 and W3 . We can choose the better solution to compare the first and second method.

(a)

b : When maximize the width of block and dispose the boxes lengthwise, maximal possible number of box = 8w

b : When maximize the width of block and dispose the boxes lengthwise, minimal possible number of box = 2w

(b)

Fig. 5 Treatment of Steudel’s Algorithm (a) Treatment 1, (b) Treatment 2 2.2 The Fast Algorithm 2.2.1 Definition The Fast Algorithm which we proposed has similar

Fig. 7 A Parameters of Fast Algorithm In the first phase, make combinations of (L1, W1) such as ( a, b) , ( a, b) , ( a, b ) and ( a, b) and given ( L1 , W1 ) is the width and length of the other blocks can be determined.

SICE-ICASE International Joint Conference 2006 Oct. 18-21, 2006 in Bexco, Busan, Korea

  L − L1  W − W1   ( L2 , W2 ) = ( L4 , W4 ) =    l   w,   w   l  

( L3 ,W3 ) = ( L1 ,W1 )

we developed GUI interface for a pallet loading problem using Fast Algorithm (Fig.8) and Fig.9 shows the calculated target position of each box.

(1) (2)

After making the four initial solutions in the first phase, redefine these solutions by applying the three treatments in the second phase 2.2.3 Computational Experience We implemented the algorithm in Visual C++ 6.0 and compiled it with the maximized-speed option. Table 1 The test result problem of small size (L,W,l,w) Amount of box loaded (1000,1000,205,159) 30 (1000,1000,200,150) 33 (22,16,5,3) 23 (30,22,7,4) 23 (14,10,3,2) 23 (53,51,9,7) 42 (34,23,5,4) 38 (57,44,12,5) 41 (87,47,7,6) 97 (1200,800,176,135) 38 (L: Length of Pallet, W: Width of Pallet l: Length of Box, w: Width of Box) Upper result acquired from a computer of K6-350MHz CPU and 64MB RAM. All problems were calculated within 1 second and resulted in optimal solutions [2]. This algorithm test is about two dimensional pattern generation of boxes and its calculation speed. To use this algorithm, however, consider the three dimensional space and physical constraint of box loading. To realize this, we consider the three constraint condition of palletizing, which is approach direction of robot hand to the pallet, multiple box gripping and weight center of palletized boxes. More information about this condition is referred to [3].

Fig. 9 Box target position (Robot Coordinates)

3. THE DEVELOPMENT OF 3-D ROBOT SIMULATOR 3.1 Overview For an industrial robot, to generate the palletizing task, several methods had been introduced and used. First one is On-line teaching the robot using teach pendent or mimic and memorize the worker’s motion. Second one is Off-line method which is to generate task data using computer and download it to the robot controller. Especially, we focus to the Off-line task generation and simulation using robot simulator. In this phase, we represent three dimensional robot simulator based on the dimension data of our real target machine, HX300 which is a 6-axis industrial robot of Hyundai Heavy Industrial Co. This robot model is realized by commercial CAD modeler, and GUI interface is developed using OpenGL® and MFC of Microsoft Visual C++®. To solve and analyze the forward and inverse kinematics equation, we use D-H table and Lagrangian Dynamic Equation. And this simulator is possible to compute and display the joint torque, angle, angular acceleration simultaneously. 3.2 Computation and Development of Robotic system We solve the transformation matrix of each joint space and derive the inverse kinematical equation. And we compute the energy equation of potential and kinetic energy of system using Lagrangian equation; finally we acquire the following equations (More detail equations are referred to [4-5])

Fig. 8 Pallet Pattern Generation Software To use this algorithm to the industrial robot system,

U ij =

∂Ti ∂ ( A1 A1 " A j " Ai ) = ∂q j ∂q j

(3)

SICE-ICASE International Joint Conference 2006 Oct. 18-21, 2006 in Bexco, Busan, Korea

4. CONFIGURATION SPACE

K i = ∫ dK I   i i 1 T = Trace ∑∑ U ip ( ∫ ri ri dmi ) ⋅ U irT q p q r  2   p =1 r =1 (4) ( Ai : transformation matrix of i th joint space

qi : i th joint angle) 1 6 i i L = K + P = ∑∑∑ Trace(U ip J iU irT )q p q r 2 i =1 p =1 r =1 +

6 1 6 I i ( act ) q i2 − ∑ [− mi q T ⋅( 0Ti ri )] ∑ 2 i =1 i =1

(5)



T

( J i : Pseudo inverse matrix to express ‘ ri ri dmi ’

Palletizing task, generally, is composed of several palletizing components. These are auxiliary, but on the other hand, they are obstacle for the palletizing robot. The goal of this study is to find the optimal path considering obstacles hence we apply the concept of configuration space to solve this problem. The configuration means variables to express a position and direction of object exactly, and configuration space means all of the space where configurations are possible to acquire [6]. Using this concept, define a coordinate for configuration. In this coordinate, each point approached by robot gripper is expressed by joint angles (configuration; posture) of robot palletizer. Each set of configuration are displayed as following figure.

term) To build the dynamic equation, we differentiate each term and we derive the following equations. 6

Ti = ∑ Dij q j + I i ( act ) qi6 + ∑ ∑ Dijk q j q k

(6)

j =1

6

∑ Trace(U

Dij =

pj

J pU Tpi )

(7)

p = max( i , j ) 6

∑ Trace(U

Dijk =

pjk

T pi

J pU )

(8)

p = max( i , j ,k ) 6

Di = ∑ − m p q T U pi rp

(9)

p =i

Ti is angular acceleration inertia, Dij is inertia of actuator, Dijk is Coriolis term and Centrifugal force and Di is gravity term. Using these equations, we realize the three dimension robot simulator as Fig.10.

Fig. 11 Obstacles Expressed in Configuration Space Fig.11 shows the example of generation of configuration space. Left side of figure describes a palletizing task layout. First, on the basis of joint of base frame, rotate the imaginary plane 360 degree. In this progress plane scan the objects surrounding robot, and generate the outline of a section. This outline, include the inside of it, could be considered as obstacle. In this paper, grope this outline using end effecter of robot and generate the free move zone and obstacle zone in the configuration space as shown in the right side of Fig.10. This figure is necessary to generate the optimal path using A* algorithm described in the next chapter.

5. APPLICATION OF A* ALGORITHM FOR TRAJECTORY GENERATION

Fig. 10 Robot Simulator for Palletizing Task The performance test of upper simulator combined with Fast algorithm is explained to [3].

The A* method is a through, robust planning technique that will determine the minimum cost path and determine if no safe path exist [7]. In this study, use this technique to find the optimal path between gripping point (Starting point) and place down point (End point). A* technique is outlined below. To begin a rectangular grid is produced in which the cells are either safe or forbidden. The planning begins at the starting point and the cells adjacent to this cell are probed. On the basis of a cost function, the cell with the minimum cost is explored next [8-9]. Using this algorithm, we tabulate the results of simulation of predefined palletizing task.

SICE-ICASE International Joint Conference 2006 Oct. 18-21, 2006 in Bexco, Busan, Korea Table 2 Palletizing Task Simulation and Generation of Optimal Trajectory Step

Task Layout

Configuration Space

Enlarged Image

Elapsed Time (sec)

1

3.132818

2

0.384636

3

12.267289

4

9.734590

5

0.981018

6

4.182875

7

2.315868

8

1.931879

SICE-ICASE International Joint Conference 2006 Oct. 18-21, 2006 in Bexco, Busan, Korea As shown table 2, generate the optimized robot traveling path from configuration space using A* algorithm.

[6]

6. CONCLUSION AND FUTURE WORK In this paper, we proposed Fast Algorithm for PLP, 3-D robot simulator and schematic of combination of two systems. To develop total off-line palletizing simulator, however, the computing time for optimized trajectory generation is need to be faster. As shown fifth column of table 2, the computing time of each step is remarkably different as the position placing down. We implemented the algorithm in Visual C++ 6.0® and AMD 2.0GHz computer with 1 GB of RAM was used to test the algorithm. Fig.12 shows current status of our research. As a future work, we step the progress and . The former is to reduce the computing time and load, the latter is to combine the current optimization algorithm with 3-D robot simulator.

Fig. 12 Development Process

REFERENCES [1] Michael A. Hernan I, “An Introduction to Automated Palletizing”, Anderson Technical Services, Inc., 850 Morrison Road Chillicothe, Ohio, 45601, 2000 [2] Young-Gun G, Maing-Kyu Kang, “A fast algorithm for two-dimensional pallet loading problems of large size”, European Journal of Operational Research 2001, pp. 193-202, 2000 [3] Seung-Nam Yu, Heu-Kwon Yoon, Sung-Jin Lim, Young-Hoon Song and Chang-Soo Han, “The development of Robot Palletizing S/W using “Fast Algorithm and 3-D Robot Simulator”, In proceeding of Korean Society of Mechanical Engineers pp. 1663-1668, 2005 [4] Sung-Jin Lim, “A Study on analyzing inverse kinematics and inverse dynamics of 6 DOF articulated robot”, Hankuk Aviation University, 2004 [5] Saeed B. Niku, “Introduction to Robotics –

[7] [8]

[9]

Analysis, Systems, Applications”, Prentice Hall, 2001 J. H. Kim, J. S. Choi, H. Y. Kang, D. W. Kim and S. M. Yang, “Collison-Free Path Planning of Articulated Robot using Configuration Space”, In proceeding of Korean Society of Automotive Engineers, Vol. 2, No. 6, pp. 57-65, 1994 Charles W. Warren, “Fast Path Planning Using Modified A* Method”, In proceeding of IEEE, pp. 662-667, 1993 T. Lozano-Perez, “A Simple Motion Planning Algorithm for General Robot Manipulators”, IEEE Journal of Robotics and Automation, Vol. RA-3, No.3, 1987 C.W Warren, J.C. Danos, and B.W. Mooring, “An Approach to Manipulator Path Planning”, The International Journal of Robotics Research, Vol.8, No.5, pp. 87-95