Suspension subsystem

Description

Base class for a steerable leaf-spring solid axle suspension. Derived from ChSuspension, but still an abstract base class.

This implementation follows the SAE Spring Design Handbook, which shows the use of a kinematic leafspring model made of three links. The three 'links' are front leaf / clamp / rear leaf / shackle. The clamp is considered as rigid and part of the axle tube in the SAE book. In this chrono model we had to split the clamp into two separate bodies clampA and clampB. Both are connected via a rotational joint around Z. This was necessary because we need to mimic the lateral compliance of the leafspring. The leaves (front and rear) are connected to clampA rsp. clampB via rotational joints around Y. The frontleaf also connects to the chassis with a spherical joint, while the rearleaf connects to the shackle body with a sperical joint. The shackle body connects to the chassis via a rotational joint around Y.

The vertical stiffnesses are simulated by the rotational springs of the frontleaf and the rearleaf while the lateral stiffnesses are simulated by the rotational joints of the clamp bodies.

For the stiffness parameters the user can take the desired translatoric vertical stiffness devided by two (we have two leaves). The preload can be set as a vertical force devided by two. The conversion to the rotary setup is made automatically.

The SAE model allows to consider the correct axle movement due to wheel travel. It is possible to consider the tie-up mode due to longitudinal forces (breaking). It also possible to use different stiffnesses for the front leaf and the rear leaf, many practical designs use this to avoid tie-up problems.

The suspension subsystem is modeled with respect to a right-handed frame, with X pointing towards the front, Y to the left, and Z up (ISO standard). The suspension reference frame is assumed to be always aligned with that of the vehicle. When attached to a chassis, only an offset is provided. The suspension subsystem is modeled with respect to a right-handed frame, with X pointing towards the front, Y to the left, and Z up (ISO standard). The suspension reference frame is assumed to be always aligned with that of the vehicle. When attached to a chassis, only an offset is provided.

All point locations are assumed to be given for the left half of the suspension and will be mirrored (reflecting the y coordinates) to construct the right side.

Collaboration diagram for Suspension subsystem:

Classes

class  chrono::vehicle::ChAxle
 Base class for a suspension subsystem. More...
 
class  chrono::vehicle::ChSuspension
 Base class for a suspension subsystem. More...
 
class  chrono::vehicle::ChDeDionAxle
 Base class for a DeDion solid axle suspension. More...
 
class  chrono::vehicle::ChDoubleWishbone
 Base class for a double-A arm suspension modeled with bodies and constraints. More...
 
class  chrono::vehicle::ChDoubleWishboneReduced
 Base class for a double-A arm suspension modeled with distance constraints. More...
 
class  chrono::vehicle::ChGenericWheeledSuspension
 Base class for a generic wheeled vehicle suspension. More...
 
class  chrono::vehicle::ChHendricksonPRIMAXX
 Base class for a Hendrickson PRIMAXX EX suspension. More...
 
class  chrono::vehicle::ChLeafspringAxle
 Base class for a leaf-spring solid axle suspension. More...
 
class  chrono::vehicle::ChMacPhersonStrut
 Base class for a MacPherson strut modeled with bodies and constraints. More...
 
class  chrono::vehicle::ChMultiLink
 Base class for a multi-link suspension modeled with bodies and constraints. More...
 
class  chrono::vehicle::ChPushPipeAxle
 Base class for a DeDion solid axle suspension. More...
 
class  chrono::vehicle::ChRigidPanhardAxle
 Base class for a solid Panhard axle suspension. More...
 
class  chrono::vehicle::ChRigidPinnedAxle
 Base class for a rigid suspension with a pinned axle. More...
 
class  chrono::vehicle::ChRigidSuspension
 Base class for a rigid suspension, i.e. More...
 
class  chrono::vehicle::ChSAELeafspringAxle
 Base class for a leaf-spring solid axle suspension. More...
 
class  chrono::vehicle::ChSemiTrailingArm
 Base class for a semi-trailing arm suspension (non-steerable). More...
 
class  chrono::vehicle::ChSingleWishbone
 Base class for a double-A arm suspension modeled with bodies and constraints. More...
 
class  chrono::vehicle::ChSolidAxle
 Base class for a solid axle suspension modeled with bodies and constraints. More...
 
