Está en la página 1de 10

MEMORIAS DEL XXIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM

20 al 22 DE SEPTIEMBRE DE 2023 CIUDAD JUÁREZ, CHIHUAHUA, MÉXICO

DOI: 10.59920/DTRS4197
Tema A3d Mecatrónica: Robótica y control

“Design and implementation of an intelligent control for a kinematic joint for a


robot in SCARA configuration”

Walter Torrestiana-Gonzáleza , Emmanuel González-Mendozaa, Leopoldo Adrián González-


Gonzáleza*

a) Universidad Nacional Autónoma de México, Facultad de Ingeniería, Av. Universidad 3000, Ciudad Universitaria, Coyoacán, CDMX, CP 04510
*Autor contacto. Dirección de correo electrónico: pologlez@unam.mx

RESUMEN

El presente trabajo describe el análisis, diseño e implementación de un controlador inteligente para control de
posición de un par cinemático para un robot manipulador en configuración SCARA mediante un control por lógica
difusa. El control propuesto no considera el modelo matemático para su funcionamiento ya que una de las
características principales de las estrategias de control inteligente es que han demostrado ser eficaces en controlar
sistemas no lineales complejos sin necesidad del conocimiento del modelo matemático. Se propone una estrategia de
control descentralizado donde cada articulación del robot es controlada independientemente utilizando el mismo
algoritmo para cada par cinemático, por lo que las pruebas son realizadas en una articulación. Resultados de
simulación e implementación son presentados. En ambos casos se muestra una convergencia más rápida y suave en
comparación con un controlador PID utilizado como referencia. El controlador desarrollado demostró ser una
estrategia robusta para este tipo de sistemas no lineales.

Palabras Clave: Mecatrónica, Control por lógica difusa, Robot SCARA, FPGA, Control inteligente.

ABSTRACT

This paper describes the analysis, design, and implementation of an intelligent controller for position control of a
kinematic pair for a manipulator robot in SCARA configuration through fuzzy logic control. The proposed control
does not consider the mathematical model for its operation, since one of the main characteristics of intelligent control
strategies is that they have proven to be effective in controlling complex non-linear systems without the need for
knowledge of the mathematical model. A decentralized control strategy is proposed where each joint of the robot is
controlled independently using the same algorithm for each kinematic pair, so the tests are performed on one joint.
Simulation and implementation results are presented. In both cases a faster and smoother convergence is shown
compared to a PID controller used as a reference. The developed controller proved to be a robust strategy for this
type of nonlinear systems.

Keywords: Mechatronics, Fuzzy Logic Control (FLC), SCARA robots, FPGA, Intelligent control.

environmental conditions such as hot temperatures,


excess of dust or particles suspended in the air [1-3].
1. Introduction SCARA (Selective Compliant Assembly Robot Arm) is
one of the fastest configurations on industrial robotics
The control in industrial robotics is one of the most due to its angular joints (q1, q2), their movements are
relevant areas of applied engineering and control, in fast, and gravity has no effect on it. Also, they are faster
which, the development of new control techniques is than robots in Cartesian or anthropomorphic
constant, often more sophisticated, and functional configuration [4-9].
techniques are developed. Industrial robots are Many different studies have been done on the
designed to many specific tasks where the work SCARA robot. Bhatia et al. [10] have implemented an
environment is dangerous for human beings, for expert system-based approach for the design of a
example, corrosive environments, toxic or adverse SCARA robot. Ge et al. [11] have presented a dynamic

ISSN 2954-4734 M 19 Derechos Reservados © 2023, SOMIM


MEMORIAS DEL XXIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM
20 al 22 DE SEPTIEMBRE DE 2023 CIUDAD JUÁREZ, CHIHUAHUA, MÉXICO

