Project Chrono: chrono::vehicle::artcar::ARTcar_PitmanArm Class Reference

Public Member Functions | List of all members
chrono::vehicle::artcar::ARTcar_PitmanArm Class Reference
Models » Vehicle models » ARTcar vehicle

## Description

Pitman-arm steering subsystem for the ARTcar vehicle.

`#include <ARTcar_PitmanArm.h>`

Inheritance diagram for chrono::vehicle::artcar::ARTcar_PitmanArm:
[legend]
Collaboration diagram for chrono::vehicle::artcar::ARTcar_PitmanArm:
[legend]

## Public Member Functions
| ARTcar_PitmanArm (const std::string &name)
virtual double | getSteeringLinkMass () const override
| Return the mass of the steering link body.
virtual double | getPitmanArmMass () const override
| Return the mass of the Pitman arm body.
virtual double | getSteeringLinkRadius () const override
| Return the radius of the steering link body (visualization only).
virtual double | getPitmanArmRadius () const override
| Return the radius of the Pitman arm body (visualization only).
virtual const ChVector3d & | getSteeringLinkInertiaMoments () const override
| Return the moments of inertia of the steering link body.
virtual const ChVector3d & | getSteeringLinkInertiaProducts () const override
| Return the products of inertia of the steering link body.
virtual const ChVector3d & | getPitmanArmInertiaMoments () const override
| Return the moments of inertia of the Pitman arm body.
virtual const ChVector3d & | getPitmanArmInertiaProducts () const override
| Return the products of inertia of the Pitman arm body.
virtual double | getMaxAngle () const override
| Return the maximum rotation angle of the revolute joint.
virtual const ChVector3d | getLocation (PointId which) override
| Return the location of the specified hardpoint.
virtual const ChVector3d | getDirection (DirectionId which) override
| Return the unit vector for the specified direction.
Public Member Functions inherited from chrono::vehicle::ChPitmanArm
virtual std::string | GetTemplateName () const override
| Get the name of the vehicle subsystem template.
virtual void | Initialize (std::shared_ptr< ChChassis > chassis, const ChVector3d &location, const ChQuaternion<> &rotation) override
| Initialize this steering subsystem.
virtual void | AddVisualizationAssets (VisualizationType vis) override
| Add visualization assets for the steering subsystem.
virtual void | RemoveVisualizationAssets () override
| Remove visualization assets for the steering subsystem.
virtual void | Synchronize (double time, const DriverInputs &driver_inputs) override
| Update the state of this steering subsystem at the current time.
virtual void | LogConstraintViolations () override
| Log current constraint violations.
Public Member Functions inherited from chrono::vehicle::ChSteering
const ChFrame & | GetRelTransform () const
| Get the frame of the steering subsystem relative to the associated chassis reference frame.
std::shared_ptr< ChBody > | GetSteeringLink () const
| Get a handle to the main link of the steering subsystems.
Public Member Functions inherited from chrono::vehicle::ChPart
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.
bool | IsInitialized () const
| Return flag indicating whether or not the part is fully constructed.
double | GetMass () const
| Get the subsystem mass.
const ChFrame & | GetCOMFrame () const
| Get the current subsystem COM frame (relative to and expressed in the subsystem's reference frame).
const ChMatrix33 & | GetInertia () const
| Get the current subsystem inertia (relative to the subsystem COM frame).
const ChFrame & | GetTransform () const
| Get the current subsystem position relative to the global frame.
void | SetVisualizationType (VisualizationType vis)
| Set the visualization mode for this subsystem.
virtual void | SetOutput (bool state)
| Enable/disable output for this subsystem.
bool | OutputEnabled () const
| Return the output state for this subsystem.

## Additional Inherited Members
Static Public Member Functions inherited from chrono::vehicle::ChPart
static ChMatrix33 | TransformInertiaMatrix (const ChVector3d &moments, const ChVector3d &products, const ChMatrix33<> &vehicle_rot, const ChMatrix33<> &body_rot)
| Utility function for transforming inertia tensors between centroidal frames.
Protected Types inherited from chrono::vehicle::ChPitmanArm
enum | PointId { STEERINGLINK , PITMANARM , REV , UNIV , REVSPH_R , REVSPH_S , TIEROD_PA , TIEROD_IA , NUM_POINTS }
| Identifiers for the various hardpoints. More...
enum | DirectionId { REV_AXIS , UNIV_AXIS_ARM , UNIV_AXIS_LINK , REVSPH_AXIS , NUM_DIRS }
| Identifiers for the various direction unit vectors. More...
Protected Member Functions inherited from chrono::vehicle::ChPitmanArm
| ChPitmanArm (const std::string &name, bool vehicle_frame_inertia=false)
| Protected constructor.
void | SetVehicleFrameInertiaFlag (bool val)
| Indicate whether or not inertia matrices are specified with respect to a vehicle-aligned centroidal frame (flag=true) or with respect to the body centroidal frame (flag=false).
virtual void | InitializeInertiaProperties () override
| Initialize subsystem inertia properties.
virtual void | UpdateInertiaProperties () override
| Update subsystem inertia properties.
Protected Member Functions inherited from chrono::vehicle::ChSteering
| ChSteering (const std::string &name)
| Construct a steering subsystem with given name.
Protected Member Functions inherited from chrono::vehicle::ChPart
| ChPart (const std::string &name)
| Construct a vehicle subsystem with the specified name.
void | AddMass (double &mass)
| Add this subsystem's mass.
void | AddInertiaProperties (ChVector3d &com, ChMatrix33<> &inertia)
| Add this subsystem's inertia properties.
virtual void | Create (const rapidjson::Document &d)
| Create a vehicle subsystem from JSON data.
void | ExportBodyList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChBody > > bodies) const
| Export the list of bodies to the specified JSON document.
void | ExportShaftList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChShaft > > shafts) const
| Export the list of shafts to the specified JSON document.
void | ExportJointList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLink > > joints) const
| Export the list of joints to the specified JSON document.
void | ExportCouplesList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChShaftsCouple > > couples) const
| Export the list of shaft couples to the specified JSON document.
void | ExportMarkerList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChMarker > > markers) const
| Export the list of markers to the specified JSON document.
void | ExportLinSpringList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLinkTSDA > > springs) const
| Export the list of translational springs to the specified JSON document.
void | ExportRotSpringList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLinkRSDA > > springs) const
| Export the list of rotational springs to the specified JSON document.
void | ExportBodyLoadList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLoadBodyBody > > loads) const
| Export the list of body-body loads to the specified JSON document.
Static Protected Member Functions inherited from chrono::vehicle::ChPart
static void | RemoveVisualizationAssets (std::shared_ptr< ChPhysicsItem > item)
| Erase all visual shapes from the visual model associated with the specified physics item (if any).
static void | RemoveVisualizationAsset (std::shared_ptr< ChPhysicsItem > item, std::shared_ptr< ChVisualShape > shape)
| Erase the given shape from the visual model associated with the specified physics item (if any).
Protected Attributes inherited from chrono::vehicle::ChPitmanArm
std::shared_ptr< ChBody > | m_arm
| handle to the Pitman arm body
std::shared_ptr< ChLinkMotorRotationAngle > | m_revolute
| handle to the chassis-arm revolute joint
std::shared_ptr< ChLinkRevoluteSpherical > | m_revsph
| handle to the revolute-spherical joint (idler arm)
std::shared_ptr< ChLinkUniversal > | m_universal
| handle to the arm-link universal joint
Protected Attributes inherited from chrono::vehicle::ChSteering
ChFrame | m_rel_xform
| location and orientation relative to associated chassis
std::shared_ptr< ChBody > | m_link
| handle to the main steering link
Protected Attributes inherited from chrono::vehicle::ChPart
std::string | m_name
| subsystem name
bool | m_initialized
| specifies whether ot not the part is fully constructed
bool | m_output
| specifies whether or not output is generated for this subsystem
std::shared_ptr< ChPart > | m_parent
| parent subsystem (empty if parent is vehicle)
double | m_mass
| subsystem mass
ChMatrix33 | m_inertia
| inertia tensor (relative to subsystem COM)
ChFrame | m_com
| COM frame (relative to subsystem reference frame).
ChFrame | m_xform
| subsystem frame expressed in the global frame