class  chrono::vehicle::ChSolidBellcrankThreeLinkAxle
 Base class for a coil-spring or air-spring solid axle suspension, typically combined with the rotary arm steering. More...
 
class  chrono::vehicle::ChSolidThreeLinkAxle
 Base class for a coil-spring or air-spring solid axle suspension. More...
 
class  chrono::vehicle::ChThreeLinkIRS
 Base class for a 3-link independent rear suspension (non-steerable). More...
 
class  chrono::vehicle::ChToeBarDeDionAxle
 Base class for a steerable leaf-spring solid axle suspension. More...
 
class  chrono::vehicle::ChToeBarLeafspringAxle
 Base class for a steerable leaf-spring solid axle suspension. More...
 
class  chrono::vehicle::ChToeBarPushPipeAxle
 Base class for a steerable leaf-spring solid axle suspension. More...
 
class  chrono::vehicle::ChToeBarRigidPanhardAxle
 Base class for a steerable solid Panhard axle suspension. More...
 
class  chrono::vehicle::DeDionAxle
 Leaf-spring solid axle suspension constructed with data from file. More...
 
class  chrono::vehicle::DoubleWishbone
 Double-A arm suspension constructed with data from file. More...
 
class  chrono::vehicle::DoubleWishboneReduced
 Reduced double-A arm suspension constructed with data from file. More...
 
class  chrono::vehicle::GenericWheeledSuspension
 Generic wheeled vehicle suspension constructed with data from file. More...
 
class  chrono::vehicle::HendricksonPRIMAXX
 Hendrickson PRIMAXX suspension constructed with data from file. More...
 
class  chrono::vehicle::LeafspringAxle
 Leaf-spring solid axle suspension constructed with data from file. More...
 
class  chrono::vehicle::MacPhersonStrut
 MacPherson strut suspension constructed with data from file. More...
 
class  chrono::vehicle::MultiLink
 Multi-link suspension constructed with data from file. More...
 
class  chrono::vehicle::PushPipeAxle
 Leaf-spring solid axle suspension constructed with data from file. More...
 
class  chrono::vehicle::RigidPanhardAxle
 Solid Panhard axle suspension constructed with data from file. More...
 
class  chrono::vehicle::RigidPinnedAxle
 Rigid suspension with pinned axle constructed with data from file. More...
 
class  chrono::vehicle::RigidSuspension
 Rigid suspension constructed with data from file. More...
 
class  chrono::vehicle::SAELeafspringAxle
 Leaf-spring solid axle suspension constructed with data from file. More...
 
class  chrono::vehicle::SAEToeBarLeafspringAxle
 Steerable leaf-spring solid axle suspension constructed with data from file. More...
 
class  chrono::vehicle::SemiTrailingArm
 Semi-trailing arm suspension constructed with data from file. More...
 
class  chrono::vehicle::SingleWishbone
 Single A-arm suspension constructed with data from file. More...
 
class  chrono::vehicle::SolidAxle
 Solid axle suspension constructed with data from file. More...
 
class  chrono::vehicle::SolidBellcrankThreeLinkAxle
 solid axle suspension constructed with data from file. More...
 
class  chrono::vehicle::SolidThreeLinkAxle
 Leaf-spring solid axle suspension constructed with data from file. More...
 
class  chrono::vehicle::ThreeLinkIRS
 Three-link Independent Rear Suspension constructed with data from file. More...
 
class  chrono::vehicle::ToeBarDeDionAxle
 Steerable leaf-spring solid axle suspension constructed with data from file. More...
 
class  chrono::vehicle::ToeBarLeafspringAxle
 Steerable leaf-spring solid axle suspension constructed with data from file. More...
 
class  chrono::vehicle::ToeBarPushPipeAxle
 Steerable leaf-spring solid axle suspension constructed with data from file. More...
 
class  chrono::vehicle::ToeBarRigidPanhardAxle
 Steerable leaf-spring solid axle suspension constructed with data from file. More...
 

Typedefs

typedef std::vector< std::shared_ptr< ChAxle > > chrono::vehicle::ChAxleList
 Vector of handles to axle subsystems.
 
typedef std::vector< std::shared_ptr< ChSuspension > > chrono::vehicle::ChSuspensionList
 Vector of handles to suspension subsystems.