Fall 2020, CS 513: Autonomous Cyber-Physical Systems
Instructor: Jyotirmoy V. Deshmukh,
TA: Aniruddh Puranic ()
Due Date: November 23, 2020, Time: 11:59.59pm AoE
Total Points: 100
1 Objective
The goal of this part of the mini-project is to design and implement a controller for a line-following minidrone
using MATLAB/Simulink. Specifically, the map/environment contains a path of red lines and a red circular
marker at the end of the path. The minidrone starts at the other end of the path and follows the red lines
till it detects the red circular marker and then lands on it.
2 Description
2.1 Software and Tutorials
1. Download MATLAB and Simulink from USC software. The license provides access to all the toolboxes,
so if you plan on downloading the full software, make sure to have about 30GB disk space, otherwise
you can add them as required from the Add-Ons Manager. Feel free to use any toolbox that suites your
needs; for example, there are toolboxes for Deep Learning, Computer Vision, Reinforcement Learning,
Model-Predictive Controls, etc.
2. Download the Simulink Support Package for Parrot Minidrones. In MATLAB main window, go to
Add-ons and then Get Add-ons. Search and download the package.
3. Recommended tutorials (not required to do all of them, but the first few modules of each tutorial is
helpful for the miniproject):
• MATLAB
• Simulink
• Stateflow
• Image Processing
• Control
• Control Tutorials for MATLAB and Simulink (U. Michigan)
• Fly a Parrot Minidrone and Detect Objects
2.2 Minidrone Line-Following and Landing
The mini-project details can be found in the Competition Guidelines. All the instructions for project comple-
tion can be found in the videos at this link. To begin, run the command parrotM inidroneCompetitionStart
in your Command Window. This should open the drone Simulink model and visualization/simulation win-
dows. In the Simulink model, you will find the Flight Control System which implements the Image Processing
System and Path-Planning Subsystem of Control System. These are the 2 modules you will need to
1