You are on page 1of 6

Position Control of a 3-DOF 3-RRR Planar Parallel Manipulator

Using Model Predictive Control


Yong-Lin Kuo*, Tsu-Pin Lin, Chun Yu Wu, and Tsung-Liang Wu

Abstract—This paper presents the position control of a possible to decouple the polynomial further into two
3-DOF 3-RRR planar parallel manipulator by using the model quadratic equations, describing the position and orientation
predictive control. Not only the numerical simulations are of the end-effector, respectively [10]. Cha et al. presented the
demonstrated but also an experimental hardware-in-the-loop singularity avoidance of the manipulator using kinematic
system is constructed. The experimental results are used to
redundancy [11]. Arakelianan and Smith discussed the
verify the simulation results. The entire system is designed as a
semi-closed loop system. The manipulator is driven by three DC development of the reactionless manipulators, which apply
motors, and each motor has an encoder to measure the rotating no reaction forces or moments to the mounting base during
angles of the motors. The controller receives the encoder signals motion [12].
as inputs to produce singles driving the motors. The results Control of the manipulators has a limited number of
demonstrate that the position of the manipulator is fulfilled. publications in the literature. Noshadi et al. presented a
Besides, the simulation and experimental results are compared,
and they are good in agreement. method to control the manipulator using an active force
control strategy [13]. The authors also implemented a two
I. INTRODUCTION level fuzzy tuning resolved acceleration control to the
manipulators to demonstrate the stable response of the
P ARALLEL manipulators are essentially closed-loop
kinematics chain mechanisms, and an end-effector is
manipulator in performing trajectory tracking tasks in the
absence of the disturbances [14]. Nasa and Bandyopadhyay
linked to the base of the manipulator by several independent
presented a strategy, which enables the manipulator to trace a
kinematics chains [1]. The first parallel manipulator
curve containing singularities by virtue of allowing its
developed by Gough and Whitehall is a six-linear jack system
orientation to change [15].
for use as a universal tire-testing machine [2]. Later, a
platform manipulator for use as an aircraft simulator was
developed by Stewart [3]. After these two manipulators were
presented, there are numerous parallel manipulators
developed for various industrial applications, such as
assembly, packaging and machining operations. [4-6].
A 3-DOF 3-RRR planar parallel manipulator is typical
robot arm designed to manipulate precision positioning tasks.
Gosselin and Angeles investigated the manipulator from a
kinematic viewpoint and established four different design
criteria to produce designs having optimum characteristics
[7]. Yang et al. focused on the forward singularity analysis of
the manipulator and proposed a simple geometric approach
based on the concept of instantaneous center [8]. Arsenault Fig. 1. A planar parallel manipulator
and Boudreau presented the synthesis of the manipulator
using a genetic algorithm [9]. Oetomo et al. presented the This paper presented the position control of the 3-DOF
direct kinematic solution of the manipulators, where they are 3-RRR planar parallel manipulator by using the model
predictive control. One uses a real-time embedded system
Manuscript received Aug 30, 2013. This work was supported in part by the
CompactRio (manufactured by National Instruments Corp.)
National Science Council under Grant NSC 101-2221-E-011-105. as a controller and three DC motors with encoders to
Yong-Lin Kuo is with Graduate Institute of Automation and Control, construct a hardware-in-the-loop experimental platform. One
National Taiwan University of Science and Technology, Taipei, Taiwan
(corresponding author; phone: 886-2-27303696; fax: 886-2-27301265; e-mail: also designs a semi-closed loop system. The controller uses
kuo@mail.ntust.edu.tw). the signals of the encoders as feedback signals and produces
Tsu-Pin Lin was with Graduate Institute of Automation and Control,
National Taiwan University of Science and Technology, Taipei, Taiwan.
signals to drive the motors. A graphic interface is designed,
(e-mail: bryan780316@gmail.com). which is based on the software LabVIEW. This paper presents
Chun Yu Wu is with Graduate Institute of Automation and Control, numerical simulation and experimental results, and both
National Taiwan University of Science and Technology, Taipei, Taiwan.
(e-mail: w790320@gmail.com). results are compared to each other. This paper is organized as
Tsung-Liang Wu is with Mechanical and Systems Laboratories, Industrial follows. Section II investigates the kinematics analysis of the
Technology Research Institute, Hsinchu, Taiwan (e-mail: wut@itri.org.tw).
manipulator. Section III introduces the model predictive  l 2  l  2  ( c  a ) 2  ( c  a ) 2 
control. Section IV presents the experimental setup and  1 2 ix ix iy iy 
 i  cos 1  
