chrono::vehicle::ChWheelSuspensionTestRig Class Reference

Description

Single-wheel test rig with the wheel assembly attached to a suspension assembly.

  • Accepts arbitrary suspension (derived from ChWheelTestRig::SuspensionAssembly) and wheel (derived from ChWheelTestRig::WheelAssembly) assemblies
  • Accepts a Chrono::Vehicle suspension and wheel-tire assembly

#include <ChWheelTestRig.h>

Inheritance diagram for chrono::vehicle::ChWheelSuspensionTestRig:
Collaboration diagram for chrono::vehicle::ChWheelSuspensionTestRig:

Public Member Functions

 ChWheelSuspensionTestRig (ChSystem &system, std::shared_ptr< WheelAssembly > wheel, std::shared_ptr< SuspensionAssembly > suspension)
 Construct a test rig within the specified system using the given wheel and suspension assemblies.
 
 ChWheelSuspensionTestRig (ChSystem &system, std::shared_ptr< ChWheel > wheel, std::shared_ptr< ChTire > tire, std::shared_ptr< ChSuspension > suspension)
 Construct a test rig within the specified system using the given Chrono::Vehicle wheel, tire, and suspension subsystems. More...
 
- Public Member Functions inherited from chrono::vehicle::ChWheelTestRigBase
void SetGravitationalAcceleration (double grav)
 Set gravitational acceleration (default: 9.81 m/s2).
 
void SetNormalLoad (double load)
 Set desired normal load (default: 1000 N).
 
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 SetConstantLongitudinalSlip (double long_slip, double base_speed=1)
 Specify a constant given longitudinal slip. More...
 
void SetStepsize (double step)
 Set the time step for advancing wheel assembly dynamics (default: 1e-3 s).
 
void SetVisualizationType (VisualizationType vis)
 Set visualization type for the wheel assembly (default: PRIMITIVES).
 
void SetTerrainRigid (const TerrainPatchSize &size, const TerrainParamsRigid &params)
 Enable use of rigid terrain.
 
void SetTerrainRigid (const TerrainPatchSize &size, float mu, float cr, float Y)
 Enable use of rigid terrain. More...
 
void SetTerrainSCM (const TerrainPatchSize &size, const TerrainParamsSCM &params)
 Enable use of SCM terrain.
 
void SetTerrainSCM (const TerrainPatchSize &size, double Bekker_Kphi, double Bekker_Kc, double Bekker_n, double Mohr_cohesion, double Mohr_friction, double Janosi_shear, double grid_spacing=0.125)
 Enable use of SCM terrain. More...
 
void SetTerrainGranular (const TerrainPatchSize &size, const TerrainParamsGranular &params)
 Enable use of granular terrain. More...
 
void SetTerrainGranular (const TerrainPatchSize &size, double radius, 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). More...
 
double GetTimeDelay () const
 Get time delay after which measurements are calculated. More...
 
bool OutputEnabled () const
 Check if kinematic and kinetic quantities are collected. More...
 
void Initialize (Mode mode, double drop_speed=0.1)
 Initialize the rig system. More...
 
void Advance (double step)
 Advance system state by the specified time step.
 
void GetSuggestedCollisionSettings (double &collision_envelope, ChVector3i &collision_bins) const
 Get suggested collision settings. More...
 
double GetNormalLoad () const
 Get the normal load.
 
double GetMass () const
 Get total rig mass.
 
std::shared_ptr< ChTerrainGetTerrain () const
 Get a handle to the underlying terrain subsystem.
 
const ChVector3dGetPos () const
 Get current carrier body position.
 
ChVector3d GetWheelPos () const
 Get current wheel position.
 
TerrainForce ReportWheelForce () const
 Get the current terrain forces acting on the wheel as applied to the wheel hub.
 
double GetDBP () const
 Return current drawbar-pull value. More...
 
double GetLongitudinalSlip () const
 Get current wheel longitudinal slip. More...
 
double GetSlipAngle () const
 Get current wheel slip angle. More...
 
double GetCamberAngle () const
 Get current wheel camber angle. More...
 
std::shared_ptr< ChLinkMotorLinearSpeedGetMotorCarrier () const
 Get the linear motor used to actuate the carrier.
 
std::shared_ptr< ChShaftsMotorSpeedGetMotorWheel () const
 Get the rotation motor used to actuate the wheel.
 

