STUDY, DESIGN AND CONTROL ROBOT PALLETIZER NGHIÊN CỨU, THIẾT KẾ VÀ ĐIỀU KHIỂN ROBOT GẮP HÀNG a {vanlinhkh, buiquangvinh1712, babentanh}@gmail.com b {21000883, cbpham}@hcmut.edu.vn, c
Trang 1STUDY, DESIGN AND CONTROL ROBOT PALLETIZER
NGHIÊN CỨU, THIẾT KẾ VÀ ĐIỀU KHIỂN ROBOT GẮP HÀNG
a {vanlinhkh, buiquangvinh1712, babentanh}@gmail.com
b {21000883, cbpham}@hcmut.edu.vn, c dungcva@ hcmut.edu.vn
ABSTRACT
Industrial robots are being utilized in many applications due to their stable operation, high flexibility and precision This paper presents a type of robot that is useful in applications
of loading and unloading The robot has 4 degrees of freedom and is structured in such a way that actuations in horizontal motion and in vertical motion are decoupled In this paper, a complete process to design a robot palletizer is highlighted, including conceptual design, mechanical and electrical design, prototype implementation and accuracy evaluation
Keywords: industrial robot, palletizer, mechatronic system
TÓM TẮT
Robot công nghiệp hiện đang được ứng dụng trong nhiều lĩnh vực khác nhau nhờ vào tính ổn định, khả năng thích ứng linh hoạt và tính chính xác trong vận hành Bài báo này giới thiệu về một loại robot được sử dụng phổ biến trong các ứng dụng xếp dỡ Robot có 4 bậc tự
do, có cấu trúc dẫn động được tách riêng theo phương chuyển động ngang và chuyển động thẳng đứng Trong bài báo này, nhóm tác giả xin giới thiệu một quy trình hoàn chỉnh để thiết
kế một robot gắp hàng, bao gồm cả thiết kế ý tưởng, phần cơ điện tử, chế tạo nguyên mẫu và đánh giá chính xác
Từ khóa: robot công nghiệp, robot gắp hàng, hệ thống cơ điện tử
1 INTRODUCTION
Thanks to the development of technology, the robot was invented to release humans from performing of heavy, dangerous and toxic works The most common applications of robots in industry can be listed as spraying paint, welding, assembly, etc
Today, many domestic companies have also been using robots for production jobs as assembly, welding, However, in loading and unloading stages as shown in Fig 1a, manual handling have been still found quite common These heavy works would have bad effect on the health of workers Therefore, proposing a robot that can be used in automated loading and unloading systems as illustrated in Fig 1b is necessary
Most types of robots in the current market are designed from revolute joints In this paper, the robot structure has 4 degrees of freedom (DOF), including 2 revolute joints and 2 prismatic joints The links were jointed and formed parallelograms of moving rules The paper
is organized as follows: a conceptual design of 4-DOF robot is presented in section 2 This is followed by kinematic analysis in section 3 Mechanical design and electrical design are addressed in section 4 and section 5, respectively Simulation results to verify the kinematic analysis are validated in section 6 Experimental results to evaluate accuracy are discussed in section 7 Finally, section 8 concludes the paper
Trang 2a) b)
Figure 1 Loading, unloading crafts and by robot [1]
2 CONCEPTUAL DESIGN
To perform loading and unloading tasks, the robot structure must have abilities to:
then arrange them onto pallets as illustrated in Fig 2
layers or in a pillow under the circle, as illustrated in Fig 3
conveyors
Pallets
end-effector products
Figure 2 Picking up product from conveyors onto pallets
Figure 3 Typical arrangement of products on pallet [2]
With the given requirements, the robot mechanism must have at least 4 DOFs and is constrained in such a way that the axis of the end-effector is always kept in the vertical direction as shown in Fig 4 In this mechanism, 3 parallelograms can be observed such as AKLB, AHGB, and BFEC
E
P
φ 2
dc
N
L
B
F G
o
K
I
A H
φ1
M
l z
l x
Figure 4 4-DOF mechanism for robot palletizers
Trang 3To simplify the kinematic analysis, link lengths are designed under the constraint in Eqn (1)
𝐼𝐾
where a is a constant
Combining the parallelogram structures and the constraint in Eqn (1), then point C will always in line through A and I, and satisfies Eqn (2)
𝐴𝐼
3 KINEMATIC ANALYSIS
Kinematic analysis of robots is to establish the relation between the joint angles / offsets
3.1 Forward kinematic
φ 1
l 1
Y 0
X0
ZQ
Y Q
X Q {Q}
Figure 5 Assigned frames to locate point P
As discussed in section 2, the position of the end-effector (x, y, z) is only affected by
Fig 5, together with Eqn (2), the position of the end-effector P can be derived:
{
𝑥 0
𝑦
0
𝑧 0
(3)
Fig 6 shows a simplified schematic diagram of the robot so that the orientation of frame {2} which is attached to the end-effector can be described relatively to frame {0} as follows:
X 1
X 2
P
φ2
φ1 O
Z 0
{0}
{1}
Y 1
Z 2
{2}
Y 2
Figure 6 Assigned frames to orientate the end-effector
Trang 43.2 Inverse kinematic
By combining Eqns (3) and (4), the solution of the inverse kinematic is determined as follows:
{
𝑎
𝑥𝑃
(5)
It is noted that the solution in Eqn (5) is solvable, however it is only valid when the geometrical constraint in Eqn (6) is satisfied
4 MECHANICAL DESIGN
This section employs the theoretical basis in section 2 and the results of kinematic analysis in section 3 to design link lengths of the robot palletizer that encloses a given workspace as illustrated in Fig 7 With this desired workspace, link lengths are calculated and shown in Table 1
Table 1: Link lengths of the robot palletizer
o
L
K
I
A H
B
E F
G
P
l x
l z
l 1
400
850
Figure 7 Illustration of robot workspace
Figure 8 3D CAD model of robot palletizer
Based on data in Table 1, a 3D CAD model of the robot palletizer is designed in SolidWorks as illustrated in Fig 8 Then, a prototype of the robot palletizer is fabricated as demonstrated in Fig 9
Trang 5Figure 9 Prototype of the robot palletizer
5 ELECTRICAL DESIGN
5.1 Actuators
In order to drive the robot, 2 DC servo motors, with DCS810 drivers, are employed to
VCC GND EA+
NC E+5V
EGND Motor + DC Servo
DCS810 Driver
EB+
EB-24VDC
Ch-A Ch-B VCC Gnd
Motor
VCC GND A+
Motor
DM556 Driver
24VDC
B+
B
Figure 10 Wiring diagrams
to help new students get familiar with the controls of various motors Base on this papers, you can learn more about the control mechanism of DC servo motor, and stepper motor, since then there can be the foundation to develop the system on your own later In addition, the design of the stepper motor for provides a constant holding torque without the need for the motor to be powered and provided that the motor is used within its limits, positioning errors don't occur, since stepper motors have physically pre-defined stations
5.2 Motion controller board
To carry out combinational operations of the robot, an Arduino Mega 2560 board is used to synchronize 4 motors The connection between the drivers and the controller is demonstrated in general schematic as show in Fig.11
MCU
DC POWER 24V
DM556
DCS810
DCS810
DM556
DC DC CONVERTER
DC SERVO
DC SERVO
STEPPER MOTOR
STEPPER MOTOR
LED INDICATION
CONTROL BUTTONS
24V
24V
24V
24V
24V
Figure 11 General schematic
Trang 6By using the DC DC converter to convert 24V to a lower voltage that allow MCU (here
is the Arduino Mega2560) able work well without heat! Command is given from Control buttons to MCU to issue required PFM to control these drivers and move the motors to a specific position that programed before Led indications are used to display the power status and errors during operation
5.3 Pulse Width Speed and Direction Control
The rotational speed of a DC motor is directly proportional to the mean (average) voltage value on its terminals and the higher this value, up to maximum allowed motor volts, the faster the motor will rotate In other words more voltage more speeds By varying the ratio between the “ON” (tON) time and the “OFF” (tOFF) time durations, called the “Duty Ratio”,
“Mark/Space Ratio” or “Duty Cycle”, the average value of the motor voltage and hence its rotational speed can be varied For simple unipolar drives the duty ratio β is given as:
Figure 12 DC motor duty cycle
and the mean DC output voltage fed to the motor is given as: Vmean = β x Vsupply Then by varying the width of pulse a, the motor voltage and hence the power applied to the motor can be controlled and this type of control is called Pulse Width Modulation or PWM
Another way of controlling the rotational speed of the motor is to vary the frequency (and hence the time period of the controlling voltage) while the “ON” and “OFF” duty ratio times are kept constant This type of control is called Pulse Frequency Modulation or PFM and this is also the method that we used to control the 2 driver DCS810 and DM556 [4] With pulse frequency modulation, the motor voltage is controlled by applying pulses of variable frequency for example, at a low frequency or with very few pulses the average voltage applied to the motor is low, and therefore the motor speed is slow At a higher frequency or with many pulses, the average motor terminal voltage is increased and the motor speed will also increase
The direction of our motors is determined by the value of DIR input port of drivers Changing the value of DIR port will change the rotate direction of motors
5.4 Orbital motion of Robot Palletizer
Based on the requirements of the actual loading and unloading, the authors will set the algorithm flowchart for showing the working steps of the robot, then use that to program the robot to work automatically The sequence of the robot work is as follows:
Step 1: When button Start is pressed, all the actuators will move to the zero position by
hitting the relays (CT1 = CT2 = CT3 = CT4 = on)
Step 2: Check for existed pallet and products at in the awaiting & loading position
If:
There is no signal from product (CB1 = off) or no signal from pallet (CB2 = off) or the pallet was full (CB3 = on) the robot will stop and wait for next command
Signal from product is received (CB1 = on), signal from pallet is also available (CB2 = on) and pallet is not full (CB3 = off) then robot move to step 3
Trang 7Step 3: Sort 6 layers (0 <k ≤6) of products onto pallets at the position P (xi, yj, zk)
If:
- k is an odd number (k = 1, 3, 5) then sort the products into 3 columns and 2 rows in order row first then column next until completion (i = 3, j = 2)
- k is even number (k = 2, 4, 6), then sort the products into 2 columns and 3 rows in order row first column next until completion (i = 2, j = 3)
Step 4: After done with 6 layers the robot will come back to step 2 if there’s no stopped
signal
Step 5: Ending the cycle of loading and unloading
In the process robot will stop when received the control signal from button pause Loading and unloading process is illustrated in Figure 13 and flowchart algorithm is illustrated in Fig 14
Về chuẩn
Vị trí chuẩn
Vị trí sản phẩm
Vị trí pallet
Vị trí sản phẩm được sắp lên pallet
Figure 13 Loading and unloading process a) Gripper head go to zero position then move to products position
b) Gripper head pick up and move product to arranged place on the pallet
Start
Start is pressed
Go to zero position
Initialize
parameters
ALL CT are on
Check for signals of product and pallet
Yes
Yes No
CB1&CB2 are On CB3 is Off
Pickup product at A(x A , y A , z A ) Put onto pallet at P(x P , y P , z P )
PAUSE
Yes
No
No
Stop all actions
Yes
B
k > 6
k = k+1; Reset I, j=0
STOP Yes
Yes END
C
B No
No
No
K is odd number Yes No Arrange products in
2 columns and 3 rows
I = 2, j = 3
Arrange products in
3 columns and 2 rows
I = 3, j = 2
C
A
A
Figure 14.Flowchart control algorithm
6 SIMULATION
Motion simulation of the robot is useful to verify the kinematic analysis A module Simmechanics link in Matlab is used to convert from CAD models in XML format to Simulink diagrams in SLX format as seen in Fig 15a
Trang 8CS3 CS2
De-1
Khung-1
CS3 CS4 CS2 Thanh truot ngang-1
Thanh truot dung-2
CS2
CS3
CS4
Tay 1-Dung-1
TAY 2-Ngang-1
CS3 CS2 CS4 Tay 3-1
CS2 CS3 Noi R1-1
Noi R2-2 CS3 CS2
Noi ngang-dung-2
tay gap cuoi-1
Khau Cuoi old-4
CS3 CS2 Noi R3-3
CS2 CS3 RootPart
RootGround
Prismatic
Revolute
Revolute1
Revolute2
B F Revolute3
B F
Prismatic1
B F Revolute4
B F Weld
B F Revolute5
B
F
Revolute6
Revolute7 B
F Revolute8
B F Revolute9
B F Revolute10
B F
Revolute11
Revolute12
B F Revolute13
B F Weld1
Env Machine Environment
1
Constant0 0 Joint Actuator 1
Constant1
Joint Actuator 2
Joint Actuator 3
Joint Actuator 4
Body Sensor
pos
From Workspace
Conn1
Conn2
Conn3
Conn5 Conn4
Robot
1
Constant2 0
Constant3
1
Constant4 0
Constant5
1
Constant6 0
Constant7
X
Y
Z
Figure 15 Robot model in Matlab and Joint actuators and body sensors attached
Motion at the joints are generated by blocks of joint actuator They are also monitored
by blocks of body sensor as illustrated in Fig 15b With this block diagram, as the robot is programmed to move from point to point at specific times and signals from body sensors can
be collected and seen in Fig 16
t2
t 3
t 1
t 3
t 4
Figure 16 Simulation process and results
7 EXPERIMENTAL RESULTS
Figure 17 Experimental procedure on the horizontal axis
This section will empirically evaluate the issues of decoupling between two actuators in x direction and z direction Figure 18 shows an experimental process to validate vertical errors while the end-effector moves a distance of 450 mm along x direction at three lifting levels 256
mm, 380 mm, and 500 mm Experimental results in Table 2 show that vertical errors are from 2,2 mm to 2,26 mm In addition, error patterns at three altitudes are almost the same
Trang 9Do similarly, data in Table 3 show experimental results while the end-effector moves a distance of 500 mm along z direction at three reaching levels 400 mm, 600 mm, and 850 mm The results show that horizontal errors are from 3.24 mm to 3.28mm In addition, error patterns at three reaching levels are almost the same
Table 2: Experimental results on the horizontal axis Position
(mm)
Error, ∆Z
0 1 2 3
0 1 2 3
0 1 2 3
Table 3: Experimental results on the vertical axis Position
Error, ∆X
9 8 7 6 5 4 3 2 1 0
0
9 8 7 6 5 4 3 2
1
0
0
9 8 7 6 5 4 3 2
1
0
CONCLUSIONS
The paper proposed a type 4-DOF robots based on parallelogram structures A prototype has been developed to verify its decoupled motions and accuracy The experimental results show that the vertical error is 2.26 mm and horizontal error is 3.28 mm within the
Trang 10investigated area of 450 mm × 500 mm These values are quite large but acceptable for loading and unloading applications
REFERENCES
[1] Patrik Gustafsson-Skoglund,Karl Södereng Container Unloading using Robotized
Palletizing, M A thesis, Chalmers University Of Technology, Sweden, 2012
[2] Michael G Kay, Material Handling Equipment, North Carolina State University
[3] Ph D Phạm Công Bằng, Bài giảng Robot công nghiệp, University of Technology
[4]
http://www.leadshine.com/productdetail.aspx?type=products&category=servo-products&producttype=brushed-servo-drives&series=DCS&model=DCS810
AUTHOR’S INFORMATION
center, Viet Nam - {vanlinhkh, buiquangvinh1712, babentanh}@gmail.com
2 Xuan Hao Nguyen, Cong Bang Pham - Faculty of ME, HCMC, Viet Nam - {21000883,
cbpham}@hcmut.edu.vn
3 Viet Anh Dung Cai - Faculty of ME, HCMUTE, Viet Nam - dungcva@ hcmut.edu.vn