Description

Ground vehicle modeling.

This module introduces template-based modeling tools for creating wheeled and tracked vehicles.

For additional information, see:

Collaboration diagram for VEHICLE module:

Modules

 Driver models
 
 Powertrain models
 
 Terrain models
 
 Tracked vehicles
 
 Utility classes
 
 Wheeled vehicles
 

Namespaces

 chrono::vehicle
 Namespace with classes for the VEHICLE module.
 
 chrono::vehicle::WheeledCollisionFamily
 Enumerations for wheeled vehicle collision families.
 
 chrono::vehicle::TrackedCollisionFlag
 Enumerations for track collision flags.
 
 chrono::vehicle::TrackedCollisionFamily
 Enumerations for tracked vehicle collision families.
 

Classes

class  chrono::vehicle::ChRigidChassis
 Template for a rigid-body chassis vehicle subsystem. More...
 
class  chrono::vehicle::RigidChassis
 Vehicle rigid chassis model constructed with data from file(JSON format). More...
 
class  chrono::vehicle::ChChassis
 Base class for the chassis vehicle subsystem. More...
 
class  chrono::vehicle::ChPart
 Base class for a vehicle subsystem. More...
 
class  chrono::vehicle::WheelID
 Class to encode the ID of a vehicle wheel. More...
 
struct  chrono::vehicle::BodyState
 Structure to communicate a full body state. More...
 
struct  chrono::vehicle::WheelState
 Structure to communicate a full wheel body state. More...
 
struct  chrono::vehicle::TireForce
 Structure to communicate a set of generalized tire forces. More...
 
struct  chrono::vehicle::TrackShoeForce
 Structure to communicate a set of generalized track shoe forces. More...
 
class  chrono::vehicle::LinearSpringForce
 Utility class for specifying a linear translational spring force. More...
 
class  chrono::vehicle::LinearDamperForce
 Utility class for specifying a linear translational damper force. More...
 
class  chrono::vehicle::LinearSpringDamperForce
 Utility class for specifying a linear translational spring-damper force. More...
 
class  chrono::vehicle::LinearSpringDamperActuatorForce
 Utility class for specifying a linear translational spring-damper force with pre-tension. More...
 
class  chrono::vehicle::MapSpringForce
 Utility class for specifying a map translational spring force. More...
 
class  chrono::vehicle::MapDamperForce
 Utility class for specifying a map translational damper force. More...
 
class  chrono::vehicle::MapSpringDamperActuatorForce
 Utility class for specifying a map translational spring-damper force with pre-tension. More...
 
class  chrono::vehicle::LinearSpringTorque
 Utility class for specifying a linear rotational spring torque. More...
 
class  chrono::vehicle::LinearDamperTorque
 Utility class for specifying a linear rotational damper torque. More...
 
class  chrono::vehicle::LinearSpringDamperTorque
 Utility class for specifying a linear rotational spring-damper torque. More...
 
class  chrono::vehicle::LinearSpringDamperActuatorTorque
 Utility class for specifying a linear rotational spring-damper torque with pre-tension. More...
 
class  chrono::vehicle::MapSpringTorque
 Utility class for specifying a map rotational spring torque. More...
 
class  chrono::vehicle::MapDamperTorque
 Utility class for specifying a map rotational damper torque. More...
 
class  chrono::vehicle::ChVehicle
 Base class for chrono vehicle systems. More...
 

Typedefs

typedef std::vector< BodyState > chrono::vehicle::BodyStates
 Vector of body state structures.
 
typedef std::vector< WheelState > chrono::vehicle::WheelStates
 Vector of wheel state structures.
 
typedef std::vector< TireForce > chrono::vehicle::TireForces
 Vector of tire force structures.
 
typedef std::vector
< TrackShoeForce > 
chrono::vehicle::TrackShoeForces
 Vector of tire force structures.
 

Enumerations

enum  chrono::vehicle::VehicleSide { chrono::vehicle::LEFT = 0, chrono::vehicle::RIGHT = 1 }
 Enum for the side (left/right) of a vehicle. More...
 
enum  chrono::vehicle::VisualizationType { chrono::vehicle::VisualizationType::NONE, chrono::vehicle::VisualizationType::PRIMITIVES, chrono::vehicle::VisualizationType::MESH }
 Enum for visualization types. More...
 
enum  chrono::vehicle::TireModelType {
  chrono::vehicle::TireModelType::RIGID, chrono::vehicle::TireModelType::RIGID_MESH, chrono::vehicle::TireModelType::PACEJKA, chrono::vehicle::TireModelType::LUGRE,
  chrono::vehicle::TireModelType::FIALA, chrono::vehicle::TireModelType::ANCF, chrono::vehicle::TireModelType::REISSNER, chrono::vehicle::TireModelType::FEA
}
 Enum for available tire models. More...
 
