2023-04-11 Sajjad Meeting Notes
@Taim Al-Dabbagh @Mostafa Hussein
Sajjad’s Slides (Matlab Workshop):
Simulink model: watertank_comp_design (from matlab documents)
Proposed problem: Tank system where the water level as to be changed, and it can be changed using a water pump controlled with a voltage V.
Using Matlab blocks, the differential equation representing the problem can be modeled / built out.
Drone Example:
You should have a plan and a good model
Equations for flight dynamics should be organized. These need to be researched and can be found from reading research papers.
Also good model for the motors and sensors.
This model would be like a control loop.
Controller submodule:
There also would have to be an extra set of 2 PID for roll and pitch since they affect position as well:
MMA (motor mixing algorithm)
Estimation Modules that convert sensor inputs and converted them into measurable states:
Should have good equations for the sensors. Noise should be simulated in a good manner.
Should be using Kalman filters to better estimate the drone state.
We already have PID inside ZP3, do we need to still create models for the Roll, pitch yaw thrust?
It is good that we have premade controllers, but we should implement them in the plant
How to know the equations found online are the correct ones:
When finding a research paper, scan what type of vehicle they are controlling. How many motors, the orientation and placement of the motors. Based on that, use equations that apply to our vehicle.
Inner loop vs Outer loop controller:
Inner loop is faster.
Inner loop only is used when affecting roll, pitch and yaw doesn’t affect other modes of movement.
However, outer loop would be needed as it is responsible for controlling position which would be affected by roll and pitch for example.
Reaction time of outer loop is slower than the inner loop
Not constantly checking position, and it takes longer to calculate positions, which is why outer loop tends to be slower.
Providing Simulation with outer data:
The data has to be in a .mat file and then it has to be loaded to the workplace
Use module in simulink called “workspace”?
Helps put data from outside of simulation into simulink.
Post Questions:
Examples of papers to think about for getting equations:
Course on Udemy that starts from developing the equations to going into simulation. Uses Python though, but it could be a good starting point. Sajjad can share the link to it.
Could also use books, but that can be time wasting. Sajjad can however can share a few books for aircraft flight dynamics.
When do you know to make assumptions, and which assumptions do you usually take:
Follow research papers. Use the assumptions they use with their models, especially as a beginner.
Workflow:
Rough, not perfect, but complete loop at the start is good to have.
Find some dynamics equations for the vehicles and use them (although not perfect)
Then place sensors and have equations for them.
After simulate noises even if not perfect.
Finally go through the controller
Still not perfect just a rough simulations
After a rough simulation is completed, go through it again to perfect it.
Constantly researching to improve model.
Design is a loop, and going through the loop multiple times is a must.
Cant work on a single section, make it perfect and move on.
After you move on you will probably find something missing in the pervious section.
Take your time, the process takes time so do not rush.
Is it possible to simulate real time systems in simulink
Yes, that is one of the most important things to have a simulation. If things can’t be simulated in real time, then the simulation becomes somewhat obsolete.