0% found this document useful (0 votes)
145 views

Robotics Assignment Two

This document contains an assignment submitted by Misgana Eticha to Dr. Dereje Shiferaw for a Robotics and Control course. The assignment contains two problems. The first problem asks to determine the projection of axes from one reference frame to another and calculate a rotational matrix. The second problem asks to identify possible sensors and actuators for a robotic manipulator, use Denavit-Hartenberg parameters to derive its forward kinematics, and use inverse kinematics to calculate joint angles from a given end effector pose.

Uploaded by

misgana eticha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
145 views

Robotics Assignment Two

This document contains an assignment submitted by Misgana Eticha to Dr. Dereje Shiferaw for a Robotics and Control course. The assignment contains two problems. The first problem asks to determine the projection of axes from one reference frame to another and calculate a rotational matrix. The second problem asks to identify possible sensors and actuators for a robotic manipulator, use Denavit-Hartenberg parameters to derive its forward kinematics, and use inverse kinematics to calculate joint angles from a given end effector pose.

Uploaded by

misgana eticha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Jimma University

Jimma Institute of Technology


School of Biomedical Engineering
Biomedical Instrumentation (1stYear, 2nd semester M.sc)

Robotics and Control


Assignment- Two

By: Misgana Eticha


ID. No:RM2655/12-0
Submitted to: Dr. Dereje Shiferaw

Date: 11/1/, 2020


Jimma, Ethiopia
1. a) Given the following figure, determine the projections of axes of frame {1}
with respect to frame {0}, i.e. give the projection of x-axis of frame {1} w. r. t. x, y,
z axes of frame {0} and so projectionz0of y axis of frame {1} w.r.t frame {0}.
y1

z1
=35
y0
x0
x1

Determine the rotational matrix which expresses the rotation of frame {1} with
respect to frame {0}

Answer
1A.
1
√ The projection of x1 on x0,y0,z0 is 0
0

0 0
√ The projection of y1 0n x0,y0,z0 is cos(35) = 0.82
sin( 35) 0.574

0 0
√ The projection of z1 on x0, y0, z0 is −sin⁡(35) = −0.574
cos⁡(35) 0.82

projection axes of frame {1} with respect to frame {0} are:


1 0 0
[0 0.82 −0.574]
0 0.574 0.82
1b) Consider the following diagram. The origin of frame {1} is at (2,10,-5) with
respect to frame {0}. Determine the homogenous transformation matrix 𝑇10 .

z0
p (-2,5.5,4)

y0 x1

x0

y1

z1

Answer
1B.

Since the rotation is on Y axis at 90 degree

cos⁡ ∅ 0 𝑠𝑖𝑛∅ cos⁡(90) 0 sin⁡(90) 0 0 1


R=[ 0 1 0 ]= [ 0 1 0 ] = [0 1 0]
−𝑠𝑖𝑛∅ 0 𝑐𝑜𝑠∅ −sin⁡(90) 0 cos⁡(90) −1 0 0

0 0 1 𝑝1 0 0 1 2
𝑅 𝑃 0 1 0 𝑝2 0 1 0 10
T=[ ]= [ ]=[ ]
0 1 −1 0 0 𝑝3 −1 0 0 −5
0 0 0 1 0 0 0 1

0 0 1 2
0 1 0 10
Therefore: T = [ ]
−1 0 0 −5
0 0 0 1
2. Consider the following robotic manipulator

a) a) List the possible type, number and application of sensors and


actuators that the robot can have
b) Using DH algorithm, determine the link and joint parameters and
derive the forward kinematics of the robot
c) If the position and orientation of the end effector at some time is given
by the matrix below, find the three joint angles using Inverse
kinematics principles.

− 0.6 − 0.5 0.7 0.5 


 0.35 0.866 − 0.35 − 0.18
T= 
 0.7 0 0.6 0.21 
 
 0 0 0 1 
Answer

2a, Sensors provide analogs to human senses and can monitor other phenomena
for which humans lack explicit sensors.

• Simple Touch: Sensing an object's presence or absence.


• Complex Touch: Sensing an object's size, shape and/or hardness.
• Simple Force: Measuring force along a single axis.
• Complex Force: Measuring force along multiple axes.
• Simple Vision: Detecting edges, holes and corners.
• Complex Vision: Recognizing objects.
• Proximity: Non-contact detection of an object.