model and controller design for a Cartesian SCARA position control of manipulator robots in general
robot with piezoelectric sensors and actuators. Omodei purpose SCARA configuration, since it results in a
et al. [12] have presented and compared three control algorithm that is easy to implement in an FPGA
algorithms for the geometry and parameter development platform, which is a digital programmable
identification of industrial robots. Experimental results card in VHDL language that can be implemented in
were obtained for a SCARA IBM 7535 robot. A CRS practically any FPGA card from any manufacturer with
A 251 robot was simulated with the TELEGRIP slight adjustments. The implementation of this type of
software. Er et al. [13] have studied the design, digital controllers represents an improvement
development, and implementation of a Hybrid compared to analog control techniques. The results
Adaptive Fuzzy Controller (HAFC) suitable for real- show that the designed control fulfills the objective of
time industrial applications. stabilizing a kinematic torque of a SCARA robot in
In addition, one of the most important decisions is to shorter operating times than those obtained with a
select the best control technique, according to the classic PID controller.
requirements of the specific design. Several studies This paper is structured as follows: Section 2
have been developed in control design and describes the overall operation of the SCARA robot in
implementation i.e., Oktarina et al. [24] Developed a section 3 the FLC controller design is presented, in
fuzzy logic controller employed to ensure the section 4 the steps for implementation are described,
effectiveness in detecting the target object. PID section 5 illustrates the evaluation between simulation
controller is designed to ensure the smoothness and and experimental results. Finally, in section 6
stability of robot motion, Kot et al. [23] presents a conclusions are presented.
SCARA robot with a control system based on a
Raspberry Pi microcontroller, Tay et al. [25] presents
a complete review of SCARA robots control system, 2. System description
the reviewed controllers include PID Control, fuzzy
logic control, neural networks control, sliding mode SCARA robot is built using incremental encoders as
control, impedance control, adaptive control and position sensors, giving joint position feedback to the
robust control, Zhen et al. [27] propose a novel practical system, this feedback, is compared to the desire
robust control algorithm for a SCARA robot. position reference, which is obtained according to the
An alternative control technique is the Fuzzy Logic inverse kinematics model. This mathematical model is
Control (FLC), because is used in complex systems obtained on base to the robot architecture. For the
(non-linear) in which there is no general solution to the SCARA configuration the mathematical model is
mathematical models that describe them, in [31-32] deduced from its geometric analysis [27-30]. The
investigations on FLC applied to SCARA robots are inverse kinematic mathematical model is shown in eqs.
presented. (1)-(3).
Even, sometimes it is impossible to model such The SCARA robot is generally suitable for small
systems mathematically. In this case, the experts part insertion tasks for assembly such as electronic
experience and knowledge are used to accomplish component insertion. [14-16].
certain tasks. Fuzzy controllers use rules to describe the
relationship between input variables and system
outputs [4]. One advantage of using modeling strategies
based on FLC is to reduce the design and modeling time y  L 
of the systems to be controlled. FLC has shown q1d = tan −1  d  − sin −1  2 sin   (1)
particularly good features in implementation on  xd   r 
robotics, like smooth convergence and easiness of
configuration in FPGA (Field Programmable Gate
Array) platforms. xd2 + yd2 − L12 − L22 (2)
Currently, the control applied to industrial robots q2 d =
solves the problem of controlling the position and 2 L1 L2
movement speed of the manipulator, however, it is
important to develop new control techniques that have
improvements in response time, accuracy, and q3d = zd − L0
robustness to reduce in this way, work times in (3)
industrial production, as well as a possible reduction in Where:
accuracy errors that sometimes occur with current
q1d, is the joint 1 desired angular position, q2d, is the
control algorithms. In the present work, a control
strategy is proposed that is a viable alternative for the joint 2 desired angular position, q3d, is the joint 3

ISSN 2954-4734 M 20 Derechos Reservados © 2023, SOMIM


MEMORIAS DEL XXIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM
20 al 22 DE SEPTIEMBRE DE 2023 CIUDAD JUÁREZ, CHIHUAHUA, MÉXICO

desired prismatic position, xd, is the end effector x on


