This object holds the general model form for a dynamic system. This model is used for computing the linearized form of the system, while properly dealing with constraints leading to dependent coordinates and speeds.
Attributes
f_0, f_1, f_2, f_3, f_4, f_c, f_v, f_a | (Matrix) Matrices holding the general system form. |
q, u, r | (Matrix) Matrices holding the generalized coordinates, speeds, and input vectors. |
q_i, u_i | (Matrix) Matrices of the independent generalized coordinates and speeds. |
q_d, u_d | (Matrix) Matrices of the dependent generalized coordinates and speeds. |
perm_mat | (Matrix) Permutation matrix such that [q_ind, u_ind]^T = perm_mat*[q, u]^T |
Linearize the system about the operating point. Note that q_op, u_op, qd_op, ud_op must satisfy the equations of motion. These may be either symbolic or numeric.
Parameters : | op_point : dict or iterable of dicts, optional
A_and_B : bool, optional
simplify : bool, optional
|
---|
Potential Issues
Note that the process of solving with A_and_B=True is computationally intensive if there are many symbolic parameters. For this reason, it may be more desirable to use the default A_and_B=False, returning M, A, and B. More values may then be substituted in to these matrices later on. The state space form can then be found as A = P.T*M.LUsolve(A), B = P.T*M.LUsolve(B), where P = Linearizer.perm_mat.