chrono::vehicle::marder::Marder_Vehicle Class Reference
Description
Definition of an Marder tracked vehicle with segmented tracks.
Both single-pin and double-pin track assemblies can be used with this vehicle model.
#include <Marder_Vehicle.h>
Inheritance diagram for chrono::vehicle::marder::Marder_Vehicle:
Collaboration diagram for chrono::vehicle::marder::Marder_Vehicle:
Public Member Functions | |
Marder_Vehicle (bool fixed, TrackShoeType shoe_type, DrivelineTypeTV driveline_type, BrakeType brake_type, ChContactMethod contact_method=ChContactMethod::NSC, CollisionType chassis_collision_type=CollisionType::NONE) | |
Construct the M113 vehicle within an automatically created Chrono system. | |
Marder_Vehicle (bool fixed, TrackShoeType shoe_type, DrivelineTypeTV driveline_type, BrakeType brake_type, ChSystem *system, CollisionType chassis_collision_type=CollisionType::NONE) | |
Construct the M113 vehicle within the specified Chrono system. | |
void | CreateTrack (bool val) |
Create the track shoes (default: true). | |
virtual void | Initialize (const ChCoordsys<> &chassisPos, double chassisFwdVel=0) override |
Initialize the M113 vehicle at the specified location and orientation. | |
Public Member Functions inherited from chrono::vehicle::ChTrackedVehicle | |
ChTrackedVehicle (const std::string &name, ChContactMethod contact_method=ChContactMethod::NSC) | |
Construct a vehicle system with a default ChSystem. More... | |
ChTrackedVehicle (const std::string &name, ChSystem *system) | |
Construct a vehicle system using the specified ChSystem. More... | |
virtual | ~ChTrackedVehicle () |
Destructor. | |
virtual std::string | GetTemplateName () const override |
Get the name of the vehicle system template. | |
virtual double | GetVehicleMass () const override |
Get the vehicle total mass. More... | |
virtual ChVector | GetVehicleCOMPos () const override |
Get the current global vehicle COM location. More... | |
virtual std::shared_ptr< ChPowertrain > | GetPowertrain () const override |
Get the powertrain attached to this vehicle. | |
std::shared_ptr< ChTrackAssembly > | GetTrackAssembly (VehicleSide side) const |
Get the specified suspension subsystem. | |
std::shared_ptr< ChDrivelineTV > | GetDriveline () const |
Get a handle to the vehicle's driveline subsystem. | |
virtual std::shared_ptr< ChShaft > | GetDriveshaft () const override |
Get a handle to the vehicle's driveshaft body. | |
virtual double | GetDriveshaftSpeed () const override |
Get the angular speed of the driveshaft. More... | |
size_t | GetNumRoadWheelAssemblies (VehicleSide side) const |
Get the number of suspensions in the specified track assembly. | |
size_t | GetNumTrackShoes (VehicleSide side) const |
Get the number of shoes in the specified track assembly. | |
std::shared_ptr< ChTrackShoe > | GetTrackShoe (VehicleSide side, size_t id) const |
Get a handle to the specified track shoe. | |
BodyState | GetTrackShoeState (VehicleSide side, size_t shoe_id) const |
Get the complete state for the specified track shoe. More... | |
void | GetTrackShoeStates (VehicleSide side, BodyStates &states) const |
Get the complete states for all track shoes of the specified track assembly. More... | |
void | SetSprocketVisualizationType (VisualizationType vis) |
Set visualization type for the sprocket subsystem. | |
void | SetIdlerVisualizationType (VisualizationType vis) |
Set visualization type for the idler subsystem. | |
void | SetRoadWheelAssemblyVisualizationType (VisualizationType vis) |
Set visualization type for the suspension subsystems. | |
void | SetRoadWheelVisualizationType (VisualizationType vis) |
Set visualization type for the road-wheel subsystems. | |
void | SetRollerVisualizationType (VisualizationType vis) |
Set visualization type for the roller subsystems. | |
void | SetTrackShoeVisualizationType (VisualizationType vis) |
Set visualization type for the track shoe subsystems. | |
void | SetSprocketCollide (bool state) |
Enable/disable collision for the sprocket subsystem. | |
void | SetIdlerCollide (bool state) |
Enable/disable collision for the idler subsystem. | |
void | SetRoadWheelCollide (bool state) |
Enable/disable collision for the road-wheel subsystems. | |
void | SetRollerCollide (bool state) |
Enable/disable collision for the roller subsystems. | |
void | SetTrackShoeCollide (bool state) |
Enable/disable collision for the track shoe subsystems. | |
void | SetCollide (int flags) |
Set collision flags for the various subsystems. More... | |
virtual void | SetChassisVehicleCollide (bool state) override |
Enable/disable collision between the chassis and all other vehicle subsystems. More... | |
void | EnableCustomContact (std::shared_ptr< ChTrackCustomContact > callback, bool idler_shoe=true, bool wheel_shoe=true) |
Enable user-defined contact forces between idlers and track shoes and between road wheels and track shoes. More... | |
void | MonitorContacts (int flags) |
Set contacts to be monitored. More... | |
void | SetContactCollection (bool val) |
Turn on/off contact data collection. More... | |
bool | IsPartInContact (TrackedCollisionFlag::Enum part) const |
Return true if the specified vehicle part is currently experiencing a collision. | |
ChVector | GetSprocketResistiveTorque (VehicleSide side) const |
Return estimated resistive torque on the specified sprocket. More... | |
void | WriteContacts (const std::string &filename) |
Write contact information to file. More... | |
void | SetTrackAssemblyOutput (VehicleSide side, bool state) |
Enable/disable output for the track assemblies. More... | |
void | InitializePowertrain (std::shared_ptr< ChPowertrain > powertrain) |
Initialize the given powertrain system and associate it to this vehicle. More... | |
void | Synchronize (double time, const ChDriver::Inputs &driver_inputs, const TerrainForces &shoe_forces_left, const TerrainForces &shoe_forces_right) |
Update the state of this vehicle at the current time. More... | |
virtual void | Advance (double step) override final |
Advance the state of this vehicle by the specified time step. More... | |
virtual void | LogConstraintViolations () override |
Log current constraint violations. | |
virtual std::string | ExportComponentList () const override |
Return a JSON string with information on all modeling components in the vehicle system. More... | |
virtual void | ExportComponentList (const std::string &filename) const override |
Write a JSON-format file with information on all modeling components in the vehicle system. 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. | |
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... | |
void | SetChassisOutput (bool state) |
Enable/disable output from the chassis subsystem. | |
Additional Inherited Members | |
Protected Member Functions inherited from chrono::vehicle::ChTrackedVehicle | |
virtual void | Output (int frame, ChVehicleOutput &database) const override |
Output data for all modeling components in the vehicle system. | |
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::ChTrackedVehicle | |
std::shared_ptr< ChTrackAssembly > | m_tracks [2] |
track assemblies (left/right) | |
std::shared_ptr< ChDrivelineTV > | m_driveline |
driveline subsystem | |
std::shared_ptr< ChPowertrain > | m_powertrain |
associated powertrain system | |
std::shared_ptr< ChTrackCollisionManager > | m_collision_manager |
manager for internal collisions | |
std::shared_ptr< ChTrackContactManager > | m_contact_manager |
manager for internal contacts | |
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) | |
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_models/vehicle/marder/Marder_Vehicle.h
- /builds/uwsbel/chrono/src/chrono_models/vehicle/marder/Marder_Vehicle.cpp