Description
UAZ vehicle system.
#include <UAZBUS_Vehicle.h>


Public Member Functions | |
UAZBUS_Vehicle (const bool fixed=false, SteeringType steering_model=SteeringType::PITMAN_ARM, ChMaterialSurface::ContactMethod contact_method=ChMaterialSurface::NSC, ChassisCollisionType chassis_collision_type=ChassisCollisionType::NONE) | |
UAZBUS_Vehicle (ChSystem *system, const bool fixed=false, SteeringType steering_model=SteeringType::PITMAN_ARM, ChassisCollisionType chassis_collision_type=ChassisCollisionType::NONE) | |
virtual int | GetNumberAxles () const override |
Return the number of axles for this vehicle. | |
virtual double | GetWheelbase () const override |
Return the vehicle wheelbase. | |
virtual double | GetMinTurningRadius () const override |
Return the minimum turning radius. More... | |
virtual double | GetMaxSteeringAngle () const override |
Return the maximum steering angle. More... | |
void | SetInitWheelAngVel (const std::vector< double > &omega) |
double | GetSpringForce (const WheelID &wheel_id) const |
double | GetSpringLength (const WheelID &wheel_id) const |
double | GetSpringDeformation (const WheelID &wheel_id) const |
double | GetShockForce (const WheelID &wheel_id) const |
double | GetShockLength (const WheelID &wheel_id) const |
double | GetShockVelocity (const WheelID &wheel_id) const |
virtual void | Initialize (const ChCoordsys<> &chassisPos, double chassisFwdVel=0) override |
Initialize this vehicle at the specified global location and orientation. More... | |
void | LogHardpointLocations () |
void | DebugLog (int what) |
suspension hardpoints at design | |
![]() | |
ChWheeledVehicle (const std::string &name, ChMaterialSurface::ContactMethod contact_method=ChMaterialSurface::NSC) | |
Construct a vehicle system with a default ChSystem. More... | |
ChWheeledVehicle (const std::string &name, ChSystem *system) | |
Construct a vehicle system using the specified ChSystem. More... | |
virtual | ~ChWheeledVehicle () |
Destructor. | |
virtual std::string | GetTemplateName () const override |
Get the name of the vehicle system template. | |
std::shared_ptr< ChSuspension > | GetSuspension (int id) const |
Get the specified suspension subsystem. | |
std::shared_ptr< ChSteering > | GetSteering (int id) const |
Get the specified steering subsystem. | |
std::shared_ptr< ChWheel > | GetWheel (const WheelID &wheel_id) const |
Get a handle to the specified vehicle wheel subsystem. | |
std::shared_ptr< ChBrake > | GetBrake (const WheelID &wheel_id) const |
Get a handle to the specified vehicle brake subsystem. | |
std::shared_ptr< ChDriveline > | GetDriveline () const |
Get a handle to the vehicle's driveline subsystem. | |
virtual double | GetVehicleMass () const override |
Get the vehicle total mass. More... | |
virtual ChVector | GetVehicleCOMPos () const override |
Get the current global vehicle COM location. | |
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... | |
std::shared_ptr< ChBody > | GetWheelBody (const WheelID &wheelID) const |
Get a handle to the specified wheel body. | |
const ChVector & | GetWheelPos (const WheelID &wheel_id) const |
Get the global location of the specified wheel. | |
const ChQuaternion & | GetWheelRot (const WheelID &wheel_id) const |
Get the orientation of the specified wheel. More... | |
const ChVector & | GetWheelLinVel (const WheelID &wheel_id) const |
Get the linear velocity of the specified wheel. More... | |
ChVector | GetWheelAngVel (const WheelID &wheel_id) const |
Get the angular velocity of the specified wheel. More... | |
double | GetWheelOmega (const WheelID &wheel_id) const |
Get the angular speed of the specified wheel. More... | |
WheelState | GetWheelState (const WheelID &wheel_id) const |
Get the complete state for the specified wheel. More... | |
double | GetWheeltrack (int id) const |
Return the vehicle wheel track of the specified suspension subsystem. | |
void | SetSuspensionVisualizationType (VisualizationType vis) |
Set visualization type for the suspension subsystems. More... | |
void | SetSteeringVisualizationType (VisualizationType vis) |
Set visualization type for the steering subsystems. More... | |
void | SetWheelVisualizationType (VisualizationType vis) |
Set visualization type for the wheel subsystems. More... | |
virtual void | SetChassisVehicleCollide (bool state) override |
Enable/disable collision between the chassis and all other vehicle subsystems. More... | |
void | SetSuspensionOutput (int id, bool state) |
Enable/disable output from the suspension subsystems. | |
void | SetSteeringOutput (int id, bool state) |
Enable/disable output from the steering subsystems. | |
void | SetAntirollbarOutput (int id, bool state) |
Enable/disable output from the anti-roll bar subsystems. | |
void | SetDrivelineOutput (bool state) |
Enable/disable output from the driveline subsystem. | |
virtual void | Synchronize (double time, double steering, double braking, double powertrain_torque, const TerrainForces &tire_forces) |
Update the state of this vehicle at the current time. More... | |
void | LockAxleDifferential (int axle, bool lock) |
Lock/unlock the differential on the specified axle. More... | |
void | LockCentralDifferential (int which, bool lock) |
Lock/unlock the specified central differential. 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... | |
virtual void | Output (int frame, ChVehicleOutput &database) const override |
Output data for all modeling components in the vehicle system. | |
![]() | |
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 chassis subsystem. | |
std::shared_ptr< ChBodyAuxRef > | GetChassisBody () const |
Get a handle to the vehicle's chassis body. | |
const ChVector & | GetVehiclePos () const |
Get the vehicle location. More... | |
const 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 | GetVehicleAcceleration (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 | SetChassisCollide (bool state) |
Enable/disable collision for the chassis subsystem. More... | |
void | SetChassisOutput (bool state) |
Enable/disable output from the chassis subsystem. | |
virtual void | Advance (double step) |
Advance the state of this vehicle by the specified time step. More... | |
void | SetStepsize (double val) |
Set the integration step size for the vehicle system. | |
double | GetStepsize () const |
Get the current value of the integration step size for the vehicle system. | |
Additional Inherited Members | |
![]() | |
ChVehicle (const std::string &name, ChMaterialSurface::ContactMethod contact_method=ChMaterialSurface::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... | |
![]() | |
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. | |
![]() | |
ChSuspensionList | m_suspensions |
list of handles to suspension subsystems | |
ChAntirollbarList | m_antirollbars |
list of handles to antirollbar subsystems (optional) | |
std::shared_ptr< ChDriveline > | m_driveline |
handle to the driveline subsystem | |
ChSteeringList | m_steerings |
list of handles to steering subsystems | |
ChWheelList | m_wheels |
list of handles to wheel subsystems | |
ChBrakeList | m_brakes |
list of handles to brake subsystems | |
![]() | |
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 chassis subsystem | |
double | m_stepsize |
integration step-size for the vehicle system | |
Member Function Documentation
|
overridevirtual |
Return the maximum steering angle.
This default implementation estimates the maximum steering angle based on a bicycle model and the vehicle minimum turning radius.
Reimplemented from chrono::vehicle::ChWheeledVehicle.
|
overridevirtual |
Return the minimum turning radius.
A concrete wheeled vehicle class should override the default value (20 m).
Reimplemented from chrono::vehicle::ChWheeledVehicle.
|
overridevirtual |
Initialize this vehicle at the specified global location and orientation.
This base class implementation only initializes the chassis subsystem. Derived classes must extend this function to initialize all other wheeled vehicle subsystems (steering, suspensions, wheels, brakes, and driveline).
Reimplemented from chrono::vehicle::ChWheeledVehicle.