Additional Inherited Members

- Public Types inherited from chrono::vehicle::ChWheelTestRigBase
enum  Mode { Mode::SUSPEND, Mode::DROP, Mode::TEST }
 Tire test rig operation mode. More...
 
enum  TerrainType {
  SCM, RIGID, CRG, GRANULAR,
  CRM, NONE
}
 Terrain type.
 
- Protected Member Functions inherited from chrono::vehicle::ChWheelTestRigBase
 ChWheelTestRigBase (ChSystem &system, std::shared_ptr< WheelAssembly > wheel)
 Construct a test rig within the specified system using the given custom wheel.
 
virtual void CreateMechanism ()
 Create the single-wheel test rig mechanism.
 
void CreateTerrain ()
 Create the terrain patch of specified type.
 
void CreateTerrainSCM ()
 
void CreateTerrainRigid ()
 
void CreateTerrainGranular ()
 
virtual void OnStartActuation ()
 Additional operations to be performed when actuation is enabled. More...
 
- Protected Attributes inherited from chrono::vehicle::ChWheelTestRigBase
ChSystemm_system
 containing Chrono system
 
Mode m_mode
 testing mode
 
bool m_output
 if false, report default measurements (typically 0)
 
std::shared_ptr< ChTerrainm_terrain
 handle to underlying terrain subsystem
 
std::shared_ptr< WheelAssemblym_wheel_assembly
 wheel assembly
 
VisualizationType m_vis_type
 visualization type for wheel assembly
 
double m_step_size
 step size for wheel assembly integration
 
double m_grav
 gravitational acceleration
 
double m_normal_load
 desired normal load
 
double m_total_mass
 total sprung mass
 
double m_time_delay
 time delay before applying external load
 
TerrainType m_terrain_type
 terrain type
 
double m_terrain_offset
 Y coordinate of wheel center.
 
double m_terrain_height
 height coordinate for terrain subsystem
 
TerrainPatchSize m_terrain_size
 terrain patch dimensions
 
TerrainParamsSCM m_params_SCM
 SCM soil parameters.
 
TerrainParamsRigid m_params_rigid
 rigid terrain contact material properties
 
TerrainParamsGranular m_params_granular
 granular terrain parameters
 
ChAABB m_wheel_AABB
 AABB for the entire wheel assembly (estimated or user-provided)
 
std::shared_ptr< ChBodym_ground_body
 ground body
 
std::shared_ptr< ChBodyAuxRefm_carrier_body
 rig carrier body
 
std::shared_ptr< ChBodyAuxRefm_chassis_body
 "chassis" body which carries normal load
 
bool m_ls_actuated
 is linear speed actuated?
 
bool m_rs_actuated
 is angular speed actuated?
 
bool m_long_slip_constant
 true if constant longitudinal slip was specified
 
double m_long_slip
 user-specified longitudinal slip
 
double m_base_speed
 base speed for long slip calculation
 
std::shared_ptr< ChFunctionm_ls_fun
 longitudinal speed function of time
 
std::shared_ptr< ChFunctionm_rs_fun
 angular speed function of time
 
std::shared_ptr< ChLinkMotorLinearSpeedm_drop_motor
 actuator for controlled wheel drop
 
std::shared_ptr< ChLinkMotorLinearSpeedm_lin_motor
 carrier actuator
 
std::shared_ptr< ChShaftsMotorSpeedm_rot_motor
 wheel actuator
 

Constructor & Destructor Documentation

◆ ChWheelSuspensionTestRig()

chrono::vehicle::ChWheelSuspensionTestRig::ChWheelSuspensionTestRig ( ChSystem system,
std::shared_ptr< ChWheel wheel,
std::shared_ptr< ChTire tire,
std::shared_ptr< ChSuspension suspension 
)

Construct a test rig within the specified system using the given Chrono::Vehicle wheel, tire, and suspension subsystems.

Parameters
systemcontaining mechanical system
wheelwheel subsystem
tiretire subsystem
suspensionsuspension subsystem

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_vehicle/wheeled_vehicle/test_rig/ChWheelTestRig.h
  • /builds/uwsbel/chrono/src/chrono_vehicle/wheeled_vehicle/test_rig/ChWheelTestRig.cpp