Cartesian coordinate, yd, is the end effector y on 3. FLC Controller design
Cartesian coordinate, zd is the end effector z on
Cartesian coordinate, L0, is the base joint length, L1, is The FLC controller is design in 4 main stages, that are
the joint 1 length and L2, is the joint 2 length. the steps to obtain a Fuzzy signal that is processed and
Each joint encoder provides the feedback to the finally in the last step that signal is applied to the real
system by incrementing a counter, the output value of system, that output signal is the FLC control variable.
the counter is the feedback data (qr), with desire Next the steps are listed.
position reference (qd) for each joint and real position
feedback (qr). The joint error position (JEP) is obtained
3.1 Fuzzification
by eq (4). JEP as input one to the system is defined by five
membership functions, which in terms of linguistic
e(t ) = qd − qr variables are labeled as: NE (no error), SE (small error),
(4) ME (medium error), MLE (medium large error) and LE
(large error). JAS as input two to the system is defined
This signal e(t) is the input 1 to the FLC. Joint angular by 5 membership functions too, labeled as: ZS (zero
speed (JAS) is the input 2 to the FLC, which is deduced speed), SS (slow speed), MS (medium speed), MFS
by a T period sampling method using the incremental (medium fast speed) and FS (fast speed). Also, the FLC
encoder. This sampling method gives the angular output variable is composed by five membership
speed of a body in terms of the number of pulses in a functions, labeled as: NT (no torque), ST (small
period, JAS is the same as JEP derivative d/dt e(t). The torque), MT (medium torque), MHT (medium high
actuators consist of DC motors that performs the torque) and HT (high torque). Figure 2a, 2b and 3
control action, DC motors are widely used in robotics shows the membership functions in the universe of
because of its power, velocity, and good response for discourse for each input and output variable. [17-22].
For input 1, the JEP range of values is from 0 to 3840,
different types of controllers. In this work, three DC
this is because, the quadrature decoder works in 4x
motors are used for joint motion, one motor for each
mode, so the encoder value is: 384ppr = 96ppr x 4,
degree of freedom. Figure 1 shows the system block because of this the motor gear has a (1:100)
diagram. transmission relationship to reduce speed and gain
torque. With these values, the motor shaft needs to do
100 turns to obtain 1 complete turn of the robot arm.
Converting this value in digital format, imply that we
need to use 12bits to storage the data.
For input two, JAS can be obtained in different
resolutions, in this case, we use 10 bits of resolution, so
the range of values for speed is from 0 to 1023. There
is a linear relationship between a pulse frequency of the
Figure 1 – FLC block diagram.
encoder and its rotational velocity. In other words, as
the encoder rotates faster, the pulse frequency increases
With JEP and JAS as input data, the FLC controller at the same rate. Pulse counting uses a sampling period
determines the amount of voltage needed to be supplied (t), for that the number of pulses (n) that are counted
to the DC motor to move the robot joint. Using an FLC over the sampling period can determine the average
with two inputs instead of one help improve output time for one pulse (t/n). Knowing the number of pulses
response, making it more accurate and smoother than per revolution (N) giving by the encoder, the angular
just one. speed can be calculated by eq. (5).
The calculated output of the FLC is a numerical
value in the range of 2000 to 4000 which corresponds 2 n
to the operating range of the motor where 2000 would
= (5)
Nt
be the minimum power of the motor to move the
articulation and 4000 the maximum value. This value is Where: ω is the angular speed (rad/s), n is the number
used to modify and control the duty cycle of a Pulse of pulses, t is the sampling period (s), N are the pulses
Width Modulation (PWM) signal that operates with an per rotation. At low speeds, the resolution of pulse
output voltage (Vout) in the range of 0V to 3.3V counting is poor, so this method is best applied in high-
coming from the FPGA board. speed applications, like robotics.

ISSN 2954-4734 M 21 Derechos Reservados © 2023, SOMIM


MEMORIAS DEL XXIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM
20 al 22 DE SEPTIEMBRE DE 2023 CIUDAD JUÁREZ, CHIHUAHUA, MÉXICO

