Aerial Robotics Kharagpur
Controls Team Tasks
You are encouraged to solve the problems on your own; however, feel free to message any of
us on Whatsapp for any queries. We had fun creating these tasks and we hope that you enjoy
them, too. Do not copy code from friends as we will use automated plagiarism checkers.
Also, if you use any pre-made MATLAB functions, you might be asked to explain how it works.
Do not worry if you are unable to complete all the tasks in time! They are designed to test you
a bit :) Good luck!
ARK: Controls: Task Code Drive
1 Task 1: PID
1.1 1.1 UAV Altitude Control
Your first task is intended to introduce you to control systems and how to model them in modern
software. In this task, you are given a MATLAB simulation of a UAV restricted to move only
in 1-D, i.e. it can only set its hover altitude by changing its vertical thrust. Write a proper
control law (e.g. PD or PID) and tune the coefficients to achieve the desired hover altitude.
1.2 1.2 2-D Multirotor Control
Your second task is to make a PD/PID controller for a Multirotor restricted to move in the YZ
plane.
The Multirotor will have motion along the z axis and along the y axis, whereas no motion along
the x axis, which is coming out of the computer screen. z is directed upward and y is directed
in the right direction on the monitor. Make sure that the PD coefficients are tuned properly.
Your controller must be able to follow any specified 2-D trajectory.
1
2 Task 2
1. Choose a specific motor and propeller for a drone of 5 kg, designed to carry 5 kg payload.
2. It is hovering at a point in space (let’s call that point origin for simplicity). What is the
required propeller speed for this?
3. Suddenly, it drops a 4 kg payload (changing its mass and inertia instantly) while a lateral
wind gust, 65 N in magnitude hits it for a small duration of 0.5 seconds. The student
must design a controller that keeps the drone within a 1m “safety sphere” of its original
position despite the sudden physical change.
Here is the simulation code to help you out. Use the Runsim File to test your controller file.
You must code your controller in the controller.m file only.
You are also required to understand the entire connection of files, how each matlab file is
connected to each other. Make a small flowchart explaining this.
You may be asked questions in the interview round testing your deep understanding of the
problem and the code, so use your sources carefully :D *the simulation will not work correctly
unless you change a certain parameter in one of the files.
Submit the final controller.m file only.
3 Task 3: PID vs LQR control
Thoroughly analyse at least 3 research papers, and draft a literature review in LATEX [6 pages
maximum], detailing which controller is used in what conditions, which one is better than the
other in which conditions and how are they different from each other mathematically and in
application. Document the papers you used in the references.
Remember, simplicity is the ultimate sophistication.
4 Reference Materials
Here are some resources that will be useful for your tasks.
1. MATLAB Onramp
2. Understanding PID Control
3. PID Control Introduction
4. Simulink Onramp
Explore the internet and read and learn about controls while doing the tasks.
5 Our Contacts
Feel free to contact us on WhatsApp for any queries.
• Raghav Toshniwal: +91 9373124537
• Piyush Dubey: +91 9313553619
• Priyansu Dash: +91 6355614109
2
• Srushti Chandorkar: +91 9356299821
ALL THE BEST :)