Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

EEE4119F – Mechatronics II – Project Brief 2019

Landing on an unknown planet


Introduction
You are tasked with designing a controller for a planetary lander, such that it safely touches down on
a planet with unknown gravity. This is to be done in simulation using a given Simulink model.

Figure 1 – the dynamics of the lander will be given as a Simulink model

Description of lander model


There are two vertical thrusters 𝐹1 (left) and 𝐹2
(right). Their output is limited to 0 ≤ 𝐹𝑖 ≤ 𝐹𝑚𝑎𝑥 .

The lander itself can be approximated as a box


with width 𝐿1 = 6𝑚 and height 𝐿2 = 8𝑚. Its
mass is 𝑚 = 4000𝑘𝑔

However, the centre of mass of the lander is not


its geometric centre. Instead, there is a vertical
centre of mass offset 𝑑𝐿 which must be calculated
from the simulation.

Finally, the lander has an angle 𝜃 (measured as a


Figure 2 – an illustration of the lander's dimensions
counter clockwise rotation with respect to the
horizontal axis) and position (𝑥, 𝑦) with 𝑥 the
geometric centre of the rocket and 𝑦 the height of the rocket above ground, as measured from the
bottom of the lander.
Requirements
In simulation, the lander must:

1. Have no overshoot – in other words, have 𝑦𝑖 > 0 for all 𝑖.


2. End with a small height above the surface of the planet: 𝑦 ≤ 0.5𝑚
3. Have a vertical velocity |𝑣𝑦 | < 2𝑚/𝑠 when landing
4. Have an angle |𝜃| < 10° when landing (ie, be vertical)

If all of the above criteria are met, additional marks will be given for,

- Minimizing the fuel used by the thrusters ∫ 𝐹1 + 𝐹2 𝑑𝑡


- Minimizing the he horizontal landing speed 𝑣𝑥 , and
- Making the lander land near the desired position 𝑥0 = 0𝑚.

Landing scenarios
Finally, the controller must be robust enough to handle three different landing scenarios. These can
be selected by double clicking on the lander model block in Simulink. Each mode has a different
range of values for the initial height, angle and angular velocity of the lander.

Mode 𝑦0 [𝑚] 𝜃0 [𝑟𝑎𝑑] 𝜃̇0 [𝑟𝑎𝑑/𝑠]


1 1000 ± 5 0 0
2 1000 ± 50 ±0.5 0
3 1300 ± 200 𝜋 ± 0.5 ±0.1

Helper files
You will be given the following files, which may be useful when designing your controllers:

1. safely_landed.m – a function that indicates whether the requirements have been met.
2. make_animation.m – a function that produces a simple animation of the lander. Note that
the top of the arrow corresponds to 𝑦, the bottom of the rocket.
3. make_line_plots.m – a function that produces some useful plots after running the
simulation one or more times.
4. main.m – a short demo of how to use these helper scripts.

You'll be able to look at their code and modify them as needed. Let the TA know if you need an
explanation of anything.

Submission and ELO


A < 10pg report summarizing your design and results is due by 23:59 on Friday 03 May. Your
Simulink script and controller code should be sent as well. Make sure it works with the
make_line_plots.m script – please email the TA if you're struggling with this.

Note that the project is aimed at assessing the ECSA ELO 2 (see the course handout for more
details).

Marking scheme
Marks will be awarded as follows:
toul also
?
Task
Report on controller
Marks
20
-
Model identification 25
Satisfy requirements in mode 1 15
Satisfy requirements in mode 2 15
Satisfy requirements in mode 3 15
Additional marks 10

You might also like