The output variable works in a range from 2000 to minimum and maximum membership are needed
4000, which is used to modify the duty cycle of the (when error is almost zero or maximum). Also, middle
motor drivers PWM as control action. The output membership functions are triangular with maximum
variable of the FLC, represented by membership overlap, because in this way, we have a monotonic
functions correspond to a percent amount of PWM system response.
signal labeled as: Trapezoidal membership functions of one
NT represents no torque, whose range value goes dimension are specified by four parameters {a, b, c, d}
from 2000 to 2600 and corresponding to a 50% PWM as shown in eq. (6). Triangular membership functions
duty cycle. ST represents small torque, whose range of one dimension are specified by three parameters {a,
value goes from 2300 to 3000 and corresponding to a b, c} as shown in eq. (7).
60% PWM duty cycle. MT represents medium torque,
whose range value goes from 2600 to 3300 and 0, 𝑥≤𝑎
𝑥−𝑎
corresponding to a 70% PWM duty cycle. MLT , 𝑎≤𝑥≤𝑏
𝑏−𝑎
represents medium large torque, whose range value 𝑡𝑟𝑎𝑝𝑒𝑧𝑜𝑖𝑑(𝑥; 𝑎, 𝑏, 𝑐, 𝑑) = 1, 𝑏 ≤ 𝑥 ≤ 𝑐 (6)
goes from 3000 to 3600 corresponding to an 80% PWM 𝑑−𝑥
, 𝑐≤𝑥≤𝑑
𝑑−𝑐
duty cycle. Finally, LT, which represents large torque,
{ 0, 𝑑≤𝑥
whose range value goes from 3300 to 4000 and
corresponding to a 95% PWM duty cycle.
0, 𝑥≤𝑎
𝑥−𝑎
NE SE ME MLE LE , 𝑎≤𝑥≤𝑏
𝑏−𝑎
𝑡𝑟𝑖𝑎𝑛𝑔𝑙𝑒(𝑥; 𝑎, 𝑏, 𝑐) = 𝑐−𝑥 (7)
, 𝑏≤𝑥≤𝑐
𝑐−𝑏
µA(x)

{ 0, 𝑐≤𝑥

Graphics of this type of membership functions are


shown in figure 4. Depending on the input value, one
0 640 1280 1920 2560 3200 3840 membership function is selected and give a fuzzy value
μA(x), that is, a value in the range from 0 to 255, where
ZS SS MS MFS FS
255 corresponds to 1, which represent the total
membership for all fuzzy set. To obtain this
µA(x)

membership value, the range is programed using look-


up tables method. For this, datain1 value represent the
input 1 value, which is evaluated according to (7), if the
input rigid value belongs to the range from 0 to 300 in
0 150 300 450 600 750 1023 binary code, so, the corresponding μ-out value is
Figure 2 –(a) Input membership function 1; (b) – Input assigned, which correspond to the membership value or
membership function 2. fuzzy value reached for that rigid value. A specific
input value only belongs to one or two membership
NT ST MT MLT LT functions. A part of this code is presented next.

process (datain1,clk) begin


µA(x)

if(clk'event and clk='1')


then
if ( datain1 < "0000000000" or datain1 > "0100101100")
then miuout <= "00000000";
else
2000 2300 2600 3000 3300 3600 4000 case datain1 is
Figure 3 – Output membership function.
when"0000000000"=>miuout<="11111111";
when"0000000001"=>miuout<="11111111";
The first and last membership functions for all input when"0000000010"=>miuout<="11111111";
and output variables, are trapezoidal because minimum
and maximum membership are needed (when error is
almost zero or maximum). Also, middle membership
functions are triangular with maximum overlap,
because in this way, we have a monotonic system
response. The first and last membership functions for
all input and output variables, are trapezoidal because
Figure 4 - Triangular and trapezoidal membership functions.

ISSN 2954-4734 M 22 Derechos Reservados © 2023, SOMIM


MEMORIAS DEL XXIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM
20 al 22 DE SEPTIEMBRE DE 2023 CIUDAD JUÁREZ, CHIHUAHUA, MÉXICO

3.2 Rule Inference  A→ B ( x, y ) = min   A ( x),  B ( y)  (12)


The next step is to stablish rules to decide what action
should be taken in response to the membership values
obtained in fuzzification stage. These rules are If…Then Inference matrix is programed in VHDL using eq. (12),
type and correlate the relationship between inputs 1 and this matrix is used to store the minimum membership
2 with the output. The inference rules are as follows: value reached by the correlation between the
membership values obtained in the fuzzification stage.
If X is A and Y is B, then Z is C. (8) This matrix is programmed using for cycles, part of the
code is as follows.
So “and” and “or” are call them fuzzy operators and
for i in 0 to 4 loop
are used in Mamdani rules. The “or” is used to evaluate for j in 0 to 4 loop
the disjunction of the rules antecedents and represent if comp1(i) > comp2(j) then
the maximum operation between multiple antecedents, min(i,j) <= comp2(j);
“and” is used to evaluate the conjunction of the rules else
min(i,j) <= comp1(i);
antecedents and represents the minimum operation end if;
between multiple antecedents. In table 1, the fuzzy end loop;
inference rules are shown. Mamdani implementation end loop;
rules are:
This code realizes a comparison between the
For “OR” => C = maximum (A, B) (9) membership values for all fuzzy sets. This manner,
For “AND” => C = minimum (A, B) (10) comp1 corresponds to μA (X) of the input 1 and comp2
corresponds to μB (Y) of the input 2. Only one or two
For rules with the same output: membership values are active or different to zero. So,
only 2 or 4 membership values can be obtained for each
C = maximum [minimum (A1, B1), minimum (A2, B2)] (11) pair of input rigid values that will be call it “one
iteration”. Then, membership minimum value is
According to eq. (8), the system has 25 rules, but not selected and stored in the inference matrix.
all the rules are necessary because some rules are
similar. Based on this, a minimum of 10 rules can do 3.3 Aggregation
the same task as all the 25 rules. Each rule is obtained In aggregation stage, the method of maximum
through the correlation of each fuzzy set of both inputs membership value is used for each column of the
as shown in Figure 5. The inference matrix is obtained inference stage matrix, according to eq. (13).
by combining the two inputs according to Mamdani
min fuzzy rule.  
 B ( y) =   t ( x1 ),...,  t ( xn ) 
t (13)
Table 1. Fuzzy rules of inference.  F
1
F
n 
JEP JAS
ZS SS MS MFS FS
NE NT NT NT NT NT
SE ST ST ST ST ST In this case, all membership values in each column are
ME MT MT MT MT MT compared and the maximum membership value is
MLE MLT MLT MLT MLT MLT
obtained. Table 2 shows the inference matrix, that was
LE LT LT LT LT LT
obtained from inference stage.

Table 2. Inference matrix.


Min Min Min Min Min
(1,1) (1,2) (1,3) (1,4) (1,5)
Min Min Min Min Min
(2,1) (2,2) (2,3) (2,4) (2,5)
Min Min Min Min Min
(3,1) (3,2) (3,3) (3,4) (3,5)
Min Min Min Min Min
(4,1) (4,2) (4,3) (4,4) (4,5)
Min Min Min Min Min
(5,1) (5,2) (5,3) (5,4) (5,5)
Max K Max L Max M Max N Max O

Figure 5 - Correlation of fuzzy sets to generate rules.

ISSN 2954-4734 M 23 Derechos Reservados © 2023, SOMIM


MEMORIAS DEL XXIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM
20 al 22 DE SEPTIEMBRE DE 2023 CIUDAD JUÁREZ, CHIHUAHUA, MÉXICO

Figure 6 – FPGA control system block diagram.

This manner, maximum membership values: max K, Where:


max L, max M, max N, max O are deduced. Part of the N is the number of fuzzy sets activated in the
code is as follows: aggregated vector, xf is the final point of the level where
membership value reached in the aggregated vector, x 0
if min(0,0) > min(0,1) then
is the initial point of the same level. This method
k1 := min(0,0);
else considers the averages of the corresponding
k1 := min(0,1); membership levels. In this last step fuzzy variables are
end if; converted to scalar values. Part of the code in VHDL is
if min(0,2) > min(0,3) then
as follows:
k2 := min(0,2);
else
k2 := min(0,3); process (alphaI1, alphaF1, alphaI2, alphaF2, formula)
end if; variable result: integer := 0;
if k1 > k2 then begin
k3 := k1; if formula <= '0' then
else result := ((alphaF1 - alphaI1) / 2) + alphaI1;
k3 := k2; elsif formula <= '1' then
end if; result := ((((alphaF1 - alphaI1) / 2) + alphaI1) +
if k3 > min(0,4) then (((alphaF2 - alphaI2) / 2) + alphaI2)) / 2;
kt := k3; end if;
else
kt := min(0,4);
end if;
4. Implementation
In this code, max K value is obtained. Same method is
applied to obtain the other four max values. So, five The FLC output is a value in the range of 2000 to 4000.
membership values are obtained but only 1 or 2 are This value is used to modify and control the duty cycle
active for each iteration. These five Max membership of a pulse width modulation (PWM) signal which,
values will be call them “aggregation vector.” works with an output voltage (Vout) in the range from
0v to 3.3v coming from the FPGA board. This signal is
3.4 Defuzzyfication connected to a motor driver as a power electronics
The last stage realizes the fuzzy values to rigid or scalar interface. The driver is the BTS7960 that is a high
values conversion, which will be used to control the current PN half bridge that works with 12V and 30A,
robot motors. The eq. (14) describes the process. the BTS7960 provides a cost optimized solution for
protected high current. PWM motor drives very low
board space consumption, the maximum current (Imax)
to the motor is around 7amps, and voltage is given by a
 x − x0 
i =0  f + x0  12V and 40A power supply. The FLC output is the

DV =  2  (14)
control action to the DC motors, each motor performs
the movement to the desire joint position respectively.
N Figure 6 shows the main blocks of the FPGA control
system which consist in: a) quadrature decoder, b)

ISSN 2954-4734 M 24 Derechos Reservados © 2023, SOMIM


MEMORIAS DEL XXIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM
20 al 22 DE SEPTIEMBRE DE 2023 CIUDAD JUÁREZ, CHIHUAHUA, MÉXICO

speed decoder, c) frequency generator, d) position


