Description
Definition of a single-tire test rig.
#include <ChTireTestRig.h>
Public Types | |
enum | Mode { Mode::SUSPEND, Mode::DROP, Mode::TEST } |
Tire test rig operation mode. More... | |
Public Member Functions | |
ChTireTestRig (std::shared_ptr< ChWheel > wheel, std::shared_ptr< ChTire > tire, ChSystem *system) | |
Construct a tire test rig within the specified system. More... | |
void | SetGravitationalAcceleration (double grav) |
Set gravitational acceleration (default: 9.81 m/s2). | |
void | SetNormalLoad (double load) |
Set desired normal load (default: 1000 N). | |
double | GetNormalLoad (double load) const |
Get the normal load. | |
void | SetCamberAngle (double camber) |
Set camber angle (default: 0 rad). | |
void | SetLongSpeedFunction (std::shared_ptr< ChFunction > funct) |
Specify rig carrier longitudinal speed as function of time (default: none). More... | |
void | SetAngSpeedFunction (std::shared_ptr< ChFunction > funct) |
Specify wheel angular speed as function of time (default: none). More... | |
void | SetSlipAngleFunction (std::shared_ptr< ChFunction > funct) |
Specify wheel slip angle as function of time (default: constant value 0 rad). | |
void | SetConstantLongitudinalSlip (double long_slip, double base_speed=1) |
Specify a constant given longitudinal slip. More... | |
void | SetTireCollisionType (ChTire::CollisionType coll_type) |
Set collision type for tire-terrain interaction (default: SINGLE_POINT). | |
void | SetTireStepsize (double step) |
Set the time step for advancing tire dynamics (default: 1e-3 s). | |
void | SetTireVisualizationType (VisualizationType vis) |
Set visualization type for the tire (default: PRIMITIVES). | |
void | SetTerrainSCM (double Bekker_Kphi, double Bekker_Kc, double Bekker_n, double Mohr_cohesion, double Mohr_friction, double Janosi_shear, double terrain_length=10) |
Enable use of SCM terrain. Specify SCM soil parameters. More... | |
void | SetTerrainRigid (double friction, double restitution, double Young_modulus, double terrain_length=10) |
Enable use of rigid terrain. Specify contact material properties. More... | |
void | SetTerrainGranular (double radius, unsigned int num_layers, double density, double friction, double cohesion, double Young_modulus) |
Enable use of granular terrain. More... | |
void | SetTimeDelay (double delay) |
Set time delay before applying motion functions (default: 0 s). | |
void | Initialize (Mode mode) |
Initialize the rig system. More... | |
void | GetSuggestedCollisionSettings (double &collision_envelope, ChVector3i &collision_bins) const |
Get suggested collision settings. More... | |
void | Advance (double step) |
Advance system state by the specified time step. | |
double | GetMass () const |
Get total rig mass. | |
std::shared_ptr< ChTerrain > | GetTerrain () const |
Get a handle to the underlying terrain subsystem. | |
const ChVector3d & | GetPos () const |
Get current carrier body position. | |
TerrainForce | ReportTireForce () const |
Get the current tire forces. | |
double | GetDBP () const |
Return current drawbar-pull value. More... | |
Member Enumeration Documentation
◆ Mode
|
strong |
Constructor & Destructor Documentation
◆ ChTireTestRig()
chrono::vehicle::ChTireTestRig::ChTireTestRig | ( | std::shared_ptr< ChWheel > | wheel, |
std::shared_ptr< ChTire > | tire, | ||
ChSystem * | system | ||
) |
Construct a tire test rig within the specified system.
- Parameters
-
wheel wheel subsystem tire tire subsystem system containing mechanical system
Member Function Documentation
◆ GetDBP()
double chrono::vehicle::ChTireTestRig::GetDBP | ( | ) | const |
Return current drawbar-pull value.
This is the reaction force in the linear motor used to enforce the specified rig longitudinal speed.
◆ GetSuggestedCollisionSettings()
void chrono::vehicle::ChTireTestRig::GetSuggestedCollisionSettings | ( | double & | collision_envelope, |
ChVector3i & | collision_bins | ||
) | const |
Get suggested collision settings.
These values are meaningful only when using granular terrain and Chrono::Multicore.
- Parameters
-
collision_envelope suggested envelope based on particle radius collision_bins suggested number of bins for broad-pahse collision detection
◆ Initialize()
void chrono::vehicle::ChTireTestRig::Initialize | ( | Mode | mode | ) |
Initialize the rig system.
It is the user's responsibility to set the operation mode and motion functions in a consistent way.
◆ SetAngSpeedFunction()
void chrono::vehicle::ChTireTestRig::SetAngSpeedFunction | ( | std::shared_ptr< ChFunction > | funct | ) |
Specify wheel angular speed as function of time (default: none).
If a function is not specified, the wheel is not actuated.
◆ SetConstantLongitudinalSlip()
void chrono::vehicle::ChTireTestRig::SetConstantLongitudinalSlip | ( | double | long_slip, |
double | base_speed = 1 |
||
) |
Specify a constant given longitudinal slip.
This version overrides the motion functions for the carrier longitudinal slip and for the wheel angular speed to enfore the specified longitudinalslip value. A positive slip value indicates that the wheel is spinning. A negative slip value indicates that the wheel is sliding (skidding); in particular, s=-1 indicates sliding without rotation.
◆ SetLongSpeedFunction()
void chrono::vehicle::ChTireTestRig::SetLongSpeedFunction | ( | std::shared_ptr< ChFunction > | funct | ) |
Specify rig carrier longitudinal speed as function of time (default: none).
If a function is not specified, the carrier is not actuated.
◆ SetTerrainGranular()
void chrono::vehicle::ChTireTestRig::SetTerrainGranular | ( | double | radius, |
unsigned int | num_layers, | ||
double | density, | ||
double | friction, | ||
double | cohesion, | ||
double | Young_modulus | ||
) |
Enable use of granular terrain.
The terrain subsystem consists of identical spherical particles initialized in layers. A moving-patch option is used, with the patch dimensions set based on the tire dimensions.
- Parameters
-
radius particle radius [m] num_layers number of layers for initial particle creation density particle material density [kg/m3] friction inter-particle coefficient of friction cohesion inter-particle cohesion pressure [Pa] Young_modulus particle contact material Young's modulus [Pa]
◆ SetTerrainRigid()
void chrono::vehicle::ChTireTestRig::SetTerrainRigid | ( | double | friction, |
double | restitution, | ||
double | Young_modulus, | ||
double | terrain_length = 10 |
||
) |
Enable use of rigid terrain. Specify contact material properties.
- Parameters
-
friction coefficient of friction restitution coefficient of restitution Young_modulus contact material Young's modulus [Pa] terrain_length length of terrain patch [m]
◆ SetTerrainSCM()
void chrono::vehicle::ChTireTestRig::SetTerrainSCM | ( | double | Bekker_Kphi, |
double | Bekker_Kc, | ||
double | Bekker_n, | ||
double | Mohr_cohesion, | ||
double | Mohr_friction, | ||
double | Janosi_shear, | ||
double | terrain_length = 10 |
||
) |
Enable use of SCM terrain. Specify SCM soil parameters.
- Parameters
-
Bekker_Kphi Kphi, frictional modulus in Bekker model Bekker_Kc Kc, cohesive modulus in Bekker model Bekker_n n, exponent of sinkage in Bekker model (usually 0.6...1.8) Mohr_cohesion cohesion [Pa], for shear failure Mohr_friction Friction angle [degrees], for shear failure Janosi_shear shear parameter J [m], (usually a few mm or cm) terrain_length length of terrain patch
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_vehicle/wheeled_vehicle/test_rig/ChTireTestRig.h
- /builds/uwsbel/chrono/src/chrono_vehicle/wheeled_vehicle/test_rig/ChTireTestRig.cpp