Sensors can measure physical properties, such as the distance between objects, the
presence of light and the frequency of sound. They can measure:

• Object Proximity: The presence/absence of an object, bearing, color, and


distance between objects.
• Physical orientation. The co-ordinates of object in space.
• Heat: The wavelength of infrared or ultra violet rays, temperature,
magnitude, direction.
• Chemicals: The presence, identity, and concentration of chemicals or
reactants.
• Light: The presence, color, and intensity of light.
• Sound: The presence, frequency, and intensity of sound.

Motion controllers, potentiometers, taco-generators and encoder are used as joint


sensors, whereas strain-gauge based sensing is used at the end-effector location
for contact force control.

Internal sensor-It is the part of the robot. Internal sensors measure the robot's
internal state. They are used to measure position, velocity and acceleration of the
robot joint or end effectors.

Position sensor-Position sensors measure the position of a joint (the degree to


which the joint is extended). They include:

• Encoder: a digital optical device that converts motion into a sequence of


digital pulses.
• Potentiometer: a variable resistance device that expresses linear or angular
displacements in terms of voltage.
• Linear variable differential transformer: a displacement transducer that
provides high accuracy. It generates an AC signal whose magnitude is a
function of the displacement of a moving core.
• Synchros and Resolvers

Velocity Sensor-A velocity or speed sensor measures consecutive position


measurements at known intervals and computes the time rate of change in the
position values.

2. B

Create a table of link parameters ai , di , αi , θi . ai

i 𝛼i ai Di Θi
1 0 0 0 θ1
2 0 L1 0 θ2
3 0 L2 0 θ3

Homogeneous transformation matrices from link 1 to 0:

𝑐1 −𝑠1 0 0
𝑠1 𝑐1 0 0
T01 = [ ] rotate on z axis
0 0 1 0
0 0 0 1

Homogeneous transformation matrices from link 1 to 2:

𝑐2 −𝑠2 0 𝑙1
𝑠2 𝑐2 0 0
T12 = [ ] rotate on z axis and translate on by l1 x axis
0 0 1 0
0 0 0 1

Homogeneous transformation matrices from link 2 to 3:


𝑐3 −𝑠3 0 𝑙2
𝑠3 𝑐3 0 0
T23 = [ ] rotate on z axis and translate on by l2 x axis
0 0 1 0
0 0 0 1

Homogeneous transformation matrices from link 3 to tool:

1 0 0 𝑙3
0 1 0 0
T3tool = [ ] there is no rotation it is only translating
0 0 1 0
0 0 0 1

from T0tool = T01 *T12 *T23 *T3tool. This then gives the position and orientation of
the tool frame expressed in base coordinates

T0tool =
𝑐12𝑐3 − 𝑠12𝑠3 −𝑐12𝑠3 − 𝑠12𝑐3 0 𝑙1𝑐1 + 𝑙2𝑐12 + 𝑙3𝑐123
𝑠12𝑐3 + 𝑐12𝑠3 −𝑠12𝑠3 + 𝑐3𝑐13 0 𝑙1𝑠1 + 𝑙2𝑠12 + 𝑙3𝑠123
[ ]
0 0 1 0
0 0 0 1

𝑥 𝑙1𝑐1 + 𝑙2𝑐12 + 𝑙3𝑐123


The position is 𝑦 = 𝑙1𝑠1 + 𝑙2𝑠12 + 𝑙3𝑠123
𝑧 0

X =⁡𝑙1𝑐1 + 𝑙2𝑐12 + 𝑙3𝑐123= l1cos(θ1) + l2cos(θ1+ θ2) + l3cos(θ1+⁡θ2 +


θ3)

Y = 𝑙1𝑠1 + 𝑙2𝑠12 + 𝑙3𝑠123= = l1sin(θ1) + l2sin(θ1+ θ2) + l3sin(θ1+⁡θ2 +


θ3)

Z= 0

Ф = θ1 + θ2 + θ3
2C.

C1 0 S1 0 C2 − S2 0 L2C2  C3 − S3 0 L3C3 


S S 0 L3 S3 
0 − C1 0 S 0 L2 S 2  C3
T3 =  3
C2
T1 =  1 T2 =  2
0 1 2

