EGB345 Control and Dynamic Systems JJF/17
COMPUTER LAB 4 – ELECTROMECHANICAL TRANSFER FUNCTION
You will need to demonstrate some of the skills developed in this computer lab in your pre-lab
submission.
The WHY of this computer lab: When working with a real physical system, you may start with an approximate model
of the system, but unfortunately you typically do not know the exact parameters of the model. Hence, the first step in
many practical situations is to capture a measurement of the system response to a step input, and then tune the
parameters in your transfer model until its simulated step response best matches the collected data (typically in a RMS
error sense).
HOW: There are 3 basic conceptual steps:
1. [Mathematical modelling] Using modelling techniques of EGB345, you develop an approximate transfer function
description of the system (in this computer lab, this transfer function is provided – but the parameter values are not yet
known).
2. [Data capture] Apply step input to the real system and capture the system’s response (in this computer lab, this captured
data is provided).
3. [Model estimation] For different choices of parameters, simulate the step response of the transfer function and select
the parameter leading to the best match (in an RMS sense) to the captured system’s response as your estimated system.
WHAT do you need going forward: You will need to understand these model estimation concepts for your pre-lab
submission and also the servo motor prac lab.
The computer lab instructions:
Background: A Series Elastic Actuator (SEA) is a new form of actuator that drives the load through an elastic
element (i.e. a spring) so that the motor inertia and any non-linear properties of the gearbox are decoupled from the
load. The details of a real Series Elastic Actuator (from [1]) are illustrated in Figure 1, along with its motor properties
in Table 1. Your task is to find the transfer function L(s) /Ea(s).
Hints: This is a two-body problem; the inertia of the motor armature moves independently of the inertia of the load.
Look back at how we derived the transfer function of a motor and start from first principles. Use variables, rather
than numerical values, until you have a sensible model structure.
Figure 1: Schematic diagram of series elastic actuator.
Please turn over for more of the instructions
N 1 = 1
0.6 kgm 2
1 NMs/ rad
N 2 = 156
L ( t )
Motor e a ( t )
+
138 NM/ rad
Learning Objectives
• To review material from electromechanical systems.
• To verify against observed response.
Where Learning Outcomes Assessed:
• In Pre-lab report, Prac lab report, mid-semester and final exam.
Table 1: Table of properties of motor used to drive series elastic element.
Nominal Voltage 42 V
Terminal Resistance 2.07 Ω
Torque Constant 0.0525 Nm/A
Back EMF Constant 0.0528 Vs/rad
Armature Inertia 8 x 10-6 kg.m2
Armature Damping ~0 Nms/rad
You are given the following transfer function description (you should be able to replicate this transfer function):
Θ𝐿(𝑠)
E𝑎(𝑠)
=
𝐾𝐿/𝑁
𝐷4𝑠
4 + 𝐷3𝑠
3 + 𝐷2𝑠
2 + 𝐷1𝑠
where
, , and
The figure below shows the experimentally measured speed of the SEA output load for 1 V step input to the system.
Note that, as is usual for experimental data, there is some noise in the measurement of the speed of the output load,
and that the real system has slightly different spring, damping and inertia constants to the system modelled in Tutorial
4. The data in this graph is also available for download from BlackBoard in the file SEA_speed.mat.
(a) Modify the transfer function provided to compute the transfer function from input voltage to output speed (rather than
position). Use MATLAB to compute time response of the output load speed in response to a 1 V step input. Plot against
the recorded speed response in SEA_speed.mat. Use “load SEA_speed.mat” to load the data into MATLAB (see help
load).
Hint: Note that speed and position are related through Laplace variable s.
(b) Write a MATLAB script in a .m file that sets up each of the system components as variables, and compares the step
response of the system to the data in SEA_speed.mat. Use trial and error to find better estimates of the system
component values.
Hint: Compute a single figure of merit for the quality of the model against the system data. Sum of Squared Error (SSE)
is commonly used for this purpose (SSE is related to the RMS that you examined in earlier computer labs, in the sense
that RMS=√(SSE/data length)).
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-0.05
0
0.05
0.1
0.15
0.2
Time (s)
S
p
e
e
d
(
ra
d
/s
)
Learning Objectives