State-Space Nonlinear System
5 次查看(过去 30 天)
显示 更早的评论
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 个评论
xiaoshu liu
2020-5-14
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
2020-5-15
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.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Automotive Applications 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!