0 1 0 0 0 0 1 0  0 0 1 0 
     
0 0 0 1 0 0 0 1  0 0 0 1 

T3 = 0T1 1T2 2T3


0

C1C23 − C1S 23 S1 C1 (L3C23 + L2C2 )  r11 r12 r13 r14  − 0.6 − 0.5 0.7 0.5 
S C − S1S 23 − C1 S1 (L3C23 + L2C2 ) r21 r22 r23 r24   0.35 0.866 − 0.35 − 0.18
0
T3 =  1 23 =  
 S 23 C23 0 L3 S 23 + L2 S 2  r31 r32 r33 r34  =  0.7 0 0.6 0.21 
     
 0 0 0 1  0 0 0 1
 0 0 0 1 

S1 (L3C23 + L2C2 ) 𝑟24 𝑆1 −0.18


=⁡ = = = −0.36
C1 (L3C23 + L2C2 ) 𝑟14 𝐶1 0.5

sin 𝜃1
= ⁡ −0.36
cos 𝜃1

tan 𝜃1 = ⁡ −0.36

θ1 = tan−1 (−0.36)

𝜃1 = ⁡ −19.8°

For the other two angles

T1 1T2 2T3 = T
0

 
T1 1T2 = T 2T3
0 −1

----------------------------(1)

From equation (1)


𝐿2𝐶1𝐶2 = −𝐿3𝑟11 + 𝑟14 − − − − − − − −(2)

𝐿2𝑆1𝐶2 = ⁡ −𝐿3𝑟21 + 𝑟24 − − − − − − − −(3)

𝐿2𝑆2 = ⁡ −𝐿3𝑟31 + 𝑟34 − − − − − − − − − (4)

Square equation (2) $ (3), add them and use the trigonometric identity

(𝐿2𝐶1𝐶2 = −𝐿3𝑟11 + 𝑟14)2

(𝐿2𝑆1𝐶2 = ⁡ −𝐿3𝑟21 + 𝑟24)2

(𝐿2𝐶1𝐶2)2 + (𝐿2𝑆1𝐶2)2 = ⁡ (−𝐿3𝑟11 + 𝑟14)2 +⁡(−𝐿3𝑟21 + 𝑟24)2

(𝐿2𝐶2)2 (𝐶12 + 𝑆12 ) = ⁡ (−𝐿3𝑟11 + 𝑟14)2 +⁡(−𝐿3𝑟21 + 𝑟24)2

𝐿2𝐶2 = ⁡ ±√(−𝐿3𝑟11 + 𝑟14)2 + (−𝐿3𝑟21 + 𝑟24)2 -----------------------(5)

Dividing equation (4) by equation (5)

𝐿2𝑆2 −𝐿3𝑟31+𝑟34
= =
𝐿2𝐶2 ±√(−𝐿3𝑟11+𝑟14)2 +(−𝐿3𝑟21+𝑟24)2
−𝐿3∗0.7+0.21
±√(−𝐿3∗−0.6+0.5)2 +(−𝐿3∗0.35−0.18)2

0.21 − 0.7𝐿3
=
±√(0.6𝐿3 + 0.5)2 + (−0.35𝐿3 − 0.18)2

0.21 − 0.7𝐿3
θ2 = ⁡tan−1 ( )
±√(0.6𝐿3 + 0.5)2 + (−0.35𝐿3 − 0.18)2
= ⁡ ____________________

To obtain θ2⁡first⁡we⁡have⁡to⁡calculate⁡L3 from equation (2) and (3)

𝐿2𝑆1𝐶2 −𝐿3𝑟21 + 𝑟24


=⁡
𝐿2𝐶1𝐶2 −𝐿3𝑟11 + 𝑟14
𝑆1 −𝐿3𝑟21 + 𝑟24
=⁡
𝐶1 −𝐿3𝑟11 + 𝑟14

−𝐿3𝑟21 + 𝑟24 −𝑙3 ∗ 0.35 − 0.18


tan 𝜃1 = ⁡ =⁡
−𝐿3𝑟11 + 𝑟14 −𝑙3 ∗ −0.6 + 0.5

−𝑙3 ∗ 0.35 − 0.18