enum  chrono::vehicle::PowertrainModelType { chrono::vehicle::PowertrainModelType::SHAFTS, chrono::vehicle::PowertrainModelType::SIMPLE }
 Enum for available powertrain model templates. More...
 
enum  chrono::vehicle::SuspensionType {
  chrono::vehicle::SuspensionType::DOUBLE_WISHBONE, chrono::vehicle::SuspensionType::DOUBLE_WISHBONE_REDUCED, chrono::vehicle::SuspensionType::SOLID_AXLE, chrono::vehicle::SuspensionType::MULTI_LINK,
  chrono::vehicle::SuspensionType::HENDRICKSON_PRIMAXX, chrono::vehicle::SuspensionType::MACPHERSON_STRUT
}
 Enum for available wheeled-vehicle suspension model templates. More...
 
enum  chrono::vehicle::DrivelineType { chrono::vehicle::DrivelineType::FWD, chrono::vehicle::DrivelineType::RWD, chrono::vehicle::DrivelineType::AWD, SIMPLE }
 Enum for drive types. More...
 
enum  chrono::vehicle::TrackShoeType { chrono::vehicle::TrackShoeType::SINGLE_PIN, chrono::vehicle::TrackShoeType::DOUBLE_PIN }
 Enum for track shoe types. More...
 
enum  chrono::vehicle::GuidePinType { chrono::vehicle::GuidePinType::CENTRAL_PIN, chrono::vehicle::GuidePinType::LATERAL_PIN }
 Enum for guide pin (track shoe/roadwheel/idler). More...
 
enum  chrono::vehicle::OutputInformation { chrono::vehicle::OUT_SPRINGS = 1 << 0, chrono::vehicle::OUT_SHOCKS = 1 << 1, chrono::vehicle::OUT_CONSTRAINTS = 1 << 2, chrono::vehicle::OUT_TESTRIG = 1 << 3 }
 Flags for output (log/debug). More...
 

Functions

void chrono::vehicle::SetDataPath (const std::string &path)
 Set the path to the Chrono::Vehicle data directory (ATTENTION: not thread safe).
 
const std::string & chrono::vehicle::GetDataPath ()
 Get the current path to the Chrono::Vehicle data directory (thread safe).
 
std::string chrono::vehicle::GetDataFile (const std::string &filename)
 Get the complete path to the specified filename (thread safe). More...
 

Enumeration Type Documentation

Enum for drive types.

Enumerator
FWD 

front-wheel drive

RWD 

rear-wheel drive

AWD 

all-wheel drive

Enum for guide pin (track shoe/roadwheel/idler).

Enumerator
CENTRAL_PIN 

track shoes with central guiding pin and double wheels

LATERAL_PIN 

track shoes with lateral guiding pins and single wheels

Flags for output (log/debug).

These flags can be bit-wise ORed and used as a mask.

Enumerator
OUT_SPRINGS 

suspension spring information

OUT_SHOCKS 

suspension shock information

OUT_CONSTRAINTS 

constraint violation information

OUT_TESTRIG 

test-rig specific information

Enum for available powertrain model templates.

Enumerator
SHAFTS 

powertrain based on ChShaft elements

SIMPLE 

simple powertrain model (similar to a DC motor)

Enum for available wheeled-vehicle suspension model templates.

Enumerator
DOUBLE_WISHBONE 

double wishbone

DOUBLE_WISHBONE_REDUCED 

simplified double wishbone (constraint-based)

SOLID_AXLE 

solid axle

MULTI_LINK 

multi-link

HENDRICKSON_PRIMAXX 

Hendrickson PRIMAXX (walking beam)

MACPHERSON_STRUT 

MacPherson strut.

Enum for available tire models.

Enumerator
RIGID 

rigid tire (cylindrical)

RIGID_MESH 

rigid tire (mesh)

PACEJKA 

Pacejka (magic formula) tire.

LUGRE 

Lugre frition model tire.

FIALA 

Fiala tire.

ANCF 

ANCF shell element-based tire.

REISSNER 

Reissner 6-field shell element-based tire.

FEA 

FEA co-rotational tire.

Enum for track shoe types.

Enumerator
SINGLE_PIN 

single-pin track shoe and sprocket

DOUBLE_PIN 

double-pin track shoe and sprocket

Enum for the side (left/right) of a vehicle.

Enumerator
LEFT 

left side of vehicle is always 0

RIGHT 

right side of vehicle is always 1

Enum for visualization types.

Enumerator
NONE 

no visualization

PRIMITIVES 

use primitve shapes

MESH 

use meshes

Function Documentation

CH_VEHICLE_API std::string chrono::vehicle::GetDataFile ( const std::string &  filename)

Get the complete path to the specified filename (thread safe).

The filename is assumed to be given relative to the Chrono::Vehicle model data directory.