error, e) FLC, and f) PWM.
The main purpose of this work is introducing a
solution, where the desired control is designed by
programming in a VHDL language a fuzzy logic
controller for position control of a SCARA robot. The
use of fuzzy logic techniques in robotic improve the
system functionality in comparison with classical PID
controls and other modern control techniques. Also, the
mathematical model that is quite difficult to obtain is
not required, reducing the development time.

4.1 Sensors and Actuators


The incremental encoders used in the present work are
the HEDS-5500, Figure 7 – Efficiency vs torque graphic.
This incremental encoder has a resolution of 96
pulses per revolution (ppr). Also, a 4x quadrature 5. Simulation and experimental results
decoder method that gives 384ppr is used. In this 4x
operation method, each rising and falling edge of both Simulation tests have been done for DC servo motor
channels is used to increment a counter, this counter is with load as robot joint actuator for a single DOF
the feedback of the system and represent the real joint using FLC in Matlab. The nonlinear characteristics
position value (qr). Quadrature signals are two signals of a DC motor like friction and saturation could
generated with a phase difference of 90°. They are used degrade the performance of conventional
in mechanical systems to determine movement (or controllers. To simulate the DC motor in Matlab,
rotation) of an axis. So, looking at the edges and levels, mathematical model is obtained through the transfer
we can determine the direction and distance of function. Mechanical electrical model is shown in
movement. figure 8, and according to the DC motor model the
The implemented counter increments or decrements mathematical model can be determined by eqs.
according to the quadrature signals, with an (15)-(18).
oversampling clock signal (clk) that is faster than the
quadrature signals. In most cases, the "quadX" signals
are not synchronous to the FPGA clock. The classical
 = kt i (15)
