Description
Simple driveline model.
This template can be used to model a 4WD driveline. It uses a constant front/rear torque split (a value between 0 and 1) and a simple model for Torsen limited-slip differentials.
#include <ChSimpleDriveline.h>


| Public Member Functions | |
| ChSimpleDriveline (const std::string &name) | |
| virtual std::string | GetTemplateName () const override | 
| Get the name of the vehicle subsystem template. | |
| virtual int | GetNumDrivenAxles () const final override | 
| Return the number of driven axles. | |
| virtual void | Initialize (std::shared_ptr< ChChassis > chassis, const ChAxleList &axles, const std::vector< int > &driven_axles) override | 
| Initialize the driveline subsystem.  More... | |
| virtual void | Synchronize (double torque) override | 
| Update the driveline subsystem: apply the specified motor torque.  More... | |
| virtual double | GetSpindleTorque (int axle, VehicleSide side) const override | 
| Get the motor torque to be applied to the specified spindle. | |
| virtual void | Disconnect () override | 
| Disconnect driveline from driven wheels. | |
|  Public Member Functions inherited from chrono::vehicle::ChDrivelineWV | |
| ChDrivelineWV (const std::string &name) | |
| virtual void | LockAxleDifferential (int axle, bool lock) | 
| Lock/unlock the differential on the specified axle.  More... | |
| virtual void | LockCentralDifferential (int which, bool lock) | 
| Lock/unlock the specified central differential.  More... | |
| const std::vector< int > & | GetDrivenAxleIndexes () const | 
| Get the indexes of the vehicle's axles driven by this driveline subsystem. | |
|  Public Member Functions inherited from chrono::vehicle::ChDriveline | |
| ChDriveline (const std::string &name) | |
| std::shared_ptr< ChShaft > | GetDriveshaft () const | 
| Get a handle to the driveshaft.  More... | |
| double | GetDriveshaftSpeed () const | 
| Get the angular speed of the driveshaft.  More... | |
|  Public Member Functions inherited from chrono::vehicle::ChPart | |
| ChPart (const std::string &name) | |
| Construct a vehicle subsystem with the specified name.  More... | |
| const std::string & | GetName () const | 
| Get the name identifier for this subsystem. | |
| void | SetName (const std::string &name) | 
| Set the name identifier for this subsystem. | |
| void | SetVisualizationType (VisualizationType vis) | 
| Set the visualization mode for this subsystem. | |
| virtual void | AddVisualizationAssets (VisualizationType vis) | 
| Add visualization assets to this subsystem, for the specified visualization mode. | |
| virtual void | RemoveVisualizationAssets () | 
| Remove all visualization assets from this subsystem. | |
| virtual void | SetOutput (bool state) | 
| Enable/disable output for this subsystem. | |
| bool | OutputEnabled () const | 
| Return the output state for this subsystem. | |
| virtual void | ExportComponentList (rapidjson::Document &jsonDocument) const | 
| Export this subsystem's component list to the specified JSON object.  More... | |
| virtual void | Output (ChVehicleOutput &database) const | 
| Output data for this subsystem's component list to the specified database. | |
| Protected Member Functions | |
| virtual double | GetFrontTorqueFraction () const =0 | 
| Return the front torque fraction [0,1]. | |
| virtual double | GetFrontDifferentialMaxBias () const =0 | 
| Return the torque bias ratio for the front differential.  More... | |
| virtual double | GetRearDifferentialMaxBias () const =0 | 
| Return the torque bias ratio for the rear differential.  More... | |
|  Protected Member Functions inherited from chrono::vehicle::ChPart | |
| virtual void | Create (const rapidjson::Document &d) | 
| Create a vehicle subsystem from JSON data.  More... | |
| Additional Inherited Members | |
|  Static Public Member Functions inherited from chrono::vehicle::ChPart | |
| static ChMatrix33 | TransformInertiaMatrix (const ChVector<> &moments, const ChVector<> &products, const ChMatrix33<> &vehicle_rot, const ChMatrix33<> &body_rot) | 
| Utility function for transforming inertia tensors between centroidal frames.  More... | |
|  Static Protected Member Functions inherited from chrono::vehicle::ChPart | |
| static void | ExportBodyList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChBody >> bodies) | 
| Export the list of bodies to the specified JSON document. | |
| static void | ExportShaftList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChShaft >> shafts) | 
| Export the list of shafts to the specified JSON document. | |
| static void | ExportJointList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLink >> joints) | 
| Export the list of joints to the specified JSON document. | |
| static void | ExportCouplesList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChShaftsCouple >> couples) | 
| Export the list of shaft couples to the specified JSON document. | |
| static void | ExportMarkerList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChMarker >> markers) | 
| Export the list of markers to the specified JSON document. | |
| static void | ExportLinSpringList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLinkTSDA >> springs) | 
| Export the list of translational springs to the specified JSON document. | |
| static void | ExportRotSpringList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLinkRotSpringCB >> springs) | 
| Export the list of rotational springs to the specified JSON document. | |
| static void | ExportBodyLoadList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLoadBodyBody >> loads) | 
| Export the list of body-body loads to the specified JSON document. | |
|  Protected Attributes inherited from chrono::vehicle::ChDrivelineWV | |
| std::vector< int > | m_driven_axles | 
| indexes of the driven vehicle axles | |
|  Protected Attributes inherited from chrono::vehicle::ChDriveline | |
| std::shared_ptr< ChShaft > | m_driveshaft | 
| shaft connection to the powertrain | |
|  Protected Attributes inherited from chrono::vehicle::ChPart | |
| std::string | m_name | 
| subsystem name | |
| bool | m_output | 
| specifies whether or not output is generated for this subsystem | |
Member Function Documentation
◆ GetFrontDifferentialMaxBias()
| 
 | protectedpure virtual | 
Return the torque bias ratio for the front differential.
This is a simple model of a Torsen limited-slip differential.
Implemented in chrono::vehicle::hmmwv::HMMWV_SimpleDriveline, chrono::vehicle::man::MAN_5t_SimpleDriveline, chrono::vehicle::mrole::mrole_SimpleDriveline, chrono::vehicle::fmtv::FMTV_SimpleDriveline, and chrono::vehicle::SimpleDriveline.
◆ GetRearDifferentialMaxBias()
| 
 | protectedpure virtual | 
Return the torque bias ratio for the rear differential.
This is a simple model of a Torsen limited-slip differential.
Implemented in chrono::vehicle::hmmwv::HMMWV_SimpleDriveline, chrono::vehicle::man::MAN_5t_SimpleDriveline, chrono::vehicle::mrole::mrole_SimpleDriveline, chrono::vehicle::fmtv::FMTV_SimpleDriveline, and chrono::vehicle::SimpleDriveline.
◆ Initialize()
| 
 | overridevirtual | 
Initialize the driveline subsystem.
This function connects this driveline subsystem to the specified axle subsystems.
- Parameters
- 
  chassis associated chassis subsystem axles list of all vehicle axle subsystems driven_axles indexes of the driven vehicle axles 
Implements chrono::vehicle::ChDrivelineWV.
◆ Synchronize()
| 
 | overridevirtual | 
Update the driveline subsystem: apply the specified motor torque.
This represents the input to the driveline subsystem from the powertrain system.
Reimplemented from chrono::vehicle::ChDrivelineWV.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_vehicle/wheeled_vehicle/driveline/ChSimpleDriveline.h
- /builds/uwsbel/chrono/src/chrono_vehicle/wheeled_vehicle/driveline/ChSimpleDriveline.cpp
