Hello Prof. I have a request. A bootcamp on digital control would be greatly helpful as almost all controllers are implemented in digital domain. Direct digital design accounting for sampling and hold delays would be a great additional topic. Do you have any recommendations for resources to consult for the same?
@reik20065 ай бұрын
18:50 also setting Ki >> Kp for the PI control shows the oscillation around the reference due to the intergral term very nicely
@indramal4 жыл бұрын
X dot equation last part should be +Kp.r not -Kp.r
@kevinallen91063 жыл бұрын
Agreed. However his Matlab code did correctly have +K [17:02] B = [K; 1].
@biodynamoininnopolisuniver30964 жыл бұрын
There is a small mistake with coefficients when Steve writes equation of d([x z]^T)/dt. There should be 1 instead of -1 in second row first column. In the matlab it is okay
@Eigensteve4 жыл бұрын
Thanks for catching this!
@patriciowhittingslow15534 жыл бұрын
Think you mean the first row of the B matrix, Kp should be positive as it is in matlab. Thanks for the heads up!
@indramal4 жыл бұрын
Where is matlab code?
@indramal4 жыл бұрын
Why it is not -1? Z dot = r - x so it is -1.
@pnadukandi3 жыл бұрын
Thanks for sharing your videos. What is the procedure when the control output falls outside the physical bounds of the control variable (which is input as forcing function to the system; in your example it's the pedal-depth)? I guess something in the lines of "stop if out-of-bound event occurs, rewind one time step, rerun with min-max bound of control variable, reinitialise the augmented state variables, carry on as usual" is done (I guess likewise for any linear controller). I believe going through an example where these details are considered will help. Will you please share any references/notes you might be aware of that deals with these details?
@pnadukandi3 жыл бұрын
Or is the controller designed in such a way that such out of bound errors do not occur?
@necatimertcelen8014 жыл бұрын
Hello Professor, when you wrote the equation u=Kp * (r-x) + Ki * z, also can we write the equation like this u = Kp * z_dot + Ki * z?
@indramal4 жыл бұрын
clear all, close all, clc % Create a car model sysCar = ss(-1,1,1,0); % A matrix -1, B matrix 1, C matrix 1 and D matrix 0 K = 5; sysPROP = ss(-1-K,K,1,0); % Proposional control %% t = 0:.01:10; [yCAR,tCAR,xCAR] = step(sysCar,t); plot(tCAR,yCAR) hold on [yPROP,tPROP,xPROP] = step(sysPROP,t); plot(tPROP,yPROP) % need integral action to reduce steady state error % stabilizetion! % Proposional + Integral A = [-1-K K; -1 0]; B = [K; 1]; C = [1 0]; D = 0; sysPI = ss(A,B,C,D); [yPI,tPI,xPI] = step(sysPI,t); plot(tPI,yPI) legend('step','Proportional','PI') %% % Plot control expenditure figure plot(t,0*t + 1) hold on plot(tPROP,K*(1-xPROP)); xPIminusRef = xPI; xPIminusRef(:,1) = 1-xPI(:,1); plot(tPI,(xPIminusRef)*[K; K]) legend("Set Point","Proportional","PI");
@patriciowhittingslow15534 жыл бұрын
*wget **faculty.washington.edu/sbrunton/control_bootcamp_code.zip* also works
@indramal4 жыл бұрын
Patricio Whittingslow there are no code for PI controller