chrono::vehicle::ChPacejkaTire Class Reference

Description

Concrete tire class that implements the Pacejka tire model.

Detailed description goes here...

#include <ChPacejkaTire.h>

Inheritance diagram for chrono::vehicle::ChPacejkaTire:
Collaboration diagram for chrono::vehicle::ChPacejkaTire:

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...
 
void SetDrivenWheel (bool val)
 Specify whether or not the associated wheel is driven. More...
 
virtual void Initialize (std::shared_ptr< ChBody > wheel, VehicleSide side) override
 specify the file name to read the Pactire input from 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 GetVisualizationWidth () const
 Get visualization tire width.
 
virtual TireForce GetTireForce (bool cosim=false) const override
 return the reactions for the combined slip EQs, in global coords
 
TireForce GetTireForce_pureSlip (const bool local=true) const
 Return the reactions for the pure slip EQs, in local or global coords.
 
TireForce GetTireForce_combinedSlip (const bool local=true) const
 Return the reactions for the combined slip EQs, in local or global coords.
 
virtual void Synchronize (double time, const WheelState &wheel_state, const ChTerrain &terrain) override
 Update the state of this tire system at the current time. More...
 
virtual double GetSlipAngle () const override
 Get the tire slip angle.
 
virtual double GetLongitudinalSlip () const override
 Get the tire longitudinal slip.
 
virtual double GetCamberAngle () const override
 Get the tire camber angle.
 
virtual void Advance (double step) override
 Advance the state of this tire by the specified time step. 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.
 
void SetStepsize (double val)
 Set the value of the integration step size.
 
double GetStepsize () const
 Get the current value of the integration step size.
 
- Public Member Functions inherited from chrono::vehicle::ChTire
 ChTire (const std::string &name)
 
- Public Member Functions inherited from chrono::vehicle::ChPart
 ChPart (const std::string &name)
 Construct a vehicle subsystem with the specified name. More...
 
const std::string & GetName () const
 Get the name identifier for this track shoe subsystem.
 
void SetName (const std::string &name)
 Set the name identifier for this track shoe subsystem.
 
void SetVisualizationType (VisualizationType vis)
 Set the visualization mode for this subsystem.
 

Additional Inherited Members

- Static Protected Member Functions inherited from chrono::vehicle::ChTire
static bool disc_terrain_contact (const ChTerrain &terrain, const ChVector<> &disc_center, const ChVector<> &disc_normal, double disc_radius, ChCoordsys<> &contact, double &depth)
 Perform disc-terrain collision detection. More...
 
- Protected Attributes inherited from chrono::vehicle::ChTire
VehicleSide m_side
 tire mounted on left/right side
 
std::shared_ptr< ChBodym_wheel
 associated wheel body
 
- Protected Attributes inherited from chrono::vehicle::ChPart
std::string m_name
 

Constructor & Destructor Documentation

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]namename of this tire
[in]pacTire_paramFilename of the parameter file
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]namename of this tire
[in]pacTire_paramFilename of the parameter file
[in]Fz_overrideprescribed vertical load
[in]use_transient_slipindicate if using transient slip model

Member Function Documentation

void chrono::vehicle::ChPacejkaTire::Advance ( double  step)
overridevirtual

Advance the state of this tire by the specified time step.

Use the new body state, calculate all the relevant quantities over the time increment.

Reimplemented from chrono::vehicle::ChTire.

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]Vxtire forward velocity x-dir
void chrono::vehicle::ChPacejkaTire::Initialize ( std::shared_ptr< ChBody wheel,
VehicleSide  side 
)
overridevirtual

specify the file name to read the Pactire input from

Parameters
wheelhandle to the associated wheel body
[in]sideleft/right vehicle side

Reimplemented from chrono::vehicle::ChTire.

void chrono::vehicle::ChPacejkaTire::SetDrivenWheel ( bool  val)

Specify whether or not the associated wheel is driven.

By default, the wheel is assumed not driven.

void chrono::vehicle::ChPacejkaTire::Synchronize ( double  time,
const WheelState wheel_state,
const ChTerrain terrain 
)
overridevirtual

Update the state of this tire system at the current time.

Set the PacTire spindle state data from the global wheel body state.

Parameters
[in]timecurrent time
[in]wheel_statecurrent state of associated wheel body
[in]terrainreference to the terrain system

Reimplemented from chrono::vehicle::ChTire.