how can i plot phase plane trajectory of sliding mode controller .
Best Answer
Would you like to do this in MATLAB or Simulink? I have worked through a baby example that is implemented in MATLAB, using the "ode45" solver.
You can find the problem that is worked in the attached PDF-file. The MATLAB codes that implement the control and plot the phase portrait are the M-files.
To start the simulation you need to run "slidingModeExampleRunner.m." This file just calls the code that performs the simulation ("slidingModeExample.m") and once it is done, it calculates the value of the function "s", which defines the sliding manifold, at each solution step. It then creates two plots, the first one is the phase portrait and the sliding manifold plotted on the same axes. The second one is the function "s" plotted against time.
The system's equations of motion, which are given by equation (1) in the PDF-file, are coded in the M-file "slidingModeSystemEoM." You can see that the control law is implemented here, too. These ODEs are then fed into MATLAB's ODE solver "ode45" within the file "slidingModeExample.m", where I have defined the various constants and initial conditions used for the problem.
In both mdlDerivatives and mdlOutputs, you have these lines:
x = x(1);
xdot = x(2);
The first line overwrites the "x" that you receive from the engine, so even if "x" were a vector, you are effectively overwriting it with a single element with:
x = x(1);
Which is causing the statement "x(2)" to error out.
Best Answer