IEEE Paper Template in A4 (V1)

advertisement
Interface Control System for 3-DOF Parallel Kinematic Manipulator
1
Aung Myat San, 2Wai Phyo Ei
1
ME Student of MTU, Mandalay, Myanmar,agmyatsanmc@gmail.com
2
Lecturer, MCE Dept, MTU, Mandalay, Myanmar
Abstract – A 3-DOF parallel kinematic manipulator
linear actuator. There are three active prismatic joints
(PKM) is designed using prismatic (P), universal
and six passive universal joints in this manipulator.
(U) and universal (U) joints to get pure transla-
Shafts of the lead screws are coupled with motors’
tional motion and machining operation at high
shafts and need to control motors to get prismatic
accuracy. This paper presents an interface control
joints moved.
system between a graphical user interface (GUI)
on PC and a Base Control Station (BCS) of the
manipulator. The GUI is built in MATLAB to perform the calculation of Inverse Kinematics according to three data inputs, send data via RS232 serial
communication to the BCS, and command the manipulator. The BCS controls three motor drivers
and drives three stepper motors according the data
from PC. The aim is to be able to command and
control
the
manipulator
by
PC
using
the
MATLAB GUI.
Figure 1. Model of the 3-PUU parallel manipulator
Index Terms – 3-PUU; MATLAB GUI; Inverse Kinematics; RS232 serial communication.
This paper discusses the interface control system of
3PUU parallel kinematic manipulator. A personal
computer is used as a control device to get a graphic
I. INTRODUCTION
A parallel manipulator can be defined as a closed-loop
mechanism composed of an end-effector having n
degrees of freedom and a fixed base, linked together
by at least two independent kinematic chains [1]. The
notable characteristics of the parallel mechanism are
high accuracy, high load capacity, high rigidity, and
quickness. A major drawback of the parallel robot is
reduced workspace.
The manipulator was developed to get the pure translational motion with 3PUU mechanical architecture.
Figure 1 shows a CAD model of a 3-PUU parallel
manipulator. The manipulator consists of a fixed triangular base, a triangular moving platform and three
legs with an identical kinematical chain. Each leg
connects the moving platform to the fixed base by a
prismatic (P) joint followed by two universal (U)
joints. The prismatic joint is driven by a lead screw
interface. The control program was developed in
MATLAB so as to have a graphical user interface.
The GUI gets the xyz coordinate of a desired location
of the manipulator and shows the moved position of
the manipulator calculating the inverse kinematics of
the desired coordinate and checking constraint errors.
The required revolution data are got transforming the
inverse kinematic data from the absolute coordinate
system to the incremental coordinate system. The data
are sent through RS232 serial interface to the Base
Control Station of the manipulator. The manipulator is
controlled via the Base Control Station with three
motor controllers which drive three motor drivers.
The three steppers are driven by the three motor drivers.
The aim is to be able to command and control the
3-DOF parallel kinematic manipulator by PC having
the GUI application.
movement is simulated and the required data are
II. METHODOLOGY
In this system, a personal computer commands and
transformed to the incremental mode.
controls the manipulator through RS232 serial interface. Base Control Station gets input data from PC,
and then control three stepper motors. These three
stepper motors’ shafts are coupled with three lead
screw shafts so as to drive three active prismatic joints.
Interface is developed by using MATLAB GUI and
sends data to Base Control Station. PIC Basic Pro
programming language is used for programming PICs.
III. INTERFACE CONTROL SYSTEM
There are two main parts in the interface control system: GUI and Base Control Station.
To send the control data to the Base Control Station, a
Figure 3. Graphical User Interface (GUI)
GUI program was developed using MATLAB on PC.
As shown in Figure 3, the GUI has four panes: User
Base Control Station receives data from the GUI
Input, Inverse Kinematic, Incremental Output and
through RS232 serial communication and control
Simulation Window.
three unipolar steppers. Microcontrollers in Base Con-
There are also other implementations about error in
trol Station are programmed using PIC Basic Pro pro-
the control system of the GUI as follows:
gramming language. Block diagram of the interface
 Beyond limited maximum values of X, Y, and Z
control system is shown in Figure 2.
coordinate data as shown in Figure 5.
 Beyond limited physical constraints of actuator’s
displacement as shown in Figure 6.
 Beyond limited physical constraints of universal