−0.36 = ⁡
−𝑙3 ∗ −0.6 + 0.5

−0.36(0.6𝑙3 + 0.5) = −0.35𝑙3 − 0.18

−0.21𝑙3 + 0.35𝑙3 = −0.18 + 0.18

𝑙3 = 0

0.21 − 0.7𝐿3
θ2 = ⁡tan−1 ( )
±√(0.6𝐿3 + 0.5)2 + (−0.35𝐿3 − 0.18)2
0.21
= ⁡ tan−1 = ⁡ tan−1 (±0.4) = 49.41°⁡𝑜𝑟 − 49.41°
±0.53

𝜃2 = 21.8°⁡𝑜𝑟 − 21.8°

The third angle is obtained by dividing (r22) by (r21) and equating to left side

−𝑆1𝑆23 𝑟𝑟22 0.866


=⁡ =⁡
𝑆1𝐶23 𝑟21 0.35

tan(𝜃2 + 𝜃3) = −2.474

θ2 + ⁡θ3 = ⁡tan−1 − 2.474

𝜃2 + 𝜃3 = ⁡ −67.99°

𝜃3 = ⁡ −67.99 − 𝜃2= -67.99+21.8 or -67.99 – 21.8

𝜃3 = −46.19°⁡𝑜𝑟 − 89.79°
3) . A spherical robotic manipulator having 3 robotic joints shown below is
required to move an object from location A=[-0.6m -0.8m 0m] to location
B=[0.8m 0.6m 0.0m ].

a) Design a third order polynomial joint space trajectory for the three joints
assuming equal time motion of the three joints. T=10sec. Assume L1=1.5m,
L2=1m and L3=0.5m all having shape of rectangular prism
b) In the joint trajectory given above, if the mass of the three joints is
M1=1.0Kg, M2=1Kg and M3=1.0Kg,. Which of the three motors, need large
torque.
c) With the details given in b above and considering all valid assumptions,
implement the robotic manipulator using SIMMECHANICS. Implement a PID
controller and show the motion of the manipulator for the trajectory designed in
a above.

Answer
3A
1 0 0 −0.6
0 1 0 −0.8
Position matrix A= [ ] Position matrix B=
0 0 −1 0
0 0 0 1
1 0 0 0.8
0 1 0 0.6
[ ]
0 0 −1 0
0 0 0 1
Performing inverse kinematics to get the initial and final angle values for
polynomial trajectory calculation:

C1C23 − C1S 23 S1 C1 (L3C23 + L2C2 )  r11 r12 r13 r14 


S C − S1S 23 − C1 S1 (L3C23 + L2C2 ) r21 r22 r23 r24 
0
T3 =  1 23 =
 S 23 C23 0 L3 S 23 + L2 S 2  r31 r32 r33 r34 
   
 0 0 0 1  0 0 0 1
To calculate the angle for position A

𝐶1(𝑙3𝐶23 + 𝐿2𝐶2) = 𝑟14 = ⁡ −0.6----------------(1)

𝑆1(𝑙3𝐶23 + 𝑙2𝐶2) = 𝑟24 = −0.8------------------(2)

From above equations

−0.8
𝑡𝑎𝑛𝜃1 = ⁡
−0.6

𝜃1 = ⁡ tan−1 1.333 = 53° which is initial


angle

∴ 𝜃𝑖𝑛𝑖𝑡𝑖𝑎𝑙 = 53°

To calculate the angle for position B

𝐶1(𝑙3𝐶23 + 𝐿2𝐶2) = 𝑟14 = ⁡0.8----------------(3)

𝑆1(𝑙3𝐶23 + 𝑙2𝐶2) = 𝑟24 = 0.6------------------(4)

From above equations

0.6
𝑡𝑎𝑛𝜃1 = ⁡
0.8

𝜃1 = ⁡ tan−1 0.75 = 53.13° = 37° which is


final angel
∴ 𝜃𝑓𝑖𝑛𝑎𝑙 = 37°

The standard form of third polynomial trajectory is given by

𝜃(𝑡) = 𝑎0 + ⁡ 𝑎1 𝑡 + ⁡ 𝑎2 𝑡 2 + 𝑎3 𝑡 3 ⁡

