Description
Definition of a single-tire test rig.
#include <ChTireTestRig.h>
Classes | |
| struct | TerrainParamsGranular |
| Granular terrain patch parameters. More... | |
| struct | TerrainParamsRigid |
| Rigid terrain patch parameters. More... | |
| struct | TerrainParamsSCM |
| SCM terrain patch parameters. More... | |
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 | SetTerrainRigid (const TerrainParamsRigid ¶ms) |
| Enable use of rigid terrain. | |
| void | SetTerrainRigid (double friction, double restitution, double Young_modulus, double terrain_length=10, double terrain_width=1) |
| Enable use of rigid terrain. More... | |
| void | SetTerrainSCM (const TerrainParamsSCM ¶ms) |
| Enable use of SCM terrain. | |
| void | SetTerrainSCM (double Bekker_Kphi, double Bekker_Kc, double Bekker_n, double Mohr_cohesion, double Mohr_friction, double Janosi_shear, double grid_spacing=0.125, double terrain_length=10, double terrain_width=1) |
| Enable use of SCM terrain. More... | |
| void | SetTerrainGranular (const TerrainParamsGranular ¶ms) |
| Enable use of granular terrain. More... | |
| void | SetTerrainGranular (double radius, unsigned int num_layers, double density, double friction, double cohesion, double Young_modulus, double terrain_width=1) |
| Enable use of granular terrain. More... | |
| void | SetTerrainCRM (const TerrainParamsCRM ¶ms) |
| Enable use of CRM terrain. | |
| void | SetTerrainCRM (double radius, double density, double cohesion, double terrain_length=10, double terrain_width=1, double terrain_depth=0.2) |
| 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 enforce 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() [1/2]
| void chrono::vehicle::ChTireTestRig::SetTerrainGranular | ( | const TerrainParamsGranular & | params | ) |
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 length set based on the tire dimensions.
◆ SetTerrainGranular() [2/2]
| void chrono::vehicle::ChTireTestRig::SetTerrainGranular | ( | double | radius, |
| unsigned int | num_layers, | ||
| double | density, | ||
| double | friction, | ||
| double | cohesion, | ||
| double | Young_modulus, | ||
| double | terrain_width = 1 |
||
| ) |
Enable use of granular terrain.
Specify contact material properties. The terrain subsystem consists of identical spherical particles initialized in layers. A moving-patch option is used, with the patch length 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] terrain_width width of terrain patch
◆ SetTerrainRigid()
| void chrono::vehicle::ChTireTestRig::SetTerrainRigid | ( | double | friction, |
| double | restitution, | ||
| double | Young_modulus, | ||
| double | terrain_length = 10, |
||
| double | terrain_width = 1 |
||
| ) |
Enable use of rigid terrain.
Specify contact material properties and patch dimensions.
- Parameters
-
friction coefficient of friction restitution coefficient of restitution Young_modulus contact material Young's modulus [Pa] terrain_length length of terrain patch [m] terrain_width width of terrain patch
◆ 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 | grid_spacing = 0.125, |
||
| double | terrain_length = 10, |
||
| double | terrain_width = 1 |
||
| ) |
Enable use of SCM terrain.
Specify SCM soil parameters and patch dimensions.
- 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) grid_spacing SCM grid spacing terrain_length length of terrain patch terrain_width width 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