This repository contains MATLAB code and report for a course project in Automatic Controller Design course, instructed by Dr. Aria Alasty at Sharif University of Technology. Huge shout out to my friend and teammate in this project, Erfan Radfar.
The project involves designing a control system for the ball and beam setup. The system consists of a long beam with the ability to move a ball inside it. The control objective is to accurately stabilize the ball at the center of the beam.
To achieve this, an ultrasonic sensor provides real-time sensing of the ball's position and velocity. The beam can rotate using a motor and gearbox system at its center or sides. The motor angle θ is controlled to manipulate the beam orientation and control the ball position r.
The control design should meet the following criteria:
- Overshoot percentage less than 20%
- Settling time under 8 seconds
The modeling, control design, simulation and analysis is conducted in MATLAB/Simulink using the supplied modlBB15
system model.
This repository contains:
Sys_Ident
- System identification to obtain θ to r transfer functionStabilizer&SISO
- Stabilizing the inner control loop and designing PID controller with SISO toolboxPID_Tuner
- Designing PID with PID TunerPID_Methods
- Designing PID with method such as ZN, R-ZN, A-H, ...OptimPID
- Designing PID with OptimPID App.2DOF_PID
- Designing 2DOF-PID with MATLAB Simulinks 2DOF-PID BlockWithDist
- Introducing a input disturbance of 30Hz with the amplitude of 1.controller_project(1).pdf
- Report of the project in Persian.