symbrim.bicycle.tires.InContactTire¶
- class symbrim.bicycle.tires.InContactTire(name: str)¶
Bases:
TireBase
Generic tire model that is in contact with the ground.
Explanation
This tire model is a generic tire model that is defined to be in contact with the ground. It is used as a base class for other tire models that are in contact with the ground.
- compute_normal_force¶
Flag to indicate if the normal force of the tire model should be computed. Default is True.
- Type:
- no_lateral_slip¶
Flag to indicate if the tire model has no lateral slip. If True, a nonholonomic constraint is added to the system to enforce no slip in the lateral direction. Default is False.
- Type:
- no_longitudinal_slip¶
Flag to indicate if the tire model has no longitudinal slip. If True, a nonholonomic constraint is added to the system to enforce no slip in the longitudinal direction. Default is False.
- Type:
- substitute_loads¶
Flag to indicate if the tire model should automatically substitute the symbols for the loads with the actual tire force and moment equations. Default is True.
- Type:
Notes
The tire model reserves the following symbols for the loads: - Fx: Longitudinal force of the tire model. - Fy: Lateral force of the tire model. - Fz: Normal force of the tire model. - Mx: Rolling resistance moment of the tire model. - Mz: Self aligning moment of the tire model.
If these symbols are specified in the
symbols
attribute, loads are automatically applied to the system. Some of these symbols are automatically removed if the normal force is not computed or if the tire model has no slip in the lateral or longitudinal direction.Attributes
Auxiliary data handler of the model.
Camber angle of the wheel.
Point representing the contact point of the wheel with the ground.
Dictionary of descriptions of the lateral tire model's attributes.
Submodel of the ground.
Lateral axis of the wheel.
Equations defining the forces and moments of the tire model.
Load groups of the connection.
Longitudinal axis of the wheel.
Name of the object.
Boolean whether the wheel is already defined as touching the ground.
required_models
Slip angle of the wheel.
Submodels of the connection.
System object used to store the information of the model itself.
Wheel radial axis pointing upward from the contact point to the wheel center.
Submodel of the wheel.
Methods
Create a new instance of the connection.
Add load groups to the connection.
Define the constraints on the connection.
Define the kinematics of the connection.
Define the loads on the connection.
Define the objects in the connection.
Get all declared symbols of a model.
Get description of a given object.
Get a parameters mapping of a model based on a bicycle parameters object.
Set the symmeplot plot objects.
- __init__(name: str) None ¶
Create a new instance of the connection.
- Parameters:
name (str) – Name of the connection.
- __weakref__¶
list of weak references to the object (if defined)
- add_load_groups(*load_groups: LoadGroupBase) None ¶
Add load groups to the connection.
- property auxiliary_handler: AuxiliaryDataHandler | None¶
Auxiliary data handler of the model.
- property descriptions: dict[object, str]¶
Dictionary of descriptions of the lateral tire model’s attributes.
- get_param_values(bicycle_parameters: Bicycle) dict[Symbol, float] ¶
Get a parameters mapping of a model based on a bicycle parameters object.
- property ground: FlatGround¶
Submodel of the ground.
- property load_equations: dict[Function, Expr]¶
Equations defining the forces and moments of the tire model.
- property load_groups: tuple[LoadGroupBase]¶
Load groups of the connection.
- set_plot_objects(plot_object: MplPlotBase) None ¶
Set the symmeplot plot objects.
- property system: System | None¶
System object used to store the information of the model itself.
Notes
This system object is used to store the information of the model itself. It does not by definition contain any information about the submodels or connections. Therefore, one cannot use this system object to form the equations of motion. Instead, one should use the
to_system()
method to get the system object representing the entire model.
- property upward_radial_axis: Vector¶
Wheel radial axis pointing upward from the contact point to the wheel center.
Explanation
To possibly simplify the equations of motion, one can overwrite the axis used to compute the location of the contact point with respect to the wheel center. This axis should be normalized. For a knife-edge wheel, one could express the vector from the wheel center to the contact point of the ground as
wheel.radius * upward_radial_axis
.
- property wheel: KnifeEdgeWheel | ToroidalWheel¶
Submodel of the wheel.