𝜃̇(𝑡) = ⁡ 𝑎1 + ⁡ 2𝑎2 𝑡 1 + 3𝑎3 𝑡 2

We have four constraints:

𝜃(0) = 𝜃0 − − − − − − − − − − − (1)

𝜃(𝑡𝑓) = 𝜃𝑓 − − − − − − − − − − − (2)

𝜃̇(0) = 0 − − − − − − − − − − − −(3)

𝜃̇(𝑡𝑓) = 0 − − − − − − − − − − − (4)

From above equations

𝜃(0) = 𝜃0 = ⁡ 𝑎0 =⁡53

𝑎0 =⁡53

𝜃̇(0) = ⁡ 𝑎1 + ⁡ 2𝑎2 0 + 3𝑎3 0 = 0

𝑎1 = 0

𝜃(𝑡𝑓) = 𝜃𝑓 = ⁡ 𝑎0 + ⁡ 𝑎1 𝑡 + ⁡ 𝑎2 𝑡 2 + 𝑎3 𝑡 3 = 37

𝑎1 𝑡 + ⁡ 𝑎2 𝑡 2 + 𝑎3 𝑡 3 = 37 − 53

⁡⁡𝑎2 𝑡 2 + 𝑎3 𝑡 3 = −16 − − − − − − − (5)

𝜃̇(𝑡𝑓) = 0 = 𝑎1 + 2𝑎2 𝑡 1 + 3𝑎3 𝑡 2

2𝑎2 𝑡 1 + 3𝑎3 𝑡 2 = 0
2𝑎2 + 3𝑎3 𝑡 = 0 − − − − − − − − − −(6)

From equation (5) and (6) compute 𝑎2 and 𝑎3

3
𝑎2 = (−16)
𝑡2

3
𝑎2 = (−16) = −0.48
100

𝑎2 = −0.48

2
𝑎3 = (−16)
𝑡3

2
𝑎3 = − (−16) = ⁡0.032
1000

𝑎3 = 0.032

∴ ⁡𝜃(𝑡) = 53 − 0.48𝑡 2 + 0.032𝑡 3

𝜃̇(𝑡) = ⁡ −0.96𝑡 + 0.064𝑡 2


4 a) Explain the basic idea of MPC system
b) For the system given by
0 1 0
𝐴𝑚 = [ ] 𝐵𝑚 = [ ] Cm=[1 0]
−2 −3 1
Find the augmented MPC model of the system. If the initial states of the system
is given by
2
𝑥(0) = [ ] and if the control signal is given by ∆𝑢(0) = 2.5,⁡calculate the next
0
state x(1/0) and y(1/0) of the MPC
c) Explain the terms prediction horizon and receding horizon in MPC

Answer
4a, Model Predictive Control (MPC) is an optimal control strategy based on
numerical optimization. A model predictive control law contains the basic
components of prediction, optimization and receding horizon implementation.
Model Predictive Control (MPC) is a multivariable control algorithm that uses:

• an internal dynamic model of the process


• a cost function J over the receding horizon
• an optimization algorithm minimizing the cost function J using the control
input u

MPC provides a systematic method of dealing with constraints on inputs and


states. Such constraints are present in all control engineering applications and
represent limitations on actuators and plant states arising from physical,
economic, or safety constraints. In MPC these constraints are accounted for
explicitly by solving a constrained optimization problem in real-time to deter-
mine the optimal predicted inputs.

How far ahead the model predicts the future. When the prediction horizon is
well matched to the lag between input and output, the user learns how to control
the system more rapidly, and achieves better performance.
4B

Solution

A common discrete state space model is given as

𝑥𝑘+1 = 𝐴𝑥𝑘 + 𝐵𝑢𝑘 − − − − − − − −(1)

𝑦𝑘 = 𝐶𝑥𝑘 + 𝑑𝑘 − − − − − − − −(2)

Where, 𝑥𝑘+1 is state, 𝑢𝑘 is input or control signal, 𝑑𝑘 ⁡is disturbance and 𝑦𝑘


is output

One step ahead prediction models is given at sample ‘k’ , one can determine data at
sample ‘k+1’

𝑦𝑘+1 = 𝐶𝑥𝑘+1 + 𝑑𝑘+1 − − − − − − − (3)

From equation (1) and (3)