solution is to use 2 extra D flip-flops per input to avoid Vemf = kb (16)
introducing metastability into the counter.
A FPGA can hold multiple quadrature decoders and j = − f  + kt i (17)
so, can keep tracking multiple axes simultaneously.
di
The actuators are Pittman 9434G697 servo motors, E − Vemf = − L + Ri (18)
this kind of motors are commonly used in robotics, due dt
to its easiness and practical configuration and Where: τ is the motor torque, i is the electrical
implementation, also they have a good response in current,  ,  and  are the angular motor position,
different control techniques. This type of motors works velocity and acceleration respectively, R is the
with 12V power supply, no load speed of 6151rpm, resistor value, L is the inductive value, Vemf is the
continuous torque 6.1Nm. In Pittman motor datasheet armature feedback voltage and J is the inertia load.
is shown an efficiency vs Torque graphic comparison So, the closed-loop transfer function of DC motor is
in figure 7, shows the relation between output power expressed in eq. (19). motor parameters are
and efficiency with Torque, very high torques reduce obtained by standard system identification as shown
the motor efficiency but with low or medium torques in table 3.
motor efficiency works well. The controller efficiency
is deduced in comparison with the PID controller’s
results obtained experimentally. This is shown in figure
kt
11 by comparing the response time and settling time. G(S ) =
JLS + ( JR + fL)S + fR + kb kt
2

(19)

ISSN 2954-4734 M 25 Derechos Reservados © 2023, SOMIM


MEMORIAS DEL XXIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM
20 al 22 DE SEPTIEMBRE DE 2023 CIUDAD JUÁREZ, CHIHUAHUA, MÉXICO

2% and in PID about 19%. The experimental results


are shown in figure 11. FLC achieves faster
performance in its response. Consequently, the
output response is improved.

Figure 8 – DC motor with load schematic.

Table 3. DC motor parameters.


Parameter Description Value
R Armature 4.67Ω
resistance
L Armature 160e-3 H Figure 9 - FLC in VHDL and PID controller after
inductance hardware co-simulation.
J Moment of 42.6 e-6 Kg/m2
inertia
f Viscous friction 47.3e-
6
coefficient Nm/rad/sec
Kt Torque constant 14.7e-3 Nm/A
Kb Back EMF 14.7e-3V sec/rad
constant

5.1 Simulation in MATLAB/Simulink


With DC motor transfer function obtained, the
simulation can be done. Also, to compare the FLC
with another type of controller, a PID controller is
designed. The PID transfer function is represented
by eq. (20).
Figure 10 - FLC and PID step response.
ki
c( s ) = k p + + kd s (20)
s
Where: Kp, Ki and Kd are the PID controller
constants and their values are 031989, 1.1039 and
0.0069682 respectively. It was tuned using Zeigler-
Nichols Method.

Figure 11 - FLC in VHDL and PID controller after


hardware co-simulation.

