MATLAB MATLAB Control System | Following Path in 2D

  • Thread starter Thread starter footballxpaul
  • Start date Start date
  • Tags Tags
    Matlab Path
AI Thread Summary
The discussion focuses on using MATLAB to create a control system that follows a specified 2D path, with an example of moving a mass using a linear actuator. Users discuss whether to use plain MATLAB or Simulink, with a consensus that MATLAB can suffice for the task. The conversation includes deriving a differential equation based on a proportional control law, where the force is proportional to the error in position. An example is provided, demonstrating how to formulate the ordinary differential equation (ODE) and set up the state vector for MATLAB's ODE solvers. The thread emphasizes the importance of understanding control laws and ODEs for effective path following in MATLAB.
footballxpaul
Messages
30
Reaction score
0
Hi I am trying to figure out MATLAB control system stuff a little more, what would be the best way to go about in 2d having a point with all the equations of motion inputed for direction and distance try to follow a set path like 10 ft forward from (0,0) and turning 90 degrees right and going another 10 ft, to see how accurate the equations of motion can make the path. Thanks
 
Physics news on Phys.org
Hi Paul. Do you have simulink or are you talking about plain old MATLAB to do this?
 
matlab, i wouldn't be opposed to using simulink to do it. I just have never used simulink. Would simulink be better for this?
 
Yes you can do it with just matlab.

Say you had a simple system like just moving a mass from x=0 to x=1 with a linear actuator that could provide a force on the mass in response to some "control law". Are you familiar with how to derive a differential equation for the motion of the mass?

For example let's say we have a simple proportional control law, where the actuator provides a force that is proportional (and opposite) to the error in the current x position of the mass.

Do you know how to make an ODE (ordinary differential equation) for that system?
 
Like PID? No I haven't set one up before but I am reading up on it. How would I use my 2nd order ode's into the pid?
 
Ok here's a simple example. Say you had the simple system (just moving a mass) :
\ddot{x} = \frac{F}{m}

And you use the control law.
F = -k_p(x - x_d)

Combine the equations to make the DE.
\ddot{x} = \frac{k_p}{m} (x_d - x)

And just for a simple example let's make all the parameters unity.
\ddot{x} = (1 - x)

To use matlabs ODE solvers you need to represent the states as a vector. I'll use x(1) for x and x(2) for velocity, \dot{x}.

\tilde{x} = [x\, ; \, \dot{x} ]

Then you can use one of the ODE solvers (I prefer "ode45") to solve the equation and make a plot of the output response.
 

Similar threads

Replies
11
Views
3K
Replies
5
Views
1K
Replies
9
Views
2K
Replies
1
Views
4K
Replies
3
Views
3K
Replies
7
Views
4K
Replies
6
Views
5K
Replies
13
Views
4K
Back
Top