𝑦𝑘+1 = 𝐶(𝐴𝑥𝑘 + 𝐵𝑢𝑘 ) + 𝑑𝑘+1 , 𝑎𝑠𝑠𝑢𝑚𝑒⁡𝑑𝑘+1 = 𝑑𝑘 ⁡

𝑦𝑘+1 = 𝐶(𝐴𝑥𝑘 + 𝐵𝑢𝑘 ) + 𝑑𝑘 − − − − − − − (4)

The one-step ahead prediction can be used recursively to find an n-step ahead
prediction

𝑥𝑘+2 = 𝐴𝑥𝑘+1 + 𝐵𝑢𝑘+1 = 𝐴(𝐴𝑥𝑘 + 𝐵𝑢𝑘 ) + 𝐵𝑢𝑘+1 = 𝐴𝐴𝑥𝑘 + 𝐴𝐵𝑢𝑘 + 𝐵𝑢𝑘+1

𝑥𝑘+3 = 𝐴𝑥𝑘+2 + 𝐵𝑢𝑘+2 = ⁡𝐴(𝐴𝐴𝑥𝑘 + 𝐴𝐵𝑢𝑘 + 𝐵𝑢𝑘+1 ) + 𝐵𝑢𝑘+1


= 𝐴3 𝑥𝑘 + 𝐴2 𝐵𝑢𝑘 + 𝐴𝐵𝑢𝑘+1 + 𝐵𝑢𝑘+1

.
.
𝑥𝑘+𝑛 = 𝐴𝑥𝑘+𝑛−1 + 𝐵𝑢𝑘+𝑛−1
= ⁡ 𝐴𝑛 𝑥𝑘 + 𝐴𝑛−1 𝐵𝑢𝑘 + ⁡ 𝐴𝑛−2 𝐵𝑢𝑘+1 + ⋯ + 𝐴𝐵𝑢𝑘+𝑛−2 + 𝐵𝑢𝑘+𝑛−1

Similarly for 𝑦𝑘+𝑛

𝑦𝑘+𝑛 = ⁡ 𝐶𝐴𝑛 𝑥𝑘 + 𝐶(𝐴𝑛−1 𝐵𝑢𝑘 + ⁡ 𝐴𝑛−2 𝐵𝑢𝑘+1 + ⋯ + 𝐴𝐵𝑢𝑘+𝑛−2 + 𝐵𝑢𝑘+𝑛−1 )+⁡𝑑𝑘

Prediction notation is double subscript, the 1st term determines as the sample of the
prediction (how many steps ahead) and the 2nd denotes the sample at which the
prediction was made.

As general the augmented matrix of MPC is:

𝑥𝑘+1/𝑘 𝐴𝑥𝑘 𝐵𝑢𝑘/𝑘


𝑥𝑘+2/𝑘 𝐴2 𝑥𝑘 𝐴𝐵𝑢𝑘/𝑘 + 𝐵𝑢𝑘+1/𝑘
. . .
. = +⁡
. .
. . .
𝑥 𝑛 𝑛−1
[ 𝑘+𝑛/𝑘 ] [𝐴 𝑥𝑘 ] [𝐴 𝐵𝑢𝑘/𝑘 + ⋯ + 𝐴𝐵𝑢𝑘+𝑛−2𝑘⁡ + 𝐵𝑢𝑘+𝑛−1/𝑘 ]

𝑥𝑘+1/𝑘 𝐴 𝐵 0 . . . 0 𝑢𝑘/𝑘
𝑥𝑘+2/𝑘 𝐴 2
𝐴𝐵 𝐵 . . . 0 𝑢𝑘+1/𝑘
. . . . . . . . .
. = 𝑥𝑘 + ⁡ .
. . . . . . .
. . . . . . . . .
[𝑥𝑘+𝑛/𝑘 ] [𝐴 ]
𝑛 [𝐴 𝐵
𝑛−1
𝐴𝑛−2 𝐵 . . . 𝐵] [𝑢𝑘+𝑛−1/𝑘 ]

Similarly

