Description
Concrete tire class that implements the Pacejka tire model.
#include <ChPacejkaTire.h>


Public Member Functions | |
| ChPacejkaTire (const std::string &name, const std::string &pacTire_paramFile) | |
| Default constructor for a Pacejka tire. More... | |
| ChPacejkaTire (const std::string &name, const std::string &pacTire_paramFile, double Fz_override, bool use_transient_slip=true) | |
| Construct a Pacejka tire with specified vertical load, for testing purposes. More... | |
| virtual std::string | GetTemplateName () const override |
| Get the name of the vehicle subsystem template. | |
| void | SetDrivenWheel (bool val) |
| Specify whether or not the associated wheel is driven. More... | |
| virtual void | AddVisualizationAssets (VisualizationType vis) override |
| Add visualization assets for the rigid tire subsystem. | |
| virtual void | RemoveVisualizationAssets () override |
| Remove visualization assets for the rigid tire subsystem. | |
| virtual double | GetRadius () const override |
| Get the tire radius. | |
| virtual double | GetWidth () const override |
| Get tire width. | |
| virtual double | GetVisualizationWidth () const |
| Get visualization tire width. | |
| TerrainForce | GetTireForce_pureSlip (const bool local=true) const |
| Return the reactions for the pure slip EQs, in local or global coords. | |
| TerrainForce | GetTireForce_combinedSlip (const bool local=true) const |
| Return the reactions for the combined slip EQs, in local or global coords. More... | |
| double | GetSlipAngle_internal () const |
| Get the tire slip angle computed internally by the Pacejka model (in radians). More... | |
| double | GetLongitudinalSlip_internal () const |
| Get the tire longitudinal slip computed internally by the Pacejka model. More... | |
| double | GetCamberAngle_internal () const |
| Get the camber angle for the Pacejka tire model (in radians). More... | |
| void | WriteOutData (double time, const std::string &outFilename) |
| Write output data to a file. | |
| void | set_Fz_override (double Fz) |
| Manually set the vertical wheel load as an input. | |
| WheelState | getState_from_KAG (double kappa, double alpha, double gamma, double Vx) |
| Return orientation, Vx (global) and omega/omega_y (global). More... | |
| double | get_average_Advance_time () |
| Get the average simulation time per step spent in advance() | |
| double | get_average_ODE_time () |
| Get the average simulation time per step spent in calculating ODEs. | |
| double | get_kappa () const |
| Get current wheel longitudinal slip. | |
| double | get_alpha () const |
| Get current wheel slip angle. | |
| double | get_gamma () const |
| Get current wheel camber angle. | |
| double | get_kappaPrime () const |
| Get current long slip rate used in Magic Formula EQs. | |
| double | get_alphaPrime () const |
| Get current slip angle using in Magic Formula. | |
| double | get_gammaPrime () const |
| Get current camber angle used in Magic Formula. | |
| double | get_min_long_slip () const |
| Get minimum longitudinal slip rate. | |
| double | get_max_long_slip () const |
| Get maximum longitudinal slip rate. | |
| double | get_min_lat_slip () const |
| Get the minimum allowable lateral slip angle, alpha. | |
| double | get_max_lat_slip () const |
| Get the maximum allowable lateral slip angle, alpha. | |
| double | get_longvl () const |
| Get the longitudinal velocity. | |
| double | get_tire_rolling_rad () const |
| Get the tire rolling radius, ideally updated each step. | |
Public Member Functions inherited from chrono::vehicle::ChForceElementTire | |
| virtual TerrainForce | ReportTireForce (ChTerrain *terrain) const override |
| Report the tire force and moment. | |
Public Member Functions inherited from chrono::vehicle::ChTire | |
| void | SetStepsize (double val) |
| Set the value of the integration step size for the underlying dynamics (if applicable). More... | |
| double | GetStepsize () const |
| Get the current value of the integration step size. | |
| void | SetCollisionType (CollisionType collision_type) |
| Set the collision type for tire-terrain interaction. More... | |
| virtual double | GetTireMass () const =0 |
| Return the tire mass. | |
| virtual ChVector | GetTireInertia () const =0 |
| Return the tire moments of inertia (in the tire centroidal frame). | |
| double | GetSlipAngle () const |
| Return the tire slip angle calculated based on the current state of the associated wheel body. More... | |
| double | GetLongitudinalSlip () const |
| Return the tire longitudinal slip calculated based on the current state of the associated wheel body. More... | |
| double | GetCamberAngle () const |
| Return the tire camber angle calculated based on the current state of the associated wheel body. More... | |
| virtual double | GetDeflection () const |
| Report the tire deflection. | |
| const std::string & | GetMeshFilename () const |
| Get the name of the Wavefront file with tire visualization mesh. More... | |
Public Member Functions inherited from chrono::vehicle::ChPart | |
| const std::string & | GetName () const |
| Get the name identifier for this subsystem. | |
| void | SetName (const std::string &name) |
| Set the name identifier for this subsystem. | |
| double | GetMass () const |
| Get the subsystem mass. More... | |
| const ChFrame & | GetCOMFrame () const |
| Get the current subsystem COM frame (relative to and expressed in the subsystem's reference frame). More... | |
| const ChMatrix33 & | GetInertia () const |
| Get the current subsystem inertia (relative to the subsystem COM frame). More... | |
| const ChFrame & | GetTransform () const |
| Get the current subsystem position relative to the global frame. More... | |
| void | SetVisualizationType (VisualizationType vis) |
| Set the visualization mode for this subsystem. | |
| virtual void | SetOutput (bool state) |
| Enable/disable output for this subsystem. | |
| bool | OutputEnabled () const |
| Return the output state for this subsystem. | |
| virtual void | ExportComponentList (rapidjson::Document &jsonDocument) const |
| Export this subsystem's component list to the specified JSON object. More... | |
| virtual void | Output (ChVehicleOutput &database) const |
| Output data for this subsystem's component list to the specified database. | |
Protected Member Functions | |
| const std::string & | getPacTireParamFile () const |
Protected Member Functions inherited from chrono::vehicle::ChForceElementTire | |
| ChForceElementTire (const std::string &name) | |
| Construct a tire with the specified name. | |
Protected Member Functions inherited from chrono::vehicle::ChTire | |
| ChTire (const std::string &name) | |
| Construct a tire subsystem with given name. | |
| void | CalculateKinematics (const WheelState &wheel_state, const ChCoordsys<> &tire_frame) |
| Calculate kinematics quantities based on the given state of the associated wheel body. More... | |
| double | GetOffset () const |
| Get offset from spindle center. More... | |
| std::shared_ptr< ChTriangleMeshShape > | AddVisualizationMesh (const std::string &mesh_file_left, const std::string &mesh_file_right) |
| Add mesh visualization to the body associated with this tire (a wheel spindle body). More... | |
Protected Member Functions inherited from chrono::vehicle::ChPart | |
| ChPart (const std::string &name) | |
| Construct a vehicle subsystem with the specified name. | |
| void | AddMass (double &mass) |
| Add this subsystem's mass. More... | |
| void | AddInertiaProperties (ChVector<> &com, ChMatrix33<> &inertia) |
| Add this subsystem's inertia properties. More... | |
Protected Attributes | |
| std::string | m_paramFile |
Protected Attributes inherited from chrono::vehicle::ChForceElementTire | |
| ContactData | m_data |
| tire-terrain collision information | |
| TerrainForce | m_tireforce |
| tire forces (in tire contact frame) | |
| ChFunction_Recorder | m_areaDep |
Protected Attributes inherited from chrono::vehicle::ChTire | |
| std::shared_ptr< ChWheel > | m_wheel |
| associated wheel subsystem | |
| double | m_stepsize |
| tire integration step size (if applicable) | |
| CollisionType | m_collision_type |
| method used for tire-terrain collision | |
| std::string | m_vis_mesh_file |
| name of OBJ file for visualization of this tire (may be empty) | |
Protected Attributes inherited from chrono::vehicle::ChPart | |
| std::string | m_name |
| subsystem name | |
| bool | m_output |
| specifies whether or not output is generated for this subsystem | |
| std::shared_ptr< ChPart > | m_parent |
| parent subsystem (empty if parent is vehicle) | |
| double | m_mass |
| subsystem mass | |
| ChMatrix33 | m_inertia |
| inertia tensor (relative to subsystem COM) | |
| ChFrame | m_com |
| COM frame (relative to subsystem reference frame) | |
| ChFrame | m_xform |
| subsystem frame expressed in the global frame | |
Additional Inherited Members | |
Public Types inherited from chrono::vehicle::ChTire | |
| enum | CollisionType { SINGLE_POINT, FOUR_POINTS, ENVELOPE } |
Static Public Member Functions inherited from chrono::vehicle::ChTire | |
| static ChVector | EstimateInertia (double tire_width, double aspect_ratio, double rim_diameter, double tire_mass, double t_factor=2) |
| Utility function for estimating the tire moments of inertia. More... | |
Static Public Member Functions inherited from chrono::vehicle::ChPart | |
| static ChMatrix33 | TransformInertiaMatrix (const ChVector<> &moments, const ChVector<> &products, const ChMatrix33<> &vehicle_rot, const ChMatrix33<> &body_rot) |
| Utility function for transforming inertia tensors between centroidal frames. More... | |
Static Protected Member Functions inherited from chrono::vehicle::ChTire | |
| static bool | DiscTerrainCollision (CollisionType method, const ChTerrain &terrain, const ChVector<> &disc_center, const ChVector<> &disc_normal, double disc_radius, double width, const ChFunction_Recorder &areaDep, ChCoordsys<> &contact, double &depth, float &mu) |
| Perform disc-terrain collision detection, using the specified method. More... | |
| static void | ConstructAreaDepthTable (double disc_radius, ChFunction_Recorder &areaDep) |
| Utility function to construct a loopkup table for penetration depth as function of intersection area, for a given tire radius. More... | |
Static Protected Member Functions inherited from chrono::vehicle::ChPart | |
| static void | ExportBodyList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChBody >> bodies) |
| Export the list of bodies to the specified JSON document. | |
| static void | ExportShaftList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChShaft >> shafts) |
| Export the list of shafts to the specified JSON document. | |
| static void | ExportJointList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLink >> joints) |
| Export the list of joints to the specified JSON document. | |
| static void | ExportCouplesList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChShaftsCouple >> couples) |
| Export the list of shaft couples to the specified JSON document. | |
| static void | ExportMarkerList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChMarker >> markers) |
| Export the list of markers to the specified JSON document. | |
| static void | ExportLinSpringList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLinkTSDA >> springs) |
| Export the list of translational springs to the specified JSON document. | |
| static void | ExportRotSpringList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLinkRSDA >> springs) |
| Export the list of rotational springs to the specified JSON document. | |
| static void | ExportBodyLoadList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLoadBodyBody >> loads) |
| Export the list of body-body loads to the specified JSON document. | |
| static void | RemoveVisualizationAssets (std::shared_ptr< ChPhysicsItem > item) |
| Erase all visual shapes from the visual model associated with the specified physics item (if any). | |
| static void | RemoveVisualizationAsset (std::shared_ptr< ChPhysicsItem > item, std::shared_ptr< ChVisualShape > shape) |
| Erase the given shape from the visual model associated with the specified physics item (if any). | |
Constructor & Destructor Documentation
◆ ChPacejkaTire() [1/2]
| chrono::vehicle::ChPacejkaTire::ChPacejkaTire | ( | const std::string & | name, |
| const std::string & | pacTire_paramFile | ||
| ) |
Default constructor for a Pacejka tire.
Construct a Pacejka tire for which the vertical load is calculated internally. The model includes transient slip calculations. chrono can suggest a time step for use with the ODE slips
- Parameters
-
[in] name name of this tire [in] pacTire_paramFile name of the parameter file
◆ ChPacejkaTire() [2/2]
| chrono::vehicle::ChPacejkaTire::ChPacejkaTire | ( | const std::string & | name, |
| const std::string & | pacTire_paramFile, | ||
| double | Fz_override, | ||
| bool | use_transient_slip = true |
||
| ) |
Construct a Pacejka tire with specified vertical load, for testing purposes.
- Parameters
-
[in] name name of this tire [in] pacTire_paramFile name of the parameter file [in] Fz_override prescribed vertical load [in] use_transient_slip indicate if using transient slip model
Member Function Documentation
◆ GetCamberAngle_internal()
|
inline |
Get the camber angle for the Pacejka tire model (in radians).
The reported value will be the same as that reported by ChTire::GetCamberAngle.
◆ GetLongitudinalSlip_internal()
|
inline |
Get the tire longitudinal slip computed internally by the Pacejka model.
The reported value will be the same as that reported by ChTire::GetLongitudinalSlip.
◆ GetSlipAngle_internal()
|
inline |
Get the tire slip angle computed internally by the Pacejka model (in radians).
The reported value will be the same as that reported by ChTire::GetSlipAngle.
◆ getState_from_KAG()
| WheelState chrono::vehicle::ChPacejkaTire::getState_from_KAG | ( | double | kappa, |
| double | alpha, | ||
| double | gamma, | ||
| double | Vx | ||
| ) |
Return orientation, Vx (global) and omega/omega_y (global).
Assumes the tire is going straight forward (global x-dir), and the returned state's orientation yields gamma and alpha, as x and z NASA angles
- Parameters
-
[in] kappa ... [in] alpha ... [in] gamma ... [in] Vx tire forward velocity x-dir
◆ GetTireForce_combinedSlip()
| TerrainForce chrono::vehicle::ChPacejkaTire::GetTireForce_combinedSlip | ( | const bool | local = true | ) | const |
Return the reactions for the combined slip EQs, in local or global coords.
Return the reactions for the combined slip EQs, in local or global coordinates.
◆ SetDrivenWheel()
|
inline |
Specify whether or not the associated wheel is driven.
By default, the wheel is assumed not driven.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_vehicle/wheeled_vehicle/tire/ChPacejkaTire.h
- /builds/uwsbel/chrono/src/chrono_vehicle/wheeled_vehicle/tire/ChPacejkaTire.cpp
Public Member Functions inherited from