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  ActuationType { ActuationType::SET_LIN_VEL, ActuationType::SET_ANG_VEL, ActuationType::UNKNOWN }
 Type of drawbar pull actuation type. More...
 
- Public Types inherited from chrono::vehicle::ChVehicleCosimDBPRig
enum  Type { Type::IMPOSED_SLIP, Type::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 GetAngVel () const override
 Return current wheel angular speed.
 
virtual double GetDBP () const override
 Return current raw drawbar-pull value.
 
- Public Member Functions inherited from chrono::vehicle::ChVehicleCosimDBPRig
void SetVerbose (bool verbose)
 Set verbose flag.
 
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).
 
void SetRampingIntervals (double delay, double ramp_time)
 Set the delay and ramping time intervals for reaching the prescribed angular velocity. More...
 
double GetTimeDelay ()
 Get total time delay. More...
 
std::shared_ptr< ChFunctionGetMotorFunction () const
 Return the function specifying spindle angular speed.
 
double GetLocation () const
 Return current rig location.
 
double GetLinVel () const
 Return current rig linear speed.
 
double GetSlip () const
 Return current value of longitudinal slip.
 
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_time_delay
 initial interval with zero motor velocities
 
double m_time_ramp
 time interval to ramp up motor velocities to prescribed value
 
double m_wheel_radius
 wheel radius
 
std::shared_ptr< ChBodym_ground
 ground body
 
std::shared_ptr< ChBodym_carrier
 rig carrier body
 
std::shared_ptr< ChFunctionm_rot_motor_func
 imposed spindle angular speed
 

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

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