6. Results
7. Conclusions
To compare the classical PID and FLC, we present
simulation results. Simulink diagram is shown in
This paper presents the implementation of FLC
figure 9. The PID controller and the FLC controller
System on FPGA platform for a cinematic joint for
are designed in this model with transfer function of
a SCARA robot. Reducing the development, verify
the motor model represented in 14700/den block
and evaluation time for the implementation. Once
those values are obtained by substitution of
the robot architecture is defined the inference rules
numerical parameters in transfer function model of
of the FLC are designed, and with the FLC system
the motor. The output is expressed in time, and it is
defined, the programing in VHDL code is very
shown in figure 10. The settling time in FLC es 0.5s
straight forward based on FLC system components
and in PID is 1.3s, the overshoot in FLC is about
and specifications. The main goal of this work is to

ISSN 2954-4734 M 26 Derechos Reservados © 2023, SOMIM


MEMORIAS DEL XXIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM
20 al 22 DE SEPTIEMBRE DE 2023 CIUDAD JUÁREZ, CHIHUAHUA, MÉXICO

design and implement a FLC that reduce the SCARA robot by using solid dynamics and verification
convergence time in this robot architecture by matlab/simulink,” European Journal of Scientific
compared to other works presented in the Research, ISSN, pp. 388-405.
references, also the implementation in a FPGA [9] C. Urrea, and J. Kern, (2012) “Modeling, simulation
and control of a redundant SCARA-type manipulator
platform is performed. The FLC is robust because robot,” International Journal of Advanced Robotic
it doesn’t need to have information about the Systems, vol. 9.
model, or even no information at all about the [10] P. Bhatia, J. Thiunarayanan, N. Dave, An expert
dynamical model. system-based design of SCARA robot, Expert Systems
Another advantage is that we don’t need the with Applications 15 (1998) 99–109.
dynamic robot model, which is a nonlinear model, [11] S.S. Ge, T.H. Lee, J.Q. Gong, A robust distributed
only inverse kinematics are necessary to stablish controller of a single-link SCARA/Cartezian smart
the control position for each joint. Making a few materials robot, Mechatronics 9 (1999) 65–93.
changes in parameters and code design is easy to [12] A. Omodei, G. Legnani, R. Adamini, Three
methodologies for the calibration of industrial
develop other robot architectures, so this control manipulators: experimental results on a SCARA robot,
logic is adaptable to other robot architectures. Journal of Robotic Systems 17 (6) (2000) 291– 307.
Simulation and experimental results show the [13] M.J. Er, M.T. Lim, H.S. Lim, Real time hybrid
effectiveness of the FLC system compared to PID adaptive fuzzy control of a SCARA robot,
controllers. For future work is considered the Microprocessors and Microsystems 25 (2001) 369–378.
development of the project towards future [14] R.C. Dorf, Concise International Encyclopedia of
applications and improvements to the system, such Robotics—Applications and Automation, John Wiley
as the use of a haptic interface for tele-robotic and Sons Inc., 1990.
operation and include a neural network controller [15] S.Y. Nof, Handbook of Industrial Robotics, John
Wiley and Sons, 1985.
to improve the system. [16] R.I. Eugene, Mechanical Design of Robots,
We want to express our gratitude to the project McGraw-Hill, 1988.
PAPIIT IT101321 for the funding granted. [17] Chaudhary, H., Panwar, V., Prasad, R. et al. J Intell
Manuf (2016) 27: 1299. https://doi.org/10.1007/s10845-
014-0952-1 “Adaptive neuro fuzzy based hybrid
7. References force/position control for an industrial robot
manipulator”.
[1] Jian-Fu Weng, Bo-Yi Li, Kuo-Lan Su, (2017) [18] Philip T. Vuong, Asad M. Madni, Jim B. Vuong
“Design and Implementation of the SCARA Robot Arm” (2014) “VHDL Implementation for a Fuzzy Logic
International Conference on Artificial Life and Robotics. Controller”. ResearchGate, University of California, Los
[2] Francisco G. Rossomando, Carlos M. Soria (2016) Angeles.
“Adaptive Neural Sliding Mode Control in Discrete [19] Yen, V.T., Nan, W.Y. & Van Cuong, P. Neural
Time for a SCARA robot arm” IEEE Latin America Comput & Applic (2018).
Transactions ( Volume: 14 , Issue: 6 , June 2016. https://doi.org/10.1007/s00521-018-3520-3. “Recurrent
[3] Yayun LI, Guohui ZENG, Weijun WANG, (2015) fuzzy wavelet neural networks based on robust adaptive
“The research on end-effector position and orientation sliding mode control for industrial robot manipulators”.
error distribution of SCARA industrial robot”. [20] Mario Pena, J. A. Gomez, Roman Osorio-
International Journal of research in Engineering and Comparan, Ismael Lopez-Juarez, Victor Lomas,
Science (IJRES). Humberto Gomez, Gaston Lefranc (2015) “Fuzzy Logic
[4]Yousra A. Mohammed, Leena K. Hashim. (2007) for Omni directional Mobile Platform Control
“Implementing Fuzzy Logic Controller Using VHDL”. Displacement using FPGA and Bluetooth” IEEE Latin
Eng. & Technology, Vol. 25, No. 9. America Transactions Volume: 13, Issue: 6 June 2015.
[5] Oleksandr Stepanenko, Lilian A. Bonev (2018) [21] Clarence W. de Silva (2018) “Intelligent Control
“Novel 4-DOF SCARA Parallel Robot With Cylindrical Fuzzy Logic Applications” CRC Press.
Workspace” ASME The american society of mechanical [22] Yan-Jun Liu, Shaocheng Tong (2015) “Adaptive
engineers. fuzzy control for a class of unkown nonlinear dynamical
[6] Jian-Fu Weng, Bo-yi Li, Kuo-lan Su, (2017) “Desing systems” Science Direct, Fuzzy sets and systems,
and implementation of the SCARA robot” International Volume 263, 15 march 2015, pages 49-70.
Conference on Artificial life and robotics, january 19-22 [23] Kot, A., Nawrocka, A., IEEE Industry Applications
Miyazaki, Japan. Society, Institute of Electrical and Electronics Engineers,
& Akademia Górniczo-Hutnicza im. S. Staszica w
[7] Morteza Shariatee, Alireza Akbarzadeh, Ali Krakowie. Wydział Inżynierii Mechanicznej i Robotyki.
Mouzavi, Salman Alimardani (2014) “Design of an Department of Process Control. (n.d.). Proceedings of
economical SCARA robot for industrial applications” the 2019 20th International Carpathian Control
Ferdowsi university of Mashhad, Iran. IEEE. Conference (ICCC) : Kraków - Wieliczka, Hotel
[8] M. S. Alshamasin, F. Ionescu, and R. T. Al-Kasasbeh, Turówka, Poland, May 26-29, 2019.
(2009) “Kinematic modeling and simulation of a

ISSN 2954-4734 M 27 Derechos Reservados © 2023, SOMIM


MEMORIAS DEL XXIX CONGRESO INTERNACIONAL ANUAL DE LA SOMIM
20 al 22 DE SEPTIEMBRE DE 2023 CIUDAD JUÁREZ, CHIHUAHUA, MÉXICO

[24]Oktarina, Y., Septiarini, F., Dewi, T., Risma, P., &


Nawawi, M. (2019). Fuzzy-PID Controller Design of 4
DOF Industrial Arm Robot Manipulator. Computer
Engineering and Applications, 8(2), 123.
[25] Tay, S. H., Choong, W. H., & Yoong, H. P. (2022).
A Review of SCARA Robot Control System. 4th IEEE
International Conference on Artificial Intelligence in
Engineering and Technology, IICAIET 2022.
https://doi.org/10.1109/IICAIET55139.2022.9936755
[26] Xu, B., Institute of Electrical and Electronics
Engineers. Beijing Section, & Institute of Electrical and
Electronics Engineers. (n.d.). Proceedings of 2019 IEEE
3rd Advanced Information Management,
Communicates, Electronic and Automation Control
Conference (IMCEC 2019) : October 11-13, 2019,
Chongqing, China.
[27] Zhen, S. C., Zhao, Z., Liu, X., Chen, F., Zhao, H., &
Chen, Y. H. (2020). A Novel Practical Robust Control
Inheriting PID for SCARA Robot. IEEE Access.
https://doi.org/10.1109/ACCESS.2020.3045789

[28] Craig John J. Introduction to robotics: Mechanics &


Control. Boston, Addison-Wesley Publishing Company,
1986.
[29] Fu K. S,. González R. C. y Lee C. S. G. Robótica:
Control, detección, visión e inteligencia. Estado de
México, McGraw-Hill Interamericana de México, 1989.
[30] Spong Mark w. & Vidyasagar M. Robot Dynamics
and Control. New York. John Wiley & Sons, 1989.

ISSN 2954-4734 M 28 Derechos Reservados © 2023, SOMIM

También podría gustarte