MAS508-G Control Theory
Project Description
State observer and feedback control of electro-mechanical system
for lifting mass payloads with elasticity and disturbances
Muhammad Faisal Aftab
University of Agder
Department of Engineering Sciences
MAS-508: Project Description
1 Introduction
In various industries such as offshore, maritime, logistics, construction and production lines, among oth-
ers, controlled mechatronic systems often operate dynamic mechanical loads. One very common practical
application is an automatic lifting by the systems of ropes and cables, as seen in Figure 1. Despite the
Figure 1: Example of a maritime lifting system.
overall complexity of such systems, one of the main control challenges (in vertical direction) is due to the
elasticity between the heavy mechanical payloads and the actuators driving the cable system(s). Even when
restricting the dynamics analysis to only one vertical degree of freedom, multiple factors should be taken
into account for designing a robust, safe, and reliable control system. Among those are:
a) Placement of the actuating and sensing elements;
b) Uncertain or unknown parameters of the payload, such as mass and mass distribution;
c) Elasticity in cables, ropes, joints and possible oscillatory behavior.
d) Environment disturbances;
e) Measurement accuracy, noise, and access to internal system states.
2 System Description
The electro-mechanical system considered in this project, shown in Figure 2, is a scaled system designed to
replicate a typical application of operating a dynamic mechanical loads with elasticity.
Figure 2: Project Setup
2
MAS-508: Project Description
The system is actuated by a ball-screw mechanism driven by a Brushless DC (BLDC) motor. This
actuation system is capable of lifting and lowering a mechanical payload with a constant mass ml . The
payload is connected to the actuator through a spring with elastic stiffness ks . The spring elongates under
the influence of gravity and simultaneously induces vertical oscillations when excited by the actuator’s
motion.
The objective of this project is to model the given system and subsequently design a control system
that enables rapid lifting and lowering of the payload while minimizing oscillations.
An inductive sensor is mounted at the bottom to measure the payload position x(t), as illustrated in
Figure 3. The actuator has a maximum stroke of 25 mm, and its position is denoted by y(t), although it
is not directly measurable. The symbol x0 represents the equilibrium position of the payload, corresponding
to the spring’s fully elongated state under gravitational force.
The system’s states, variables, parameters, and outputs are summarized in Table 1 and Table 2.
Figure 3: System diagram
Parameter Value Units
ma Moving mass of actuator 0.3 kg
R Resistance (motor) 0.55 Ω
L Inductance (motor) 0.8 mH
ki Torque constant 0.036 Nm/A
kb Back emf constant 0.036 V/rad/s
Jm Motor Inertia 72 × 10−6 kg m2
ks Spring coefficient – N/m
bs Damping coefficient – Ns/m
l Pitch/lead of ball screw 0.01 m
η Ball screw efficiency 1.0 –
ml Payload mass 0.51 kg
Table 1: System parameters
3
MAS-508: Project Description
Range Units
y Actuator position [0 0.025] m
F Actuator force N
i Armature current A
v Input (control) voltage [-5 5] V
vemf Back emf V
x Payload position [0 0.05] m
Table 2: System variables
3 Project Tasks
3.1 Modeling and simulation
A mathematical model of the system must be developed. The absolute position of the payload,
measured by the inductive distance sensor, is the only available state measurement.
A control-oriented model of the system must be formulated, either as a block diagram, a set of dif-
ferential equations, or directly in state-space form. The unknown spring and damping coefficients
must be determined experimentally.
The developed and analyzed system model must be identified and validated using real-time (RT)
data generated and recorded from the experimental setup. The identification results should be evalu-
ated in the frequency domain, time domain, or a combination of both.
The ball-screw stage is used to convert rotary motion into linear motion. Only the axial motion of
the ball screw is to be considered (see Appendix for details).
A control system must be designed, implemented, and tested in simulation to achieve fast lifting and
lowering of the payload with minimal oscillations. The designed controller should later be verified on
the real-time experimental setup.
3.2 Real-Time (RT) implementation
All mathematical models of the plant and control system must be developed in MATLAB/Simulink, analyzed,
implemented, and tested in real time (RT), and properly documented as part of the project. The Speedgoat
RT platform will be used to operate the physical setup. Its input/output channels will be utilized to send
control commands and acquire position feedback. The designed control system must be implemented and
validated in real time using the physical setup.
3.3 Control Specifications
1. A full-state feedback controller shall be designed to fulfill the following objectives:
(a) as short a settling time as possible,
(b) minimal transient and steady-state oscillations,
(c) high tracking accuracy.
2. The unmeasured dynamic states of the system must be estimated through the design and implemen-
tation of a state observer.
3. The desired motion for the application is to lift the payload to xl = x0 + 15 mm and lower it to
xl = x0 + 5 mm. Additional reference positions of xl = x0 + 20 mm and xl = x0 + 5 mm should also be
tested using the same controller, without any redesign or re-tuning. These are the minimum required
test cases; additional test scenarios may be included for bonus credit.
4. Steady-state accuracy of the payload’s output position must be ensured by the appropriate design
of the overall control system.
5. The complete control system must be designed to be as robust as possible, accounting for modeling
and identification uncertainties, as well as large force disturbances caused by the payload’s weight.
4
MAS-508: Project Description
4 Resources
1. There are two physical setups, numbered 1 and 2, placed in machine hall (Mezanine Floor). Each
setup is equipped with a Speedgoat. Every group will use its designated setup. The details will be
posted on canvas.
2. Matlab 2024b will be used for RT testing. Speedgoat library for Matlab 2024b is available on canvas.
(”speedgoat io blockset 9 10 1 R2024b build [Link]”).
Install Matlab20224b.
Install Simulink Real-Time Target Support Package from Add-Ons
Install Speedgoat library: Unzip the library and navigate to root folder of library and run speed-
goat setup.
The Speedgoat target has the IP address [Link]. Use the ping command to verify that
the connection is established.
Open SLRT Explorer to connect to the Speedgoat target.
If the connection is not established, temporarily disable the Windows Firewall and try again.
3. A Matlab script ”ctrb calc.m” to check controllability via Hautus controllability test is also available
on canvas. Use this script to confirm resulst from standard Matlab controllability functions.
4. A Simulink file (Project [Link]) to interface I/O with the speedgoat is available on canvas.
This file configures the inputs and outputs as shown in Figure 4.
5. Change the springs if deformed. Additional springs can be collected from my office.
Figure 4: System diagram
5 Submission and Assessment
1. Students must organize in groups of three students using Canvas. One submission per group must be
delivered, which should contain:
(a) Project Report: should reflect working steps, approaches, justifications and results achieved. The
written report and presentation should indicate the names of the students working together in
one project group.
(b) MATLAB/Simulink model: files used for implementing and simulating the model and controller
should be included.
(c) A video file with movie recorded from experiments on the real system must be created and
submitted together with the project report
2. A mandatory project presentation in groups will be done by the end of semester (date to be determined).
5
MAS-508: Project Description
3. The project report and the additional simulation files should be submitted in Canvas. The deadline
for submission is 20th November 2025 at 13:00.
4. Project demonstration will be carried out on 20th November 2025 at 13:00 in D2024. Schedule will be
posted on canvas.
5. The graded assessment of the project groups will be made based on both, submitted report and
project presentation. The written report constitutes the basis for the project evaluation, while the
project presentation can improve the total assessment grade of the project.
6 Plagiarism
Students are expected to complete their projects independently. Using or copying material from previous
years’ projects is not allowed. We have access to all past submissions, and any instances of plagiarism will
be addressed in accordance with university guidelines.
6
MAS-508: Project Description
7 Appendix
7
K
5
tanβ =
R
π · dP
K-5
Fa · R
T=
2π · 1
g
g
R
Fa = 2π · 1·T
R
T=R· 2 · Fa
2π
K-6