Description
Definition of a suspension test rig.
#include <ChTrackTestRig.h>
Public Member Functions | |
ChTrackTestRig () | |
Default constructor. | |
ChTrackTestRig (const std::string &filename, bool create_track=true, ChContactMethod contact_method=ChContactMethod::NSC, bool detracking_control=false) | |
Construct a test rig from specified track assembly JSON file. More... | |
ChTrackTestRig (std::shared_ptr< ChTrackAssembly > assembly, bool create_track=true, ChContactMethod contact_method=ChContactMethod::NSC, bool detracking_control=false) | |
Construct a test rig using the specified track assembly and subsystem locations. More... | |
~ChTrackTestRig () | |
Destructor. | |
void | SetDriver (std::shared_ptr< ChDriverTTR > driver) |
Set driver system. | |
void | SetInitialRideHeight (double height) |
Set the initial ride height (relative to the sprocket reference frame). More... | |
void | SetDisplacementLimit (double limit) |
Set the limits for post displacement (same for jounce and rebound). More... | |
void | SetDisplacementDelay (double delay) |
Set time delay before applying post displacement. More... | |
void | SetMaxTorque (double val) |
Set maximum sprocket torque. | |
void | SetSprocketVisualizationType (VisualizationType vis) |
Set visualization type for the sprocket subsystem (default: PRIMITIVES). | |
void | SetIdlerVisualizationType (VisualizationType vis) |
Set visualization type for the idler subsystem (default: PRIMITIVES). | |
void | SetRoadWheelAssemblyVisualizationType (VisualizationType vis) |
Set visualization type for the road-wheel assembly subsystem (default: PRIMITIVES). | |
void | SetRoadWheelVisualizationType (VisualizationType vis) |
Set visualization type for the road-wheel subsystem (default: PRIMITIVES). | |
void | SetTrackShoeVisualizationType (VisualizationType vis) |
Set visualization type for the track shoe subsystems (default: PRIMITIVES). | |
void | SetDriverLogFilename (const std::string &filename) |
Set filename for optional driver log. | |
void | SetTrackAssemblyOutput (bool state) |
Enable/disable output for the track assembly. More... | |
void | Initialize () |
Initialize this track test rig. | |
virtual void | Advance (double step) override |
Advance the state of the track test rig by the specified time step. | |
void | SetCollide (int flags) |
Set collision flags for the various subsystems. More... | |
double | GetThrottleInput () const |
double | GetDisplacementInput (int index) |
std::string | GetDriverMessage () const |
double | GetActuatorDisp (int index) |
double | GetActuatorForce (int index) |
double | GetActuatorMarkerDist (int index) |
double | GetMass () const |
Get the rig total mass. More... | |
std::shared_ptr< ChTrackAssembly > | GetTrackAssembly () const |
Get the track assembly subsystem. | |
double | GetRideHeight () const |
Get current ride height (relative to the chassis reference frame). More... | |
void | LogDriverInputs () |
Log current driver inputs. | |
virtual void | LogConstraintViolations () override |
Log current constraint violations. | |
void | SetPlotOutput (double output_step) |
Enable/disable data collection for plot generation (default: false). More... | |
virtual void | PlotOutput (const std::string &out_dir, const std::string &out_name) |
Plot collected data. More... | |
Public Member Functions inherited from chrono::vehicle::ChVehicle | |
virtual | ~ChVehicle () |
Destructor. | |
const std::string & | GetName () const |
Get the name identifier for this vehicle. | |
void | SetName (const std::string &name) |
Set the name identifier for this vehicle. | |
ChSystem * | GetSystem () |
Get a pointer to the Chrono ChSystem. | |
double | GetChTime () const |
Get the current simulation time of the underlying ChSystem. | |
std::shared_ptr< ChChassis > | GetChassis () const |
Get a handle to the vehicle's main chassis subsystem. | |
std::shared_ptr< ChChassisRear > | GetChassisRear (int id) const |
Get the specified specified rear chassis subsystem. | |
std::shared_ptr< ChChassisConnector > | GetChassisConnector (int id) const |
Get a handle to the specified chassis connector. | |
std::shared_ptr< ChBodyAuxRef > | GetChassisBody () const |
Get a handle to the vehicle's chassis body. | |
std::shared_ptr< ChBodyAuxRef > | GetChassisRearBody (int id) const |
Get a handle to the specified rear chassis body. | |
virtual std::shared_ptr< ChPowertrain > | GetPowertrain () const |
Get the powertrain attached to this vehicle. | |
const ChVector & | GetVehiclePos () const |
Get the vehicle location. More... | |
ChQuaternion | GetVehicleRot () const |
Get the vehicle orientation. More... | |
double | GetVehicleSpeed () const |
Get the vehicle speed. More... | |
double | GetVehicleSpeedCOM () const |
Get the speed of the chassis COM. More... | |
ChVector | GetVehiclePointLocation (const ChVector<> &locpos) const |
Get the global position of the specified point. More... | |
ChVector | GetVehiclePointVelocity (const ChVector<> &locpos) const |
Get the global velocity of the specified point. More... | |
ChVector | GetVehiclePointAcceleration (const ChVector<> &locpos) const |
Get the acceleration at the specified point. More... | |
ChVector | GetDriverPos () const |
Get the global location of the driver. | |
void | SetOutput (ChVehicleOutput::Type type, const std::string &out_dir, const std::string &out_name, double output_step) |
Enable output for this vehicle system. More... | |
void | SetChassisVisualizationType (VisualizationType vis) |
Set visualization mode for the chassis subsystem. | |
void | SetChassisRearVisualizationType (VisualizationType vis) |
Set visualization mode for the rear chassis subsystems. | |
void | SetChassisCollide (bool state) |
Enable/disable collision for the chassis subsystem. More... | |
virtual void | SetChassisVehicleCollide (bool state) |
Enable/disable collision between the chassis and all other vehicle subsystems. More... | |
void | SetChassisOutput (bool state) |
Enable/disable output from the chassis subsystem. | |
Additional Inherited Members | |
Protected Member Functions inherited from chrono::vehicle::ChVehicle | |
ChVehicle (const std::string &name, ChContactMethod contact_method=ChContactMethod::NSC) | |
Construct a vehicle system with an underlying ChSystem. More... | |
ChVehicle (const std::string &name, ChSystem *system) | |
Construct a vehicle system using the specified ChSystem. More... | |
Static Protected Member Functions inherited from chrono::vehicle::ChVehicle | |
template<typename T > | |
static bool | AnyOutput (const std::vector< std::shared_ptr< T >> &list) |
Utility function for testing if any subsystem in a list generates output. | |
Protected Attributes inherited from chrono::vehicle::ChVehicle | |
std::string | m_name |
vehicle name | |
ChSystem * | m_system |
pointer to the Chrono system | |
bool | m_ownsSystem |
true if system created at construction | |
bool | m_output |
generate ouput for this vehicle system | |
ChVehicleOutput * | m_output_db |
vehicle output database | |
double | m_output_step |
output time step | |
double | m_next_output_time |
time for next output | |
int | m_output_frame |
current output frame | |
std::shared_ptr< ChChassis > | m_chassis |
handle to the main chassis subsystem | |
ChChassisRearList | m_chassis_rear |
list of rear chassis subsystems (can be empty) | |
ChChassisConnectorList | m_chassis_connectors |
list of chassis connector (must match m_chassis_rear) | |
Constructor & Destructor Documentation
◆ ChTrackTestRig() [1/2]
chrono::vehicle::ChTrackTestRig::ChTrackTestRig | ( | const std::string & | filename, |
bool | create_track = true , |
||
ChContactMethod | contact_method = ChContactMethod::NSC , |
||
bool | detracking_control = false |
||
) |
Construct a test rig from specified track assembly JSON file.
- Parameters
-
[in] filename JSON file with rig specification [in] create_track include track shoes? [in] contact_method contact method [in] detracking_control detracking control
◆ ChTrackTestRig() [2/2]
chrono::vehicle::ChTrackTestRig::ChTrackTestRig | ( | std::shared_ptr< ChTrackAssembly > | assembly, |
bool | create_track = true , |
||
ChContactMethod | contact_method = ChContactMethod::NSC , |
||
bool | detracking_control = false |
||
) |
Construct a test rig using the specified track assembly and subsystem locations.
- Parameters
-
[in] assembly handle to the track assembly [in] create_track include track shoes? [in] contact_method contact method [in] detracking_control detracking control
Member Function Documentation
◆ GetMass()
double chrono::vehicle::ChTrackTestRig::GetMass | ( | ) | const |
Get the rig total mass.
This is simply the mass of the track subsystem.
◆ GetRideHeight()
double chrono::vehicle::ChTrackTestRig::GetRideHeight | ( | ) | const |
Get current ride height (relative to the chassis reference frame).
This estimate uses the average of the left and right posts.
◆ PlotOutput()
|
virtual |
Plot collected data.
When called (typically at the end of the simulation loop), the collected data is saved in ASCII format in a file with the specified name (and 'txt' extension) in the specified output directory. If the Chrono::Postprocess module is available (with gnuplot support), selected plots are generated.
Collected data includes:
- [col 1] time (s)
- [col 2-4] sprocket location (m)
- [col 5-7] idler location (m)
- [col 8-10] road wheel 1 location (m)
- [col 11-13] road wheel 2 location (m)
- ... ...
◆ SetCollide()
|
inline |
Set collision flags for the various subsystems.
By default, collision is enabled for sprocket, idler, road wheels, and track shoes.
◆ SetDisplacementDelay()
|
inline |
Set time delay before applying post displacement.
Default value: 0
◆ SetDisplacementLimit()
|
inline |
Set the limits for post displacement (same for jounce and rebound).
Default value: 0
◆ SetInitialRideHeight()
|
inline |
Set the initial ride height (relative to the sprocket reference frame).
If not specified, the reference height is the track assembly design configuration.
◆ SetPlotOutput()
void chrono::vehicle::ChTrackTestRig::SetPlotOutput | ( | double | output_step | ) |
Enable/disable data collection for plot generation (default: false).
See PlotOutput details on data collected.
◆ SetTrackAssemblyOutput()
void chrono::vehicle::ChTrackTestRig::SetTrackAssemblyOutput | ( | bool | state | ) |
Enable/disable output for the track assembly.
See also ChVehicle::SetOuput.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_vehicle/tracked_vehicle/test_rig/ChTrackTestRig.h
- /builds/uwsbel/chrono/src/chrono_vehicle/tracked_vehicle/test_rig/ChTrackTestRig.cpp