Description

Drawbar-pull rig mechanism with imposed slip.

This mechanism allows imposing known (fixed) vehicle forward linear velocity and wheel angular velocity to maintain a prescribed value of the longitudinal slip. The actuation specifies if the linear velocity or angular velocity is considered as "base velocity", with the other one derived from the slip value. The DBP force is extracted as the reaction force required to enforce the vehicle forward linear velocity (at steady state). Each run of this experiment produces one point on the slip-DBP curve.

#include <ChVehicleCosimDBPRig.h>

Inheritance diagram for chrono::vehicle::ChVehicleCosimDBPRigImposedSlip:
Collaboration diagram for chrono::vehicle::ChVehicleCosimDBPRigImposedSlip:

Public Types

enum class  ActuationType { SET_LIN_VEL , SET_ANG_VEL , UNKNOWN }
 Type of drawbar pull actuation type. More...
 
- Public Types inherited from chrono::vehicle::ChVehicleCosimDBPRig
enum class  Type { IMPOSED_SLIP , IMPOSED_ANG_VEL }
 Type of DBP rig. More...
 

Public Member Functions

 ChVehicleCosimDBPRigImposedSlip (ActuationType act_type, double base_vel, double slip)
 
virtual Type GetType () const override
 Get rig type.
 
ActuationType GetActuationType () const
 Return the actuation type.
 
virtual double GetSlip () const override
 Return the current slip value.
 
virtual double GetLinVel () const override
 Return current rig linear speed.
 
virtual double GetAngVel () const override
 Return current wheel angular speed.
 
virtual double GetDBP () const override
 Return current raw drawbar-pull value.
 
void SetRampingIntervals (double delay, double ramp_time)
 Set the delay and ramping time intervals for reaching the prescribed linear and angular velocities.
 
- Public Member Functions inherited from chrono::vehicle::ChVehicleCosimDBPRig
void SetDBPFilterWindow (double window)
 Set window (in seconds) for the running average filter for drawbar pull reporting (default: 0.1 s).
 
void SetSlipFilterWindow (double window)
 Set window (in seconds) for the running average filter for slip reporting (default: 0.1 s).
 
double GetFilteredDBP () const
 Return current filtered drawbar-pull value.
 
double GetFilteredSlip () const
 Return current filtered slip value.
 

Static Public Member Functions

static std::string GetActuationTypeAsString (ActuationType type)
 Return a string describing the actuation type.
 
static ActuationType GetActuationTypeFromString (const std::string &type)
 Infer the actuation type from the given string.
 

Additional Inherited Members

- Protected Attributes inherited from chrono::vehicle::ChVehicleCosimDBPRig
bool m_verbose
 verbose messages during simulation?
 
double m_delay_time
 initialization (ramping up) time
 

Member Enumeration Documentation

◆ ActuationType

Type of drawbar pull actuation type.

Enumerator
SET_LIN_VEL 

fixed carrier linear velocity

SET_ANG_VEL 

fixed wheel angular velocity

UNKNOWN 

unknown actuation type

Constructor & Destructor Documentation

◆ ChVehicleCosimDBPRigImposedSlip()

chrono::vehicle::ChVehicleCosimDBPRigImposedSlip::ChVehicleCosimDBPRigImposedSlip ( ActuationType act_type,
double base_vel,
double slip )
Parameters
act_typeactuation type
base_velconstant linear or angular velocity
slipdesired longitudinal slip

Member Function Documentation

◆ GetAngVel()

virtual double chrono::vehicle::ChVehicleCosimDBPRigImposedSlip::GetAngVel ( ) const
inlineoverridevirtual

Return current wheel angular speed.

Implements chrono::vehicle::ChVehicleCosimDBPRig.

◆ GetDBP()

double chrono::vehicle::ChVehicleCosimDBPRigImposedSlip::GetDBP ( ) const
overridevirtual

Return current raw drawbar-pull value.

Implements chrono::vehicle::ChVehicleCosimDBPRig.

◆ GetLinVel()

virtual double chrono::vehicle::ChVehicleCosimDBPRigImposedSlip::GetLinVel ( ) const
inlineoverridevirtual

Return current rig linear speed.

Implements chrono::vehicle::ChVehicleCosimDBPRig.

◆ GetSlip()

virtual double chrono::vehicle::ChVehicleCosimDBPRigImposedSlip::GetSlip ( ) const
inlineoverridevirtual

Return the current slip value.

Implements chrono::vehicle::ChVehicleCosimDBPRig.

◆ GetType()

virtual Type chrono::vehicle::ChVehicleCosimDBPRigImposedSlip::GetType ( ) const
inlineoverridevirtual

Get rig type.

Implements chrono::vehicle::ChVehicleCosimDBPRig.

◆ SetRampingIntervals()

void chrono::vehicle::ChVehicleCosimDBPRigImposedSlip::SetRampingIntervals ( double delay,
double ramp_time )

Set the delay and ramping time intervals for reaching the prescribed linear and angular velocities.

By default, the velocities are kept zero for 0.2 s and then increased to their final values in 0.5 s.


The documentation for this class was generated from the following files:
  • C:/M/B/src/chrono-9.0.1/src/chrono_vehicle/cosim/ChVehicleCosimDBPRig.h
  • C:/M/B/src/chrono-9.0.1/src/chrono_vehicle/cosim/ChVehicleCosimDBPRig.cpp