State-Space Nonlinear System
5 views (last 30 days)
Show older comments
Hello.
I am currently working on implementing a 4-wheeled hover model, with a system of 15 equations, into a state-space block. This little hover has 4 trailing-arm suspensions, that work much like a pendulum. Meaning that the longitudinal distance of the wheels of a same (righ-left) side of the vehicle can vary, in accordance to that arc of circumpherence. One problem I am stuck at is with determining the acceleration of the unsprung mass of one of these wheels, as the equation of motion depends on the cosine of the angle of that wheel, at a given time instant. Let me get into better detail. This is the equation I'm speaking of:
Mu4*A^2*X'11 + Ku4*{[(A*sin(X4) + X12 - A*sin(X7)) - ((A*sin(X5) + X13) - (A*sin(X6) + X14))] + tf/4*[((X_xi1 - X_xi4)/tf - (X_xi2 - X_xi3)/tr)]}*(A*cos(X7))
Where:
- Mu4 is the front-right unsprung mass
- A is the length of the trailing arm
- X'11 is the angular acceleration of the unsprung mass
- Ku4 is the front-left wheel vertical stiffness (in N/m)
- X4, X5, X6, X7 are the FL, RL, RR, FR wheel angular displacements (in rad)
- X12, X13, X14 are the front-left wheel vertical deformation (in m)
- tf, tr are the front and rear tracks
- X_xi1, X_xi2, X_xi3, X_xi4 are the FL, RL, RR, FR wheel road inputs (in m)
So, my doubt here is about how to determine the coefficients for the state matrix (A) of the state-space block, if I have a nonlinear equation like the above one. As in this equation I have the product of a state variable by a cosine of another state variable, how can I define the coefficients of the matrix for this case? What are my options for building the state-space model of a system of nonlinear equations?
Thank you very much. Vicente.
2 Comments
xiaoshu liu
on 14 May 2020
Hi Vicente,
To form A matrix, you would need to find the coefficient in front of each state variable. You can look up a youtube video by brian douglas. It's pretty clear.
If your system is nonlinear, you can't form an A matrix unless you linearize. For nonlinear system, the coefficient matrix A and the state x can't be separated.
Xiaoshu
Les Beckham
on 15 May 2020
xiaoshu liu is correct. You cannot model a non-linear system with a state space model unless you are willing to restrict the modeling to small perturbations of the state around a selected operating point. If you are willing to accept that limitation you can replace all of the cos(x) expressions by 1 and the sin(x) expressions by x and you will find that your expression becomes linear.
Since you used the word 'block' in your question, I will assume that you are modeling this in Simulink.
Simulink is quite able to handle non-linear models (that is basically what it was created for). You will just need to use the simpler blocks (like gains, sums, trig functions, etc.) to build up all of the signals and their interconnections, instead of trying to force everything inside of one state space model block.
I do have a concern, though, that you call this an "equation"
Mu4*A^2*X'11 + Ku4*{[(A*sin(X4) + X12 - A*sin(X7)) - ((A*sin(X5) + X13) - (A*sin(X6) + X14))] + tf/4*[((X_xi1 - X_xi4)/tf - (X_xi2 - X_xi3)/tr)]}*(A*cos(X7))
This is an expression and there is no equals sign or anything indicating what that expression, when evaluated, should be assigned to. An "equation" shows a relationship between an expression that is evaluated and then assigned to some other variable which is shown on the left side of the equals sign (at least in software; in "real math" it defines an exact equivalence between the things on the left and right sides of the equals sign).
If you clarify what the result of this expression represents and you know the values of all of the parameters, this can definitely be modeled in Simulink.
Answers (0)
See Also
Categories
Find more on Automotive Applications in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!