## Member Function Documentation

## ◆ getDirection()

const ChVector3d chrono::vehicle::artcar::ARTcar_PitmanArm::getDirection | ( | DirectionId | which | ) |
| overridevirtual

Return the unit vector for the specified direction.

The returned vector must be expressed in the suspension reference frame.

Implements chrono::vehicle::ChPitmanArm.

## ◆ getLocation()

const ChVector3d chrono::vehicle::artcar::ARTcar_PitmanArm::getLocation | ( | PointId | which | ) |
| overridevirtual

Return the location of the specified hardpoint.

The returned location must be expressed in the suspension reference frame.

Implements chrono::vehicle::ChPitmanArm.

## ◆ getMaxAngle()

virtual double chrono::vehicle::artcar::ARTcar_PitmanArm::getMaxAngle | ( |  | ) | const
| inlineoverridevirtual

Return the maximum rotation angle of the revolute joint.

Implements chrono::vehicle::ChPitmanArm.

## ◆ getPitmanArmInertiaMoments()

virtual const ChVector3d & chrono::vehicle::artcar::ARTcar_PitmanArm::getPitmanArmInertiaMoments | ( |  | ) | const
| inlineoverridevirtual

Return the moments of inertia of the Pitman arm body.

Implements chrono::vehicle::ChPitmanArm.