testing. Section V illustrates the simulation and experimental 2
 2l1 ( cix  aix )  ( ciy  aiy ) 2 
  (3)
results. Section VI summarizes the significant conclusions.
cix  x  r cos i , ciy  y  r sin i
(4)
1     / 6, 2    5 / 6, 3     / 2 (5)
A1  (0,0), A2  ( 3R,0), A3  ( 3R / 2,3R / 2)
(6)
Note that the subscripts i are 1, 2 and 3, and R is the radius of
the circle formed by the positions of the three motors.
Using Eqs. (1) to (6), the rotating angles i of the motors
can be determined.

Fig. 2. One set of links in the planar parallel manipulator

II. KINEMATICS ANALYSIS


A parallel manipulator is shown in Fig. 1. Three motors
are mounted on points Ai (i = 1, 2, 3), and the motors drive the
rigid links Ai B i (i = 1, 2, 3). There is an rigid end-effector,
triangle C1C2C3, which is driven through the rigid links Bi Ci
(i = 1, 2, 3).
Fig. 4. An experimental planar parallel manipulator

B. Direct kinematics
For the direct kinematics, the rotating angles i of the
motors are given, and the position P(x,y) and the orientation
 of the end-effector need to be determined. Based on Fig. 2,
one has the following algebraic equations as
(c1 x  b1x ) 2  ( c1 y  b1 y ) 2  l2 2
(7)
2 2 2
(c2 x  b2 x )  (c2 y  b2 y )  l2
(8)
Fig. 3. The workspace of the end-effector of the manipulator 2
(c3x  b3 x )  ( c3 y  b3 y )  l22
2
(9)
A. Inverse kinematics where
The inverse kinematics implies that the position P(x, y) (c2 x , c2 y )  (c1x  3r cos  , c1 y  3r sin  ) (10)
and the orientation  of the end-effector are given, and the (c3x , c3 y )  ( c1x  3r cos(   / 3),
rotating angles i of the motors need to be determined. (11)
Consider one set of links A1B1C1 and define a coordinate c1 y  3r sin(   / 3))
system shown in Fig. 2. Based on this figure and the Substitute Eqs. (10) and (11) into (8) and (9), and then
trigonometric formulas, one obtain substrate them by (7). One can obtain two equations in terms
 i  i   i (1) of two unknowns c1x and c1y, so these two variables can be
where obtained but in terms of angle . Substituting them into Eq. (8)
ciy  aiy leads to an equation in terms of angle , so the angle can be
i  tan 1 ( ) determined.
cix  aix (2)
C. Workspace
To determine the workspace of the end-effector, Eq. (3) can
be rewritten as
l12  l2 2  ( cix  aix ) 2  ( ciy  aiy ) 2 Define a new state variable as
 1 (12) x ( k )  [x mT (k ) y ( k ) ]T (22)
2l1 ( cix  aix ) 2  ( ciy  aiy ) 2
Then, a new state-space model can be obtained as
which can be further reduced as x ( k  1)  Ax ( k )  Bu ( k )
( x  xi ) 2  ( y  yi ) 2  (l1  l2 ) 2 (13) (23)
y ( k )  Cx ( k )
where (24)
x1  r cos(   / 6) , y1  r sin(   / 6) (14) where
x2  D  r cos(   / 6) , y2   r sin(   / 6) (15)  A OmT   Bm 
A m , B  , C  Om 1 (25)
x3  D / 2  r sin  , y3  3D / 2  r cos (16) Cm Am 1  Cm Bm 
Note that D is the distance between any two motors. Note that Om is a 1n1 zero vector.
Based on Eq. (13), the workspace of the end-effector can be Define two vectors as
obtained and shown in Fig. 3. 
Y  y ( k  1) y ( k  2)  y ( k  N p ) T (26)
U   u( k ) u ( k  1)  u (k  N c  1) T
(27)
where Np and Nc are called the prediction horizon and the
control horizon, respectively.
Real-Time controller Using Eqs. (23) to (27), one obtains
Y  Fx (k )   U (28)
where
 CA 
 CA2 
