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 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. More...
- 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.


fixed carrier linear velocity


fixed wheel angular velocity


unknown actuation type

Constructor & Destructor Documentation

◆ ChVehicleCosimDBPRigImposedSlip()

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

Member Function Documentation

◆ 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:
  • /builds/uwsbel/chrono/src/chrono_vehicle/cosim/ChVehicleCosimDBPRig.h
  • /builds/uwsbel/chrono/src/chrono_vehicle/cosim/ChVehicleCosimDBPRig.cpp