Rigid Body¶
-
class
uraeus.smbd.symbolic.components.bodies.
body
(name)[source]¶ A class that represents an un-constrained rigid body object in 3D in a symbolic form, where all the body parameters and equations are generated automatically in a symbolic format.
Parameters: name (str) – Name of the body instance. Should mimic a valid python variable name. Note
An un-constraied body in space is typically defined using 6 generalized coordinates representing its’ location and orientation. In cartesian coordinate system, body location is simply defined by the \((x,y,z)\) coordinates of a reference point on the body -normally the center-of-mass - , where the body orientation can be defined in various ways, such as the directional cosines matrix, euler-angles and euler-parameters.
The package uses euler-parameters -which is a 4D unit quaternion- to represents a given body orientation in space. This makes the generalized coordinates used to fully define a body in space to be 7, instead of 6, it also adds an algebraic equation to the constraints that ensures the unity/normalization of the body quaternion.
Attributes
-
n
¶ Number of generalized coordinates used to define the body configuration. Equals 7.
Type: int
-
nc
¶ Number of scalar constraint equations (euler-parameters normalization).
Type: int
-
nve
¶ Number of vetor constraint equations (euler-parameters normalization).
Type: int
-
A
¶ The directional cosines matrix that represents the symbolic orientation of the body relative to the global_frame. This matrix is function of the body orientation parameters e.g. euler-parameters
Type: A
-
R
¶ A symbolic matrix that represents the location of the body’s reference point relative to the global origin.
Type: vector
-
Rd
¶ A symbolic matrix that represents the translational velocity of the body’s reference point relative to the global origin.
Type: vector
-
P
¶ A symbolic matrix that represents the orientation of the body’s reference frame relative to the global frame in terms of euler-parameters.
Type: quatrenion
-
Pd
¶ A symbolic matrix that represents the rotaional velocity of the body’s reference frame relative to the global frame in terms of euler_parameters time-derivatives.
Type: quatrenion
-
q
¶ Blockmatrix containing the position-level coordinates of the body
Type: sympy.BlockMatrix
-
qd
¶ Blockmatrix containing the velocity-level coordinates of the body
Type: sympy.BlockMatrix
-
normalized_pos_equation
¶ The normalization equation of the euler-parameters quatrenion at the position level.
Type: sympy.MatrixExpr
-
normalized_vel_equation
¶ The normalization equation of the euler-parameters quatrenion at the velocity level.
Type: sympy.MatrixExpr
-
normalized_acc_equation
¶ The normalization equation of the euler-parameters quatrenion at the acceleration level.
Type: sympy.MatrixExpr
-
normalized_jacobian
¶ The jacobian of the normalization equation of the euler-parameters quatrenion relative to the vector of euler-parameters.
Type: list (of sympy.MatrixExpr)
-
arguments_symbols
¶ A list containing the symbolic mathematical objects that should be nuemrically defined by the user in a numerical simulation session.
Type: list (of symbolic objects)
-
runtime_symbols
¶ A list containing the symbolic mathematical objects that changes during the run-time of a nuemric simulation’s “solve” method.
Type: list (of symbolic objects)
-
constants_symbolic_expr
¶ A list containing sympy equalities representing the values of internal class symbolic constants that are evaluated from other symbolic expressions.
Type: list (of sympy.Equality)
-
constants_numeric_expr
¶ A list containing sympy equalities representing the values of internal class symbolic constants that are evaluated directly from numerical expressions.
Type: list (of sympy.Equality)
-
constants_symbols
¶ A list containing all the symbolic mathematical objects that represent constants for the given body instance.
Type: list (of symbolic objects)
-