What Is Feedforward Control? | Control Systems in Practice

  Рет қаралды 154,288

MATLAB

MATLAB

Күн бұрын

A control system has two main goals: get the system to track a setpoint, and reject disturbances. Feedback control is pretty powerful for this, but this video shows how feedforward control can make achieving those goals easier.
Temperature Control in a Heat Exchange Example: bit.ly/2NJhtxw
The error in a feedback control system is the summation of three different error sources: setpoint changes, disturbances into the system, and noise within the system. Feedforward can be used to remove a lot of the setpoint and disturbance error before it ever gets to the controller. In this way, the feedback controller can be tuned to correct for the small modeling errors in the feedforward path while still ignoring the higher-frequency noise in the system. In some systems, this combined feedforward/feedback architecture is a better system than feedback on its own.
After watching this video, you’ll have a better understanding of what feedforward control is and why it is used. If you would like to practice the concepts from this video, this is a good tutorial that covers designing a feedforward system to control temperature in a heat exchanger.
Get a free product Trial: goo.gl/ZHFb5u
Learn more about MATLAB: goo.gl/8QV7ZZ
Learn more about Simulink: goo.gl/nqnbLe
See What's new in MATLAB and Simulink: goo.gl/pgGtod
© 2018 The MathWorks, Inc. MATLAB and Simulink are registered
trademarks of The MathWorks, Inc.
See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names maybe trademarks or registered trademarks of their respective holders.