F   (29)
  
 Np 
CA 
 CB 0  0 
 CAB CB  0 
  (30)
     
 N p 1 N p 2 N N 
Fig. 5. A real-time embedded control system CA B CA B  CA p c B
Define a vector as
RsT  [11 N p ]r ( k ) (31)
where [11 N p ] is a 1×Np one matrix, and r(k) is a reference
signal.
Define a cost function as
J  ( Rs  Y )T ( Rs  Y )  U T R U (32)
Fig. 6. The hardware-in-the-loop of the control system of the manipulator where R  rw I (rw > 0) is a weighting matrix, and I is a
N c  N c identity matrix.
Substituting Eq. (28) into (32) leads to
III. MODEL PREDICTIVE CONTROL
J  ( Rs  Fx ( k )) T ( Rs  Fx (k ))
Consider an SISO discrete-time system as (33)
xm (k  1)  Am xm (k )  Bm u(k )  2U T  T ( Rs  Fx ( k ))  U T ( T   R ) U
(17)
To obtain the optimal control vector U , the cost function
y (k )  C m x m ( k ) (18) is minimized by taking derivative with respect to U and
where u is an input, y is an output, xm is a vector in terms of n1 then is set to zero, so one obtains
state variables. J
Define new variables as  2 T ( Rs  Fx (k ))  2( T   R ) U  0 (34)
U
xm ( k )  xm ( k )  xm (k  1) (19) Eq. (34) reduces to the optimal control vector as
u (k )  u( k )  u( k  1) (20) U  (  T   R )T  T ( Rs  Fx ( k )) (35)
Then, Eq. (17) can be rewritten as Although the optimal control vector U contains the
xm ( k  1)  Am xm ( k )  Bm u( k ) (21) controls u(k ) , one only implements the first sample of the
control sequence. This procedure is called the receding treated as feedback signals. The control of each motor is
horizon control. dominated by an individual controller. The difference of a
command signal and a feedback encoder signal is treated as
an input of a controller. The controller outputs drive the three
G(s)
Angle motors. In addition to the experimental manipulator, one
G(S) utilizes some hardware components, including a personal
Input Driver Moter Output
computer, a real-time embedded system CompactRIO
InInp Drive Motor Outpu (manufactured by National Instruments Corp.), and a power
supply. The CompactRIO system consists of an embedded
Fig. 7. The block diagram of a driver and a motor
controller for communication and processing, a
reconfigurable chassis housing the user-programmable
FPGA, hot-swappable I/O modules, and graphical LabVIEW
software for rapid real-time, Windows, and FPGA
programming, so the system includes a reconfigurable
chassis (cRIO 9112), a real-time embedded controller (eRIO
9022) and three servo motor drivers (NI 9505). The system is
illustrated in Fig. 6.
B. Motor Drivers
Fig. 8. The graphic interface of the inverse kinematics The motor drivers includes two parts. One generates PWM
signals, and the other one decodes the signals of the encoders.
The driver codes are included in the FPGA, which generates
Motor 3 PWM signals. The signals are delivered and received by the
Workspace module NI 9505. The oscillation frequency of the FPGA is 40
MHz, and it can generate a square wave with 20 kHz. For the
PWM signals, the wave crest can be adjusted, so the
Final position percentage of the duration of the wave crest in a square wave
decides the voltage applied to the motors. The PWM codes
Initial position are also stored in the FPGA. After testing, the accuracy of the
encoder is 0.367 degrees.
Motor 1 Motor 2 C. System Identification of Motors and Drivers
For the purpose of the controller design, it is necessary to
know the mathematical model of the motors. Since one uses
the PWM signals to drive the motors, the driver and the
motor are represented as a transfer function. The block
Fig. 9. The workspace of the manipulator diagram is illustrated in Fig. 7. One uses 0-30% PWM
signals as an input and the rotating angle of the motor as an
output, and there are 15 sets of data collected to complete the
IV. EXPERIMENTAL SETUP AND TESTING system identification of the driver and the motor. One also
applies MATLAB System Identification Toolbox to process
A. Experimental Setup the model as
Based on the planar parallel manipulator shown in Fig. 1, Kp
G ( s)  e  Td s (36)
an experimental manipulator is designed as Fig. 4 (top view). s (T p s  1)
The manipulator consists of six links, an end-effector, and
where Kp, Tp and Td are three parameters to be determined.
three DC motors. The manipulator is driven by three DC
After processing the system identification, the three
motors, and they are mounted under the platform. Each
parameters in Eq. (36) are determined and shown in Table 1.
motor is also attached with an encoder to measure the
rotating angle of the motor. The connections between the D. Kinematics Simulations
links are revolute joints. The positions of the three motors Based on the formulations in Section II, one uses the
form an equilateral triangle. The shape of the end-effector is software LabVIEW to generate a graphic interface shown in
also an equilateral triangle. Both triangles can individually Fig. 8 for the kinematics analysis of the manipulator. For the
form two circles, and their radius are 26.5 and 6 cm. The purpose of application, the graphic interface is for the inverse
length of each link is 18 cm.
kinematics. (An graphic interface of the direct kinematics is
One intends to construct a semi-closed-loop experimental
also generated for verification, but it is not shown in this
platform. The hardware-in-the-loop is illustrated in Fig. 5.
The rotating angles of the motors are measured and are paper.) One can input the position and the rotating angle of
the end-effector through the graphic interface, and the
Simulation
rotating angle of the motors and the positions of points Bi and Experiment w/ links
Ci can be calculated and shown. Besides, the configuration of Experiment w/o

