Professional Documents
Culture Documents
Ijre 5 028
Ijre 5 028
DOI: 10.35840/2631-5106/4128
Interna�onal Journal of
VIBGYOR Robo�c Engineering
Abstract
In this paper, we design a robust, fast, and practical proportional-integral-derivative (PID) controller
for the classical double pendulum system. We first derive the equations of motion for the two-link
robot manipulator using the Lagrangian approach. These equations are described by nonlinear system
of ordinary differential equations. Because closed form solutions of the equations of motion are not
available, we use the classical fourth-order Runge-Kutta method to approximate the solution of the
initial-value problem. Because of the nonlinear behavior, it is a challenging task to control the motion
of the two-link robot manipulator at accurate position defined by the user. For this, we focus mainly
on control of the robot manipulator to get the desired position using the computed torque control
method. After deriving the equation of motion, control simulation is represented using MATLAB.
Several computer simulations are used to verify the performance of the controller. In particular, we
present a PID controller to simulate how we would balance the two-links on a moving robot to any
specific angle including upside-down.
Keywords
Two-link robot manipulator, Robotics, PID controller, Dynamic control, Simulation
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 | • Page 2 of 17 •
of-freedom robots. They are useful because they function like human arms. We can begin to understand
the complex movement of human arms after defining the movement of the two-link manipulator [1]. The
total potential and kinetic energies of the two-link system are defined and used to form the Lagrangian.
The Euler-Lagrangian equation was used to define the torques applied to each link [2]. A proportional-in-
tegral-derivative (PID) controller is implemented to simulate the behavior of the system when torques are
applied [3]. The PID controllers are the most common used controllers, due to their easy implementation
and versatility. PID controllers remain the standard for industry and research given their flexibility and
ease of use in both simulation and hardware systems [4-6].
Due to the nonlinear nature of the two-link manipulator, specialized control systems are often required
to maintain a position or perform a task [7]. Researchers have found success using Sliding Mode Control
compared to PID [8]. Others have used Artificial Neural Networks and Holographic Neural Networks as
part of their PID feedback loop to perform the task of folding paper [9,10]. The proposed solution uses
the command ode45 in MATLAB to solve for the angle of each link relative to the positive X-axis. PID con-
trol is developed and considered to show how you can force the system to specific angles. We also show
graphical results of the system after the PID control is applied.
In this paper, we propose a PID controller for a double pendulum system. We derive the equations of
motion for a two-link robot manipulator based on Lagrangian Formulation. The equation of motion for
two link robot is a nonlinear differential equation. As the closed form solutions are not available we have
to use numerical solution. After deriving the equation of motion, control simulation is represented using
MATLAB. We expand upon the standard two-link manipulator problem, to that of an upside-down pen-
dulum with multiple links on top of a moving object. In this case we look to implement the control system
into a mobile robot called the Computer and Electronics Engineering Robot (CEEnBot).
The structure of this paper is as follows. In section 4, we derive the equations of motion for a two-link
robotic manipulator using the Lagrangian method. We also describe how to obtain the numerical solu-
tion using the ode45 command defined in MATLAB to solve the system of ordinary differential equations
numerically. We explain the design of the PID controller for the double pendulum system in section 5.
In section 6, we present several numerical examples to test the PID controller. Finally, we provide some
concluding remarks in section 7.
Dynamics of Two-Link Manipulators
Double pendula are an example of a simple physical system which can exhibit chaotic behavior. Un-
derstanding the two-link manipulator is key to learning robotic manipulators as a whole. We consider
the two-link robotic manipulator which is a classic example studied in introductory robotics courses. The
physical system is shown in Figure 1.
The system consists of two masses connected by weightless bars. The bars have lengths L1 and L2. The
masses are denoted by M1 and M2, respectively. Let θ1 and θ 2 denote the angles in which the first bar
rotates about the origin and the second bar rotates about the endpoint of the first bar, respectively. This
system has two degrees of freedom θ1 and θ 2 .
The first step in deriving the equations of motion using the Lagrangian approach is to find the kinetic
energy KE and the potential energy PE of the system.
The equations for the x-position and the y-position of M1 are given by
x1 = L1 cos (θ1 ) , y1 = L1 sin (θ1 ) . (4.1)
Similarly, the equations for the x-position and the y-position of M2 are given by
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 | • Page 3 of 17 •
y
M2
y2
L2
M1
2
y1
L1
x1 x2
x
where,
x1 = − L1θ1 sin (θ1 ) , y1 = L1θ1 cos (θ1 ) ,
x 2 = − L1θ1 sin (θ1 ) − L2θ2 sin (θ 2 ) , y 2 = L1θ1 cos (θ1 ) + L2θ2 cos (θ 2 )
dθ k dxk
Here and below the dot ˙ is a derivative with respect to t,= i.e., θk = , xk , for k = 1, 2.
dt dt
The kinematic energy can be calculated as follows
1 1
= KE M 1v12 + M 2 v22 . (4.4)
2 2
The equation for the kinetic energy can be written as
1 1
KE
= M 1 ( x12 + y12 ) + M 2 ( x22 + y 22 ) . (4.5)
2 2
Substituting (4.1) - (4.2) into (4.5), we get
1
(( ) ( ))
2 2
KE = M 1 − L1θ1 sin (θ1 ) + L1θ1 cos (θ1 )
2
1
(( ) ( ) ),
2 2
+ M 2 − L1θ1 sin (θ1 ) - L2θ2 sin (θ 2 ) + L1θ1 cos (θ1 ) + L2θ2 cos (θ 2 )
2
which can be simplified as
1 1
KE = ( M 1 + M 2 ) L12θ12 + M 2 L22θ22 + M 2 L1 L2θ1θ2 cos (θ1 - θ 2 ) . (4.6)
2 2
In order to calculate the Lagrangian, the potential energy PE has to be calculated. By definition the
potential energy of the system due to gravity of the ith pendulum is
PEi (θ ) = M i ghi (θ ) , i=1, 2, (4.7)
where hi is the height of the center of mass of the ith pendulum, g is the acceleration due to gravity
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 | • Page 4 of 17 •
constant, and Mi is the mass of the ith pendulum. Therefore, the total potential energy for both pendulums
can be given by
∑ i 1=
PE (θ ) = M 1 gL1 sin (θ1 ) + M 2 g ( L1 sin (θ1 ) + L2 sin (θ 2 ) )
∑ i 1 M i ghi (θ ) =
PEi (θ ) =
2 2
PE =
=
=( M 1 + M 2 ) gL1 sin (θ1 ) + M 2 gL2 sin (θ 2 )
(4.8)
Next, by Lagrange Dynamics, we form the Lagrangian which is defined as
= KE - PE (4.9)
Substituting the expressions for the kinetic energy (4.6) and potential energy (4.8) in for KE and
PE we get
1 1
= ( M 1 + M 2 ) L12θ12 + M 2 L22θ22 + M 2 L1 L2θ1θ2 cos (θ1 - θ 2 ) - ( M 1 + M 2 )
2 2 (4.10)
gL1 sin (θ1 ) - M 2 gL2 sin (θ 2 ) .
The Euler-Lagrange equation is given by the equation
d ∂ ∂
- = τi , i = 1,2, (4.11)
dt ∂θi ∂θi
where τ i is the torque applied to the ith link.
The derivations for the Lagrangian equation and Euler-Lagrange equation can be found in [1]. We were
more concerned with using the formulas in this problem rather than going into too much in detail for
these derivations.
From (4.10), we have
∂
= ( M 1 + M 2 ) L12θ1 + M 2 L1L2θ2 cos (θ1 - θ 2 ) ,
∂θi
∂
- M 2 L1 L2θ1θ2 sin (θ1 - θ 2 ) - ( M 1 + M 2 ) gL1 cos (θ1 ) ,
∂θ1
and
d ∂
=
dt ∂θi
( )
( M 1 + M 2 ) L12θ1 + M 2 L1L2θ2 cos (θ1 - θ 2 ) - M 2 L1L2θ2 θ1 - θ2 sin (θ1 - θ 2 ) .
Similarly, we compute
∂
= M 2 L22θ2 + M 2 L1 L2θ1 cos (θ1 - θ 2 ) ,
∂θ2
∂
= M 2 L1 L2θ1θ2 sin (θ1 - θ 2 ) - M 2 gL2 cos (θ 2 ) ,
∂θ 2
and
d ∂
=
dt ∂θ2
( )
M 2 L22θ2 + M 2 L1 L2θ1 cos (θ1 - θ 2 ) - M 2 L1 L2θ1 θ1 - θ2 sin (θ1 - θ 2 ) .
Therefore, (4.11) gives the following two nonlinear equations of motion which are second-order sys-
tem of ordinary differential equations
( M 1 + M 2 ) L22θ1 + M 2 L1L2θ2 cos (θ1 - θ 2 ) +
(4.12a)
M L L θ 2 sin (θ - θ ) + ( M + M ) gL cos (θ ) =
2 1 2 2 1 2 1 2 τ,
1 1 1
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 | • Page 5 of 17 •
τ2 δτ 1
+ L1θ12 sin (θ1 - θ 2 ) - g cos (θ 2 ) - cos (θ1 - θ 2 ) + δ L2θ22 sin (θ1 - θ 2 ) - g cos (θ1 )
M 2 L2 M 2 L1 . (4.14c)
g2 =
L2 (1 - δ cos (θ1 - θ 2 ) )
2
In order to solve for the angles θ1 and θ 2 , we need to solve the above second-order system of ordi-
nary differential equations. To do this, we first reduce the system into an equivalent system of first-order
ordinary differential equations.
Let us introduce four new variables
u1 = θ1 , u2 = θ 2 , u3 = θ1 , u4 = θ2 . (4.15)
After differentiating, we have
u1
=
θ= u3 , u=
2
θ= u4 , u=
3
θ= g1 ( t , u1 , u2 , u3 , u4 ) , u=
4
θ= g 2 ( t , u1 , u2 , u3 , u4 )
1 2 1 2
=s1 3 , s2
u= 4 , s3
u= g1 ( t , u1 , u2 , u3 , u4=
) , s4 g 2 ( t , u1 , u2 , u3 , u4 )
The initial conditions are given by
t
U 0 = u1 ( 0 ) , u2 ( 0 ) , u3 ( 0 ) , u4 ( 0 ) , , (4.16b)
Where,
=u1 ( 0 ) 1 ( 0 ) , u2 ( 0 )
θ= 2 ( 0 ) , u3 ( 0 )
θ= ( 0) , u ( 0)
θ=1 4 θ2 ( 0 ) .
The system (4.16a) subject to the initial condition (4.16b) can be solved for the unknown vector U ,
using, for example, the ode45 command defined in MATLAB to solve the system of ordinary differential
equations numerically. This command is based on the fourth-order Runge-Kutta method. For more details
consult [2,11].
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 | • Page 6 of 17 •
( )
θ = - M − 1 ( θ ) c θ,θ + G ( θ ) + Fˆ ,
(5.2)
Where
Fˆ = M − 1 ( θ ) F .
Thus, we decoupled the system to have the new input
f
Fˆ = 1 .
f2
However, the physical torque inputs to the system arė
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 | • Page 7 of 17 •
τ f
F = 1 = M ( θ ) 1 . (5.3)
τ 2 f2
Let us denote the error signals by
e (θ1 ) = θ1 f - θ1 , e (θ 2 ) = θ 2 f - θ 2 ,
Where the target positions of M1 and M2 are given by the angles θ1 f and θ 2 f , respectively.
We assume that the system has initial positions
θ ( 0 )
θ0 = 1 .
θ 2 ( 0 )
A common technique for controlling a system with input is to use the following general structure of
PID controller
f =K P e + K D e + K1 ∫ edt. (5.4)
In our situation, the technique for controlling the double pendulum system with inputs f1 and f2
is to employ two independent controllers, one for each link, as follows
f =K e (θ ) + K e (θ ) + K e (θ )dt =K (θ - θ ) - K θ + K
1 P1 1 1 D1 1 1 I1 ∫ 1 P1 1f 1 D1 1 I1 ∫ (θ
1f - θ1 )dt ,
f 2 =K P2 e2 (θ 2 ) + K D2 e2 (θ 2 ) + K I 2 ∫ e (θ 21 )dt =K P2 (θ 2 f - θ 2 ) - K D2θ2 + K I 2 ∫ (θ 2 f - θ 2 )dt ,
( )
θ = - M − 1 ( θ ) c θ,θ + G ( θ ) + Fˆ ,
(5.5)
Where
τ 1 K P (θ1 f - θ1 ) - K D θ1 + K I x1
τ = M ( θ ) .
1 1 1
(5.9)
K P2 (θ 2 f - θ 2 ) - K D2θ 2 + K I 2 x2
2
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 | • Page 8 of 17 •
To discretize the above system of differential equations in time, we transform them into a system of
first-order ordinary differential equations. To do this, we define six new variables as follows
= u x=,u x=,u θ=,u θ=,u , u
θ= θ , (5.10)
1 1 2 2 3 1 4 2 5 1 6 2
u
=
θ= φ ( t , u1 , u2 , u3 , u4 , u5 , u6 ) , u6 = θ2 = ψ ( t , u1 , u2 , u3 , u4 , u5 , u6 ) ,
5 1
φ K P (θ1 f - u3 ) - K D u5 + K I u1
ψ = - M −1
( )
θ c
θ,θ + G ( )
( )
θ + 1 1 1
,
K P (θ 2 f - u4 ) - K D u6 + K I u2
2 2 2
u3
and θ = .
u4
A simple calculation shows that
- M 2 L2u62 sin ( u3 - u4 ) - ( M 1 + M 2 ) g cos ( u3 ) - M 2 cos ( u3 - u4 ) ( L1u52 sin ( u3 - u4 ) - g cos ( u4 ) )
φ =
L1 ( M 1 + M 2 - M 2 cos 2 ( u3 - u4 ) )
+ K P1 (θ1 f - u3 ) - K D1 u5 + K I1 u1 ,
=h1 θ1 f - u=
3 , h2 θ 2 f - u=
4 , h3 5 , h4
u= u6 ,
h5 = φ ( t , u1 , u2 , u3 , u4 , u5 , u6 ) , h6 = ψ ( t , u1 , u2 , u3 , u4 , u5 , u6 ) .
The initial conditions are given by
t
U 0 = u1 ( 0 ) , u2 ( 0 ) , u3 ( 0 ) , u4 ( 0 ) , u5 ( 0 ) , u6 ( 0 ) ,
Where,
u1 ( 0 )
= 1 ( 0 ) , x2 ( 0 )
x= θ=2 ( 0 ) , u3 ( 0 ) θ=1 ( 0 ) , u4 ( 0 ) 2 ( 0 ) , u5 ( 0 )
θ= (0) , u (0)
θ=1 6 θ2 ( 0 ) .
The system (3.10) can be solved for the unknown vector U , using, for example, the ode45 command
defined in MATLAB to solve the system of ordinary differential equations numerically. This command is
based on the fourth-order Runge-Kutta method. For more details consult [2,11].
Once we solve for, we obtain to torques using U = ( u1 , u2 , u3 , u4 , u5 , u6 ) ,
t
τ 1 K P (θ1 f - u3 ) - K D u5 + K I u1
τ = M ( θ ) ,
1 1 1
(5.11)
P2 ( 2 f 4)
2 K θ - u - K u
D2 6 + K u
I2 2
or equivalently,
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 | • Page 9 of 17 •
τ1 = (
( M 1 + M 2 ) L12 K P (θ1 f - u3 ) - K D u5 + K I u1 1 1 1
)
(
+ M 2 L1 L2 cos ( u3 - u4 ) K P2 (θ 2 f - u4 ) - K D2 u6 + K I 2 u2 , )
τ2 (
M 2 L1 L2 cos ( u3 - u4 ) K P1 (θ1 f - u3 ) - K D1 u5 + K I1 u1 ) (
+ M 2 L22 K P2 (θ 2 f - u4 ) - K D2 u6 + K I 2 zu2 . )
Simulations Results
The PID controller helps get the outputs, which are the final positions of M1 and M2 determined by the
angles θ1 and θ 2 , where we want it, in a short time, with minimal overshoot, and with little error. This will
be demonstrated using the following examples.
Example 1. We consider the simplified model of a two-link manipulator shown in Figure 1. In this ex-
periment, we take the following parameters
M1
= M
= 2 1,=
L2 1 . 2,=
L2 (6.1)
θ1 f π 2
The target positions (final positions) are = .
θ
2 f 0
The initial positions, initial angle velocities, and initial states are, respectively, taken as
θ1 ( 0 ) π 2 θ1 ( 0 ) 0 x1 ( 0 ) 0
=
= , = , 0 .
θ 2 ( 0 ) π 2 θ2 ( 0 ) 0 x2 ( 0 )
The PID parameters for θ1 and θ 2 , are taken as
KP1 = 30, KD1 = 15, KI1 = 20,
KP2 = 30, KD2 = 10, KI2 = 20.
In Figure 2, we show the initial and target positions of the two-link manipulator. Next, we plot the po-
sitions θ1 and θ 2 of M1 and M2 versus time over the interval [0,30] in Figure 3.
In Figure 4 we present the difference between where we want to go and where we are actually at i.e.,
e (θ1 ) = θ1 f - θ1 , e (θ 2 ) = θ 2 f - θ 2 ,
where θ1 f and θ 2 f are the target positions and θ1 (t ) and θ 2 (t ) are the numerical approximations ob-
tained by solving the system of ODEs. These results indicate that the PID controller gets the final positions
The target position of the two-link manipulator The initial position of the two-link manipulator
3 3
2 2
1 1
0 0
y
-1 -1
-2 -2
-3 -3
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
x x
Figure 2: The initial positions (left) and the final position (right) of M1 and M2 for example 1.
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 |• Page 10 of 17 •
1.58 1.5
1.57 1
(t) (rad)
(t) (rad)
1.56 0.5
1
2
1.55 0
1.54 -0.5
1.53 -1
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Figure 3: The positions of M1 (left) and M2 (right) versus time for example 1.
Error for 1
versus time Error for 2
versus time
0.04 1
0.03 0.5
0.02 0
1)
2)
0.01 -0.5
e(
e(
0 -1
-0.01 -1.5
-0.02 -2
0 5 10 15 20 25 30 0 5 10 15 20 25 30
(θ1 ) θ1 ( t ) − θ1 f and e =
Figure 4: The errors e = (θ 2 ) θ 2 ( t ) − θ 2 f versus time for example 1.
of M1 and M2 determined by the angles θ1 and θ 2 , in a short time (almost 7 seconds) with very small error.
Finally, in Figure 5, we show the torques f1 and f2 versus time
Note that the actual joints torques are
τ 1 f1
τ = M ( θ ) f .
2 2
Example 2. We repeat the previous example with all parameters kept unchanged except for the final
positions where we use
θ1 f π 4
θ = . (6.2)
2f − π 4
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 |• Page 11 of 17 •
20 10
0 0
(t)=f (t)
(t)=f (t)
1
2
-20 -10
1
2
Torque of
Torque of
-40 -20
-60 -30
-80 -40
-100 -50
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Figure 5: The torques of θ1 (left) and θ 2 (right) versus time for example 1.
The initial position of the two-link manipulator The target position of the two-link manipulator
3 3
2 2
1 1
0 0
y
y
-1 -1
-2 -2
-3 -3
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
x x
Figure 6: The initial positions (left) and the final position (right) of M1 and M2 for example 2.
The initial and target positions of M1 and M2 are shown in Figure 6. We present the positions θ1 and
θ 2 of M1 and M2 versus time in Figure 7. In Figure 8 we present the errors between the estimate posi-
tions and target positions. Finally, in Figure 9, we show the torques versus time. Once again, these results
demonstrate that the PID controller gets the final positions of M1 and M2 in a short time (approximately
5 seconds).
Example 3. In this example, we consider the two-link manipulator shown in Figure 1 with the following
parameters
M1
= M
= 2 1,=
L2 2,=
L2 1 . (6.3)
The initial positions, initial angle velocities, and initial states are, respectively, taken as
θ1 ( 0 ) − π 2 θ1 ( 0 ) 0 x1 ( 0 ) 0
= , = , = .
θ 2 ( 0 ) π 2 θ2 ( 0 ) 0 x2 ( 0 ) 0
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 |• Page 12 of 17 •
1.6 2
1.5
1.4
1.2
0.5
(t) (rad)
(t) (rad)
1
0
1
2
0.8
-0.5
0.6
-1
0.4 -1.5
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Figure 7: The positions of M1 (left) and M2 (right) versus time for example 2.
0.5
0.2
-0.5
)
)
1
-0.2
e(
e(
-1
-0.4
-1.5
-0.6
-2
-0.8 -2.5
0 5 10 15 20 25 30 0 5 10 15 20 25 30
(θ1 ) θ1 ( t ) − θ1 f and e =
Figure 8: The errors e = (θ 2 ) θ 2 ( t ) − θ 2 f versus time for example 2.
θ1 f 0
The target positions (final positions) are θ = 0 .
2f
The PID parameters for θ1 and θ 2 , are taken as
KP1 = 30, KD1 = 15, KI1 = 20,
KP2 = 30, KD2 = 20, KI2 = 20.
The initial and target positions of the two-link manipulator are shown in Figure 10. In Figure 11 we
present the positions θ1 and θ 2 of M1 and M2 versus time over the interval [0,30]. In Figure 12 we present
the errors e( θ1 ) and e( θ 2 ) between the target position and the estimate position found numerically. Again
it takes only few seconds to get the target position. We would like to mention that the PID controller gets
the final positions of M1 and M2 in a short time (approximately in seconds) with very small error. Finally,
we show the torques f1 and f2 versus time in Figure 13.
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 |• Page 13 of 17 •
50
0
-20
(t)=f (t)
-50
(t)=f (t)
2
1
-40
-100
2
1
Torque of
Torque of
-150 -60
-200
-80
-250
-100
-300
-120
-350
0 5 10 15 20 25 30
0 5 10 15 20 25 30
Figure 9: The torques of θ1 (left) and θ 2 (right) versus time for example 2.
The initial position of the two-link manipulator The target position of the two-link manipulator
3 3
2 2
1 1
0 0
y
-1 -1
-2 -2
-3 -3
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
x x
Figure 10: The initial positions (left) and the final position (right) of M1 and M2 for example 3.
Example 4. Finally, we consider the two-link manipulator shown in Figure 1 with the following param-
eters
M1
= M
= 2 1,=
L2 2,=
L2 1. (6.4)
The initial positions, initial angle velocities, and initial states are, respectively, taken as
θ1 ( 0 ) − π 2 θ1 ( 0 ) π 2 x1 ( 0 ) 0
= , = , = 0 .
θ 2 ( 0 ) − π 2 θ 2 ( 0 ) π 2 x2 ( 0 )
The target positions (final positions) are
θ1 f 0
θ = .
2f 0
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 |• Page 14 of 17 •
0.2 1.6
1.4
0
1.2
-0.2
1
-0.4
0.8
-0.6
(t) (rad)
(t) (rad)
0.6
-0.8
1
0.4
2
-1
0.2
-1.2
0
-1.4
-0.2
-1.6
-0.4
0 5 10 15 20 25 30
0 5 10 15 20 25 30
Figure 11: The positions of M1 (left) and M2 (right) versus time for example 3.
1.4 0.2
0
1.2
-0.2
1
-0.4
0.8
)
)
1
-0.6
e(
e(
0.6
-0.8
0.4
-1
0.2
-1.2
0
-1.4
-0.2 -1.6
0 5 10 15 20 25 30 5
0 10 15 20 25 30
(θ1 ) θ1 ( t ) − θ1 f and e =
Figure 12: The errors e = (θ 2 ) θ 2 ( t ) − θ 2 f versus time for example 3.
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 |• Page 15 of 17 •
20
400
0
-20
300
(t)=f (t)
(t)=f (t)
1
2
-40
1
2
200 -60
Torque of
Torque of
-80
100
-100
-120
0
-140
-100 -160
0 5 10 15 20 25 30 0 5 10 15 20 25 30
time t (sec)
time t (sec)
Figure 13: The torques of θ1 (left) and θ 2 (right) versus time for example 3.
The initial position of the two-link manipulator The target position of the two-link manipulator
3 3
2 2
1 1
0 0
y
-1 -1
-2 -2
-3 -3
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
x x
Figure 14: The initial positions (left) and the final position (right) of M1 and M2 for example 4.
Euler-Lagrange method and then a simple and efficient control scheme was developed. More specifically,
a robust Proportional-Integral-Derivative (PID) controller was introduced to control the motion of the ro-
bot at a specific position. In particular, we described how a PID controller can be used to keep the links in
a desired position. The efficiency of the PID controller is verified by the simulation results. The proposed
research can be used to design and code control algorithms for a mobile robot. These algorithms allow us
to balance upside-down pendulums on a mobile robot. There could be many solutions for coding this PID
control depending on what sensors are used to find the angles of the links. In this study, we considered a
planar robot having rotational joints. However, the PID controller presented in this paper can be extended
for robots having prismatic joints. In the future, we are planning to consider complex joints such as a ball
and socket joint.
Acknowledgement
This project was funded by the Kerrigan Research Minigrant Program. The authors would like to thank
the anonymous reviewer for the valuable comments and suggestions which improved the quality of the
paper.
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 |• Page 16 of 17 •
2 2
1.5 1.5
1 1
0.5
0.5
(t) (rad)
(t) (rad)
0
0
1
2
-0.5
-0.5
-1
-1
-1.5
-1.5
-2
-2
0 5 10 15 20 25 30
0 5 10 15 20 25 30
time t (sec) time t (sec)
Figure 15: The positions of M1 (left) and M2 (right) versus time for example 4.
3 3
2.5
2.5
2
2
1.5
1.5
)
1
)
2
e(
1
e(
0.5
0.5
0
0
-0.5
-0.5
-1
0 5 10 15 20 25 30 -1
0 5 10 15 20 25 30
time t (sec) time t (sec)
(θ1 ) θ1 ( t ) − θ1 f and e =
Figure 16: The errors e = (θ 2 ) θ 2 ( t ) − θ 2 f versus time for example 4.
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028
Baccouch and Dodds. Int J Robot Eng 2020, 5:028 ISSN: 2631-5106 |• Page 17 of 17 •
250
800
200
600
(t)=f (t)
(t)=f (t)
2
1
150
2
1
400
Torque of
Torque of
100
200
50
0
0
-200 -50
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Figure 17: The torques of θ1 (left) and θ 2 (right) versus time for example 4.
Conflict of Interest
The Authors declare that there is no conflict of interest.
References
1. RM Murray, Z Li, SS Sastry (1994) A mathematical introduction to robotic manipulation. CRC press.
2. RL Burden, JD Faires, AM Burden (2016) Numerical analysis. Cengage Learning, Boston, MA.
3. JYS Luh (1983) Conventional controller design for industrial robots a tutorial. IEEE Transactions on Systems, Man,
and Cybernetics SMC-13: 298-316.
4. J Shah, S Rattan, B Nakra (2015) Dynamic analysis of two link robot manipulator for control design using computed
torque control. International Journal of Research in Computer Applications and Robotics 3: 52-59.
5. G Nandy, B Chatterjee, A Mukherjee (2018) Dynamic analysis of two-link robot manipulator for control design.
Advances in Communication, Devices and Networking, Springer, 767-775.
6. JS Kumar, EK Amutha (2014) Control and tracking of robotic manipulator using PID controller and hardware in
loop simulation. International Conference on Communication and Network Technologies, IEEE.
7. A Mohammed, A Eltayeb (2018) Dynamics and control of a two-link manipulator using PID and sliding mode con-
trol. International Conference on Computer, Control, Electrical, and Electronics Engineering (ICC- CEEE), IEEE.
8. NK Chaturvedi, L Prasad (2018) A comparison of computed torque control and sliding mode control for a three
link srobot manipulator. International Conference on Computing, Power and Communication Technologies (GU-
CON), IEEE.
9. J Romero, L Diago, J Shinoda, I Hagiwara (2015) Evaluation of brain models to control a robotic origami arm us-
ing holographic neural networks. International Design Engineering Technical Conferences and Computers and
Information in Engineering Conference, 57137.
10. DM Wolpert, RC Miall, M Kawato (1998) Internal models in the cerebellum. Trends in cognitive sciences 2: 338-
347.
11. CH Edwards, DE Penney, DT Calvis (2016) Differential equations and boundary value problems. Pearson Educa-
tion Limited.
DOI: 10.35840/2631-5106/4128
Citation: Baccouch M, Dodds S (2020) A Two-Link Robot Manipulator: Simulation and Control Design. Int J Robot Eng 5:028