## ◆ getPitmanArmInertiaProducts()

virtual const ChVector3d & chrono::vehicle::artcar::ARTcar_PitmanArm::getPitmanArmInertiaProducts | ( |  | ) | const
| inlineoverridevirtual

Return the products of inertia of the Pitman arm body.

Implements chrono::vehicle::ChPitmanArm.

## ◆ getPitmanArmMass()

virtual double chrono::vehicle::artcar::ARTcar_PitmanArm::getPitmanArmMass | ( |  | ) | const
| inlineoverridevirtual

Return the mass of the Pitman arm body.

Implements chrono::vehicle::ChPitmanArm.

## ◆ getPitmanArmRadius()

virtual double chrono::vehicle::artcar::ARTcar_PitmanArm::getPitmanArmRadius | ( |  | ) | const
| inlineoverridevirtual

Return the radius of the Pitman arm body (visualization only).

Implements chrono::vehicle::ChPitmanArm.

## ◆ getSteeringLinkInertiaMoments()

virtual const ChVector3d & chrono::vehicle::artcar::ARTcar_PitmanArm::getSteeringLinkInertiaMoments | ( |  | ) | const
| inlineoverridevirtual

Return the moments of inertia of the steering link body.

Implements chrono::vehicle::ChPitmanArm.

## ◆ getSteeringLinkInertiaProducts()

virtual const ChVector3d & chrono::vehicle::artcar::ARTcar_PitmanArm::getSteeringLinkInertiaProducts | ( |  | ) | const
| inlineoverridevirtual

Return the products of inertia of the steering link body.

Implements chrono::vehicle::ChPitmanArm.

## ◆ getSteeringLinkMass()

virtual double chrono::vehicle::artcar::ARTcar_PitmanArm::getSteeringLinkMass | ( |  | ) | const
| inlineoverridevirtual

Return the mass of the steering link body.

Implements chrono::vehicle::ChPitmanArm.

## ◆ getSteeringLinkRadius()

virtual double chrono::vehicle::artcar::ARTcar_PitmanArm::getSteeringLinkRadius | ( |  | ) | const
| inlineoverridevirtual

Return the radius of the steering link body (visualization only).

Implements chrono::vehicle::ChPitmanArm.

The documentation for this class was generated from the following files:

- D:/W/B/src/chrono-9.0.1/src/chrono_models/vehicle/artcar/ARTcar_PitmanArm.h
- D:/W/B/src/chrono-9.0.1/src/chrono_models/vehicle/artcar/ARTcar_PitmanArm.cpp