Motor
Controller_A
USB-DB9
Connector
MAX 232
Motor
Driver_A
Stepper
A
joint’s cone angle as shown in Figure 7.
Firstly, the GUI was developed by using MATLAB.
Interface
Controller
Motor
Controller_B
Motor
Driver_B
Stepper
B
Motor
Controller_C
Motor
Driver_C
Stepper
C
User has to input specified xyz coordinate in the User
Input frame. In the system, the maximum limited val-
Figure 2. Block diagram of the interface control
system
ues of X, Y and Z are 200, 200 and 800 respectively.
After getting the values of X, Y and Z, the data are
checked if beyond maximum limits. And then, the
inverse kinematics is calculated according to the co-
A. IMPLEMENTATION OF GRAPHICAL USER INTERFACE
ordinate value. It can be seen in the Inverse Kinematics frame. After showing the moved position of the
The GUI for the control of the robot is programmed
manipulator, other constraints checks are done.
by using MATLAB R2013a. It allows receiving xyz
The inverse kinematic process may result in complex
data input from the keyboard and computes inverse
numbers. In the real world, there are no imaginary
kinematics of the input. And then, the manipulator’s
parts but real ones. Therefore, only real values have to
be taken for the control data.
The data has to be transformed from the absolute coordinate system to the incremental coordinate system.
It can be seen in Incremental Output frame.
3. Check if the data is beyond limited maximum values of X, Y and Z coordinate data.
4. Inverse Kinematic Process: Calculate the inverse
kinematic values of the data inputs.
5. Defining Process: Exclude complex values, take
And then, the signs of the real values are defined to
only real values and define directions according to
get the required directions. According to the sign of
signs (+/-).
the value, revolution direction is assigned to as CCW
for minus sign (-) and CW for plus sign (+).
Finally, it is the output data including three revolutions and three directions which is sent to BCS
through RS232 serial interface.
6. Check if the inverse kinematic data is beyond limited physical constraints of actuator’s displacement.
7. Check if the data is beyond limited physical constraints of cone angle.
8. Incremental Movement Process: Transformation
from the absolute coordinate system to the incre-
Start
mental coordinate system:
incremental_value = old_value – new_value .
Initialization Process
Get Data Inputs
(X, Y and Z)
9. Transmit Data (6 data outputs): Send data output
using serial transmission. It includes three revolutions (A, B, C) and each Dir.
No
Limited Max value Error?
Yes
Inverse Kinematic Analysis
Defining Process
No
Actuators’ Limited
Distance Error?
Yes
No
Limited Cone
Angle Error?
Yes
Incremental Movement Process
Transmit Data (6 data outputs)
End
Figure 4. Program flow chart of MATLAB GUI
Program Flow Chart of MATLAB GUI is shown in
Figure 4. It consists of the following steps:
1. Initialization Process: Start GUI and set variables
to zero.
2. Get Data Inputs (X, Y and Z): Receive data of xyz
coordinate.
Figure 5. Error of Beyond Limited Maximum Value of X, Y and Z
φ21i = angular displacement of universal joint
φ32i = angular displacement of universal joint
δ = initial angle of Z2 when manipulator is at original position
β = initial angle of Z3 when manipulator is at original position
l0 = center of base and actuator
l2 = link length between two universal joints
r = radius of Movable platform
ν = twist angle of movable platform
h = l2 cosδ cosβ
α = (j-1)  120 , angle between limbs
Figure 6. Error of Beyond Limited Physical Con-
j = 1, 2, 3
straint of Actuator’s Displacement
i = A, B, C
B. Implementation of Base Control Station
There are two main parts in Base Control Station:
Interface Controller and Motor Controller.
Interface Controller is only developed to get serial
data via PC and send serial data to Motor Controllers.
Motor Controllers perform receiving data from Interface Controller and driving geared unipolar stepper
motors in full sequence through ULN2003s.
PIC 16F628 is used to implement the control system
cost-effectively and efficiently. In the system, there
are four controllers: one interface controller and three
motor controllers. Four PIC 16F628As are used as
controllers and as drivers, three ULN2003s are used.
Steppers are unipolar and geared to 1:24, and are
driven
Figure 7. Error of Beyond Limited Physical Constraint of Cone Angle
sequence.
Rotation
Direction
(CW/CCW) of a unipolar stepper can be controlled by
PIC 16F628A has a hardware USART mode. It is
The inverse kinematic solutions of the PKM are ob-
better to be used in connecting with PC or PIC than
software USART mode. PIC 16F628A has two pins
tained [2] as
that are used specifically for transferring and receiv-
A
A
A
d10
=h-(l2cos(φ 21
+δ)cos(φ32
+β)-ZOP )
d =h-(l2cos(φ +δ)cos(φ +β)-Z )
B
21
B
32
P
O
d =h-(l2cos(φ +δ)cos(φ +β)-Z )
C
10
full
an open collector ULN2003.
A.1 Inverse Kinematics
B
10
in
C
21
C
32
P
O
where,
d10i = displacement of linear actuators
ing data serially. These pins are called TX and RX
(1)
and part of Port B (1 and 2 pins). These pins are TTL
compatible and therefore require a line driver to make
them RS232 compactible. One such converter is
MAX232 that converts RS232 voltage levels [5].
Figure 6 shows circuit diagram of Base Control Sta-
direction, and serial communication with Base Con-
tion.
trol Station.
Using Micro Code Studio, the software programs are
+5V
written in PIC Basic Pro language for Microcontrol1uF
VCC
C1+
GND
1uF V+
T1 OUT
C1R1 IN
C2+
1uF
R1 OUT
C2T1 IN
VT2 OUT T2 IN
1uF R3 IN R2 OUT
+5V
Run
RX
Max232
SA
5
9
1
18
A
2
17
3
16
4
15
5 16F628A 14
6
13
7
12
8
11
9
10
lers of Base Control Station and then compiled to hex
4×
480Ω
1
16
2
15
3
14
4
13
5 ULN2003 12
6
11
7
10
8
9
Unipolar
Stepper
file by PBP247 compiler. The compiled HEX program is then burnt on microcontroller chip by using
+5V
GTP USB Lite programmer. Micro Code Studio and
1
6
RX
TX
1
18
2
17
3
16
4
15
5 16F628A 14
6
13
7
12
8
11
9
10
+5V
RX
SB
1
18
B
2
17
3
16
4
15
16F628A
5
14
6
13
7
12
8
11
9
10
4×
480Ω
1
16
2
15
3
14
4
13
5 ULN2003 12
6
11
7
10
8
9
Unipolar
Stepper
Lite programmer is also open-sourced with Win 800
+5V
firmware.
480Ω
10KΩ
+5V
RX
+5V
SC
1
18
C
2
17
3
16
4
15
16F628A
5
14
6
13
7
12
8
11
9
10
4×
480Ω
1
16
2
15
3
14
4
13
5 ULN2003 12
6
11
7
10
8
9
PBP 247 compiler are free software, and GTP USB
Unipolar
Stepper
+5V
V. RESULTS AND OBSERVATIONS
The results and observations of this thesis would
come mainly from the way in which the manipulator
Figure 6. Circuit Diagram of Base Control Station
behaves when it is controlled via the GUI application.
The GUI was developed to simulate the movement of
B.1. COMPONENTS OF THE CONTROL CIRCUIT
1.
PIC 16F628As
2.
ULN2003s
3.
Geared unipolar Steppers
4.
Max232
5.
USB to DB9 serial connector
6.
Resisters: 10k and 480 ohms
7.
Capacitors: 2200µF 50V, 1000µF 16V and
1µF
the PKM. It shows how the PKM moves from the
origin position to the specified position according to
the obtained xyz coordinate input. And then, it communicates with Base Control Station.
All sent to Base Control Station from PC are real values and direction signs (+/-) concerned with the values. Interface Controller receives the data, computes
the maximum value among the three values and
resends the data including the maximum value to Mo-
8.
Diodes: IN4148, IN4007 and IN4001
9.
LEDs
tor Controllers.
After transmitting the three values, their directions
and the maximum value, Motor Controllers analyze
IV. DEVELOPMENT OF SOFTWARE
The system consists of a PC running Windows, which
use a MATLAB based software program to interact
with the Base Control Station via the serial port.
In the software system, there are two kinds of software: for user friendly GUI and for microcontrollers
of Base Control Station.
User friendly GUI was developed by using MATLAB
GUIDE. Some codes are modified in the GUI such as
driving inverse kinematics of the specified xyz coordinate, defining real values of revolutions and each
and receive their required data, and then take place
controlling ULN 2003s to drive steppers. In which,
there is a problem related to the delay time between
the steps of steppers. The calculated delay time may
be a value of floating point. If so, it is happened that
three motors can’t stop simultaneously. The problem
can’t be solved still.
In the way of using old geared unipolar steppers,
some malfunctions of the motors are occurred such as
gear slip and different current according to different
coil resistances. Motors are not all the same and motor
speed is certainly slow due to gearing but better
torque can be obtained. Therefore, brand-new, goodtorque and same steppers are required for a stable,
VII. REFERENCES
[1] Bruno Siciliano, and Oussama Khatib (Eds.),
“Springer Handbook of Robotics”.
better system.
[2] Aung Myo Win, “Inverse Kinematic Analysis of
VI. CONCLUSIONS
In this project, serial communications are achieved
a 3-DOF Parallel Kinematic Manipulator”.
[3] Mandeep Singh, Rekha and Balwinder Singh,
both between PC and PIC, and between PIC and PIC.
“Microcontroller
Base Control Station can communicate with PC and in
wise/Anticlockwise Stepper Motor Controller
which, controllers can interconnected with each other.
Using PC Keyboard Via Com Port”.
Based
Clock-
User-friendly GUI was developed by using MATLAB.
[4] Chaiyaporn Silawatchananai, Matthew N. Dailey,
This GUI performs not only simulation of the PKM
Asian Institute of Technology, “Stepper Motor
but also interact with Base Control Station through
Tutorial”.
RS232 serial interface.
Motor Controllers can drive three motors synchronously with variable delay time of steps. Therefore,
the motors can be controlled via PC and then the manipulator can be.
The interface control system is successfully developed
for controlling 3-DOF parallel kinematic manipulator.
Finally, the 3-DOF robot will be constructed and its
performance will be tested.
[5] MikroElectronika, “Max232 Interface Board
Manual”.
[6] Eng. Dalia A. Awad, Embedded Systems Lab7,
Stepper Motor Application.
Download