the manipulator can be viewed on the graphic interface.

Angle (deg)
Time (sec)
(b)

Angle (deg)
(a)

Simulation
Experiment w/ links
Experiment w/o

Time (sec)
(c)
Fig. 11. The time responses of the rotating angles of the three motors, (a) motor
1, (b) motor 2, (c) motor 3

V. SIMULATION AND EXPERIMENTAL RESULTS


One intends to move the end-effector of the manipulator
from (x, y, ) = (0, 0, 0) to (5, 3, 15) (cm, cm, deg). First of all,
using the kinematics formulations checks if the moving
trajectory is in the workspace of the end-effector, and the
(b)
results are shown in Fig. 9. Secondly, based on the kinematics
Fig. 10. (a) Initial configuration, (b) final configuration formulations, the rotating angles of the three motors are from
(1, 2, 3) = (0, 0, 0) to (9.727, -23.132, 6.375) degreees.
Table 1. Parameters of the model combining the driver and the motor The initial and final configurations are shown in Fig. 10.
Kp Tp Td Thirdly, based on the two configurations, one applies the
Motor1 11.088 0.0012679 0.011432 model predictive control to the position control of the
Motor2 10.99 0.0013643 0.011084 manipulator. There are three cases studied in the task. The
Motor3 9.768 0.001 0.010368 first one is the case by numerical simulations. The second one
is the case by an experiment without the links and the
end-effector. Two reasons are to proceed this case. One is to
check if the designed controller can make the motor properly
to rotate, and the other one is to avoid unexpected damges on
this experimental facilities. The third one is the case by
another experiment with links and the end-effector. The time
Angle (deg)

responses of the rotating angles of the three motors are shown


in Fig. 11. Finally, one proceeds the direct kinematics based
the related formulations and the time responses of the
Simulation
Experiment w/ links rotating angles of the three motors, and the results are shown
Experiment w/o
in Fig. 11. Since the CompactRio system has some limiations
on the FPGA computations, one divides the motion of the
Time (sec)
end-effector as two steps. The first step is to rotate the first
(a)
and second motors. After they reach the desired rotating
angles, one proceeds the second step, which is to rotate the
third motor. In the first step, one sets the duration as 0.4 and experimental results are good in agreement.
seconds. In Fig. 12, one can observes that the motion of the
second step begins after the first step executes 0.4 seconds. To
compare the three cases, there are some differenes between REFERENCES
them, but they all reach the desired configurations of the [1] J. P. Merlet, Parallel Robots, Kluwer Academic Publishers, 2000.
end-effector. [2] V. E. Gough and S. G. Whitehall, “Universal type test machine,” Proc. 9th
International Technical Congress, 1962, pp. 117-137.
End-effector [3] D. Stewart, “A platform with six degrees of freedom,” Proc. Institution of
Mechanical Engineers, 1965, vol. 180, pp. 371-386.
[4] E. F. Fichter, “A Stewart platform based manipulator: general theory and
practical construction," Int. Journal of Robotics Research, 1986, vol. 5, pp.
x coordinate (cm)