Пікірлер: 63
@mikhailhyde565
@mikhailhyde565 Жыл бұрын
That eye tracking analogy was one of the most impressive teaching demonstrations I've ever experienced
@mustafabhadsorawala652
@mustafabhadsorawala652 11 ай бұрын
What an intuitive way to explain different frequency disturbances, I loved it as well!
@JKTCGMV13
@JKTCGMV13 4 жыл бұрын
The red dot was an amazing analogy
@OMGrealVid
@OMGrealVid 3 жыл бұрын
Agreed, one of the best
@maneesh29s
@maneesh29s 3 жыл бұрын
🔥🔥🔥
@BrianBDouglas
@BrianBDouglas 5 жыл бұрын
Hi everyone! I hope you enjoyed this video. If you have any questions or comments you'd like me to see, please leave them on this comment so that I get notified and can respond. Cheers!
@AymanMElsaeid
@AymanMElsaeid 5 жыл бұрын
Hi Brian, thanks for this Brilliant explanation of Feed forward control .. i only wished you make an extension to this video where you show also an example with the feedforward through the setpoint path .. and also another example focused on the noise filtering and decoupling the noise error from setpoint and disturbance errors and how this becomes easier with feed forward (what you explained in the beginning) .. really thanks man for all your effort!!
@BrianBDouglas
@BrianBDouglas 5 жыл бұрын
Thanks for the comment, Ayman. I would love to have covered those topics in this video as well but I have to balance getting in as much as possible versus making a video so long people won't sit through the whole thing! Maybe I can make a setpoint feedforward video that shows how noise is also decoupled on my channel as a suplement to this one. Cheers!
@AymanMElsaeid
@AymanMElsaeid 5 жыл бұрын
@@BrianBDouglas Thanks Brian .. i'll be waiting for it ;)
@AymanMElsaeid
@AymanMElsaeid 5 жыл бұрын
Sorry Brian i just watched the video again (really liked it) .. i am very interested on how to find the best causal transfer fn to approximate the inverse of the plants transfer fn .. would you happen to know some techniques for this that i can read about? Or to have already a video from your channel about this topic? .. thanks again and keep up the great work :D
@BrianBDouglas
@BrianBDouglas 5 жыл бұрын
This is an informative read on the topic: buchholz.hs-bremen.de/inversion/inversion_impossible.pdf. If the system has significant dead time (that is, it's long enough that you care about it), then you can approximate the dead time first with an LTI system using a Pade approximation.
@johncgibson4720
@johncgibson4720 2 жыл бұрын
This channel is gold. I am trying to make my Betaflight helicopter to dive with terminal speed exactly the same as CC3D controlled same craft. I look at both source code and couldn't understand if their PID schemes can be configured to be equivalent. And this episode explains the feedforward part just the way I need.
@Danfranschwan2
@Danfranschwan2 5 жыл бұрын
Brian's other channel is amazing! Great to see that Matlab chooses from the best
@cyy8913
@cyy8913 5 жыл бұрын
Thanks for the brief and easy-to-understand explanation of the feed forward concept. This is going to help my next project.
@petrutarabuta5617
@petrutarabuta5617 2 жыл бұрын
Incredibly clear and useful. Thanks!
@Zuwwar
@Zuwwar 5 жыл бұрын
Brian Douglas; as great as always.
@Gurraxz
@Gurraxz 5 жыл бұрын
Really good video! Thank you Brian!
@maxrichter5603
@maxrichter5603 11 ай бұрын
This is pure gold. Thank You!
@TomTalley
@TomTalley 8 ай бұрын
Very well done. I wish there was a feed forward controller on the youTube algorithm to increase the value to technical advertiser's for excellent technical content like yours.
@adaptine
@adaptine 4 жыл бұрын
Nice video. Ships using dynamic positioning actually uses feedforward from the wind measurement in order to counteract the gusts.
@steaminglobster
@steaminglobster 2 жыл бұрын
Thank you so much for this example. Helps me a lot.
@jackmurray4669
@jackmurray4669 5 ай бұрын
Great explanation! This guy is a gold mine for control systems education.
@BrianBDouglas
@BrianBDouglas 5 ай бұрын
Thanks!
@LimingGao
@LimingGao 5 ай бұрын
This video is incredibly enlightening and helpful for me. Thank you, Brian!
@BrianBDouglas
@BrianBDouglas 5 ай бұрын
I'm glad you found it helpful!
@MrMARS-yk1yv
@MrMARS-yk1yv 2 жыл бұрын
Amazing video OMG many thanks
@ussamasajid8409
@ussamasajid8409 4 жыл бұрын
Haven't seen a better description of noise filtration than the red-dot analogy.
@demisbooo743
@demisbooo743 Жыл бұрын
Great! Thanks a lot!
@AliHassan-xt1xb
@AliHassan-xt1xb 5 жыл бұрын
You are such a good teacher. I hope you made these videos while i was in my undergraduate. Any ways, Brian I am designing a controller for a wind turbine that will predict the wind speed ahead and adjust the out put accordingly in order to control the frequency in the power system. I need some help regarding that. where can I reach you?
@ved1949
@ved1949 Жыл бұрын
Two things that might help people understand this better. (i) Why is it 0=u*Gp+D* Gd. The confusion is because the u in this equation is not the same as input. In actuality the u reffered here is actually u'. The actual equation is: Y(s)=Gp*u+Gd*D+Gd*u' Assuming your plant dynamics are tracking Y(s)=Gp(u) Gd*u'+Gp*D=0 In other words add a perturbation to your input u called u' that perfectly cancels the disturbance response. (ii) In the end example, Brian refers to the Simulink controller as feedforward or non-feedforward. It is important to note that the feedforward only has disturbance rejection feedforward and not the setpoint feedforward he originally discussed in the video.
@luisabarca10
@luisabarca10 Ай бұрын
Thanks bro! I was wondering the same.
@kevinwood3955
@kevinwood3955 4 жыл бұрын
I noticed that you mentioned setting Y(s) = 0.Did you mean setting input-Y(s)=0 instead since we want the error to go to zero and not the output?
@psinha6502
@psinha6502 3 жыл бұрын
disclaimer(i might be wrong here in which case pls correct me ). think of a scenario where there is an output with some undesired disturbance value added in it. So to remove this particular value the change in output has to be zero. so y(s)=0 means the change in Y(s)=0 and NOT the absolute value of output Y(s)=0. so u need ur system to produce this ==original control input u(s) + an extra value (which u got after putting y(s)=0).This extra value is u(s)= d(s)*(-Gd(s)/G(p))). u multiply this with Gp(s) u get d(s)*(-Gd(s))(look at the diagram) which is exactly negative of disturbance. so adding with the disturbance(D(s)*Gd(s)) cancel each other out leaving behind the original desired y(s) corresponding to the input.
@jasonliu5592
@jasonliu5592 3 жыл бұрын
Please explain why at about 10:00 why y[s] shall be set to 0? y[s] shall be equal to setpoint???
@tamenekebebe1959
@tamenekebebe1959 4 жыл бұрын
would do video on fuzzy PID controller in mat lab
@dr.alikhudhair9414
@dr.alikhudhair9414 3 жыл бұрын
Great ..
@chrishughes8188
@chrishughes8188 23 күн бұрын
Is this the type of studd one learns in a control theory course? Also, did you use perlin noise to implement the red dot animation?
@MonkeyyRajaB
@MonkeyyRajaB Жыл бұрын
Hi, I have a simple plant transferfunction of 1/ms+b, a simple cruise control model for a school assignment. Now I have to use feedforward so I need the inverse of the plant transferfunction. This would be ms+b. But I cant make this in Simulink as the transferfunction block gives the error that the numerator has a higher order than denominator. Is there somebody here who can help me with this problem?
@user-df5is8jy6n
@user-df5is8jy6n 4 жыл бұрын
can I send u pictures of a block diagram? there are some inputs that I don't understand. The block diagram is a reference from Process Systems Analysis and Control by Donald R. Coughanowr Steven E. LeBlanc Third Edition
@berkantceylan2071
@berkantceylan2071 3 жыл бұрын
Your matlap video is awesome. But I can't solve a question about feedforward. Can you help me share it here? @Brian Douglas
@uncle3xxx
@uncle3xxx Жыл бұрын
enjoyed
@DANA-dj7le
@DANA-dj7le 2 жыл бұрын
15:43 why we set "0=u*Gp+D* Gd" ?? if we do, we can't follow R. does't it? I think "R=y=u*Gp+D* Gd" is correct. doesn't it? if i am thinking wrong, enlight me
@regroff
@regroff 11 ай бұрын
It's been a long time since you posted, but I thought I'd post in case others have the same question. This equation 0=U*GP+D*GD is really just a bit of shorthand for what he is really doing, specifically, choosing the feedforward controller by setting the transfer function Y/D to zero, which guarantees that the disturbance does not affect the output. Note that he models the disturbance as adding to the plant output (not to the plant input, which is used in some textbooks). The transfer function will be Y/D = (GFF*GP+GD)/(1+GC*GP*GS), where GFF, GD, GP, GC, and GS are transfer functions for the feedforward controller, the disturbance, the plant, the feedback controller, and the sensor, respectively. Setting this equal to zero and solving for GFF gives GFF=-GD/GP, which is the result in the video. Note that the transfer function GFF calculated this way may be improper and thus not realizable. In that case, an approximation of the transfer function would be used.
@foadsf
@foadsf 2 жыл бұрын
Isn't feed-forward just model-based control?
@IceTurf
@IceTurf 3 жыл бұрын
How can we just set Y[s] = 0 at 10:00? Isn't our goal to set E[s] = 0?
@jasonliu5592
@jasonliu5592 3 жыл бұрын
exactly, couldn't understand y[s]=0??????
@teletube999
@teletube999 7 ай бұрын
3:54
@TM-bj6zh
@TM-bj6zh 5 ай бұрын
what is a set point change?
@BrianBDouglas
@BrianBDouglas 5 ай бұрын
That just means you are changing the goal for your system. The set point is what you system is trying to achieve and when you change that, you're changing the set point. For example, if you set a thermostat to 18 degrees then that is the set point. The is the temperature the system is trying to maintain. If you then bump it up to 20 degrees you've changed the set point.
@hieuhotran994
@hieuhotran994 Жыл бұрын
I'm new to control theory, could anyone please tell me why do we want the controller to ignore the noise from sensor? what do you mean by "it's not real state error"?
@piotrmecht2500
@piotrmecht2500 Жыл бұрын
Because your sensor measures [real error] + [noise] The noise that we want to ignore affects the sensor, not the process we want to control
@TheSMasa
@TheSMasa Жыл бұрын
But I followed the red dot with ease. Does that mean I'm the cat of the controllers?
Why Time Delay Matters | Control Systems in Practice
15:55
Жайдарман | Туған күн 2024 | Алматы
2:22:55
Jaidarman OFFICIAL / JCI
Рет қаралды 871 М.
Which one is the best? #katebrush #shorts
00:12
Kate Brush
Рет қаралды 27 МЛН
I’m just a kid 🥹🥰 LeoNata family #shorts
00:12
LeoNata Family
Рет қаралды 16 МЛН
Watermelon Cat?! 🙀 #cat #cute #kitten
00:56
Stocat
Рет қаралды 54 МЛН
Feedback and Feedforward Control
27:37
APMonitor.com
Рет қаралды 48 М.
Everything You Need to Know About Control Theory
16:08
MATLAB
Рет қаралды 512 М.
Feed-forward & Feedback Mechanisms
15:03
Dr. Ossai Physiology Academy — DOPA
Рет қаралды 17 М.
PID Controller Explained
9:25
RealPars
Рет қаралды 787 М.
A real control system - how to start designing
26:58
Brian Douglas
Рет қаралды 261 М.
What is Split Range Control ? | World's Craziest Explanation Ever
7:03
Asad (I&C Engineer)
Рет қаралды 9 М.
Feedforward Control
12:17
APMonitor.com
Рет қаралды 65 М.
Gizli Apple Watch Özelliği😱
0:14
Safak Novruz
Рет қаралды 3,7 МЛН
APPLE совершила РЕВОЛЮЦИЮ!
0:39
ÉЖИ АКСЁНОВ
Рет қаралды 3,9 МЛН
WWDC 2024 Recap: Is Apple Intelligence Legit?
18:23
Marques Brownlee
Рет қаралды 6 МЛН
Samsung Galaxy 🔥 #shorts  #trending #youtubeshorts  #shortvideo ujjawal4u
0:10
Ujjawal4u. 120k Views . 4 hours ago
Рет қаралды 10 МЛН
Main filter..
0:15
CikoYt
Рет қаралды 11 МЛН