𝑦𝑘+1/𝑘 𝐶𝐴 𝐶𝐵 0 . . . 0 𝑢𝑘/𝑘 𝑑𝑘
𝑦𝑘+2/𝑘 𝐶𝐴 2
𝐶𝐴𝐵 𝐶𝐵 . . . 0 𝑢𝑘+1/𝑘 𝑑𝑘
. . . . . . . . . .
. = 𝑥𝑘 + ⁡ . +
. . . . . . . .
. . . . . . . . . .
[𝑦𝑘+𝑛/𝑘 ] [𝐶𝐴𝑛 ] [𝐶𝐴𝑛−1 𝐵 𝑛−2
𝐶𝐴 𝐵 . . . 𝐶𝐵] [𝑢𝑘+𝑛−1/𝑘 ] [𝑑𝑘 ]

Now for a give problem we can calculate the next state 𝑥1/0 and 𝑦1/0 of the MPC
𝑥1/0 = 𝐴𝑥0 + 𝐵𝑢0/0

0 1 2 0
𝑥1/0 = [ ] [ ] + [ ]2.5 ⁡
−2 −3 0 1

0 0
𝑥1/0 = [ ]+[ ]
−4 2.5

0
𝑥1/0 = [ ]
−1.5

If there is no disturbance, 𝑑0 =0

𝑦0 = 𝐶𝑥0

2
𝑦0 = [1 0] [ ]
0

⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡𝑦0 = 2

𝑦1/0 = 𝐶𝐴𝑥0 + 𝐶𝐵𝑢0/0

𝑦1/0 = 𝐶(𝐴𝑥0 + 𝐵𝑢0 ) … , 𝑠𝑖𝑛𝑐𝑒⁡𝑥1/0 = 𝐴𝑥0 + 𝐵𝑢0

𝑦1/0⁡ = 𝐶𝑥1/0

0
𝑦1/0⁡ = [1 0] [ ]
−1.5

𝑦1/0⁡ = 0

4c, Prediction horizon is the number of future control intervals the MPC controller
must evaluate by prediction when optimizing its Manipulated Variable at control
interval. The prediction horizon keeps being shifted forward and for this reason
MPC is also called receding horizon control.
Receding horizon is a general-purpose control scheme that involves repeatedly
solving a constrained optimization problem, using predictions of future costs,
disturbances, and constraints over a moving time horizon to choose the control
action. RHC handles constraints, such as limits on control variables, in a direct
and natural way, and generates sophisticated feed-forward actions.

5) The dynamic equation of a robotic manipulator is given below. Design


feedback linearizing controller for the system
1 0 𝑥̈ 1 0.7𝑥2 𝑥̇ 12 𝑥̇ 22 0 𝑢1
[ ][ ] + [ ]+[ ] = [𝑢 ]
0 0.5 𝑥̈ 2 0.15𝑥̇ 1 2 1.5𝑥2 2

Answer
5
Solution
𝜏 = 𝑀𝑥̈ + 𝐶(𝑥𝑥̇ )𝑥̇ + 𝐺(𝑥)

𝑥̈ = 𝑀−1 (𝜏 − 𝐶(𝑥𝑥̇ )𝑥̇ − 𝐺(𝑥))

−1 1 0 −1 1 0
𝑀 =[ ] =⁡[ ]
0 0.5 0 2

𝑥̈ 1 1 0 𝑢1 0.7𝑥2 𝑥̇ 12 𝑥̇ 22 0 𝑢1 0.7𝑥2 𝑥̇ 12 𝑥̇ 22 0
[ ] =⁡[ ] ([𝑢 ] − [ ]−[ ]) = [2𝑢 ] − [ ]−[ ]
𝑥̈ 2 0 2 2 0.15𝑥̇ 1 2 1.5𝑥2 2 0.3𝑥̇ 1 2 3𝑥2

𝑥̈ 1 𝑢1 0.7𝑥2 𝑥̇ 12 𝑥̇ 22 0
𝑙𝑒𝑡⁡𝑣 = [ ] = [2𝑢 ] − [ ] − [ ]
𝑥̈ 2 2 0.3𝑥̇ 12 3𝑥2

1 0 𝑣1 0.7𝑥2 𝑥̇ 12 𝑥̇ 22 0 𝑢1
[ ] [𝑣 ] + [ ] + [ ] = [𝑢2 ]
0 0.5 2 0.15𝑥̇ 12 1.5𝑥2

You might also like