157-182.
[5] C. Reinholtz and D. Gokhale, “Design and analysis of variable geometry
truss robot,” Proc. 9th Applied Mechanisms Conference, Stillwater, OK,
USA, 1987.
Simulation [6] R. Clavel, “A fast robot with parallel geometry,” Proc. 18th international
Experiment w/ links
Experiment w/o links
Symposium on Industrial Robots, Sydney, Australia, 1988, pp. 91-100.
[7] C. Gosselin and J. Angeles, “The optimum kinematic design of a planar
Time (sec)
three-degree-of-freedom parallel manipulator,” Journal of Mechanisms,
(a) Transmissions and Automation in Design, 1988, vol. 110, pp. 35-41.
[8] G. Yang, W. Chen and I-M. Chen, “A geometrical method for the
singularity analysis of 3-RRR planar parallel robots with different
End-effector
actuation schemes,” Int. Conference on Intelligent Robots and Systems,
2002, vol. 3.
[9] M. Arsenault and R. Boudreau, “The synthesis of three-degree-of-freedom
planar parallel mechanisms with revolute joints (3-RRR) for an optimal
y coordinate (cm)

singularity-free workspace,” Journal of Robotic Systems, 2004, vol. 21, pp.


259-274.
[10] D. Oetomo, V. Clayton, H. C. Liaw, G. Alici, and B. Shirinzadeh,
“Direct kinematics and analytical solution to 3RRR parallel planar
Simulation
Experiment w/ links mechanisms,” Proc. 9th Int. Conf. on Control, Automation, Robotics and
Experiment w/o links Vision, 2006.
[11] S-H. Cha, T. A. Lasky and S. A. Velinsky, “Singularity avoidance for the
Time (sec) 3-RRR mechanism using kinematic redundancy,” IEEE Int. Conf. on
(b) Robotics and Automation, 2007.
[12] V. H. Arakelian and M. R. Smith, “Design of planar 3-DOF 3-RRR
End-effector
reactionless parallel manipulators,” 2008, Mechtronics, vol. 18, pp.
End-effector
601-606.
[13] A. Noshadi, M. Mailah and A. Zolfagharian, “Active force control of
3-RRR planar parallel manipulator,” Proc. 2nd Int. Conf. On Mechanical
Rotating angle (deg)

and Electrical Technology, 2010.


[14] A. Noshadi, M. Mailah and A. Zolfagharian, “Intelligent active force
control of a 3-RRR parallel manipulator incorporating fuzzy resolved
acceleration control,” Applied Mathematical Modelling, 2012, vol. 36, pp.
Simulation 2370-2383.
Experiment w/ links [15] C. Nasa and S. Bandyopadhyay, “Trajectory-tracking control of a planar
Experiment w/o links 3-RRR parallel manipulator with singularity avoidance,” Proc. 13th
World Congress in Mechanism and Machine Science, Guanajuato,
Time (sec) Mexico, 2011.
(c)
Fig. 12. The position and the rotating angle of the end-effector from the initial to
final configurations, (a) x-coordinate, (b) y-coordinate, (c) rotating angle

VI. CONCLUSIONS
This paper presents the position control of a 3-DOF 3-RRR
planar parallel manipulator using the model predictive
control. The tasks in this paper is divided into two parts. The
first part is the numerical simulation, which provides a basis
of the controller design. The second part is an experimental
implementation. A semi-closed loop system is constructed,
and the system consists of the manipulator, three DC motors
with encoders, and a real-time embedded controller
CompactRio by National Instruments. The software is based
on the LabVIEW. The results show that the design can fulfill
the position control of the manipulator, and the simulation

You might also like