Open 3D Engine ROS2 Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
ROS2::VehicleDynamics::VehicleModelLimits Class Referenceabstract

A structure holding limits of vehicle, including speed and steering limits. More...

#include <VehicleModelLimits.h>

Inherited by ROS2::VehicleDynamics::AckermannModelLimits, and ROS2::VehicleDynamics::SkidSteeringModelLimits.

Public Member Functions

 AZ_RTTI (VehicleModelLimits, "{76DA392D-64BB-45A8-BC90-84AAE7901991}")
 
virtual VehicleInputs LimitState (const VehicleInputs &inputState) const =0
 
virtual VehicleInputs GetMaximumState () const =0
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 

Static Protected Member Functions

static float LimitValue (float value, float absoluteLimit)
 

Detailed Description

A structure holding limits of vehicle, including speed and steering limits.

Member Function Documentation

◆ GetMaximumState()

virtual VehicleInputs ROS2::VehicleDynamics::VehicleModelLimits::GetMaximumState ( ) const
pure virtual

Returns maximal permissible input states.

Returns
VehicleInputsState

Implemented in ROS2::VehicleDynamics::AckermannModelLimits, and ROS2::VehicleDynamics::SkidSteeringModelLimits.

◆ LimitState()

virtual VehicleInputs ROS2::VehicleDynamics::VehicleModelLimits::LimitState ( const VehicleInputs inputState) const
pure virtual

Limit input state to values that are possible for model.

Parameters
inputStateInput state to filter.
Returns
Filtered, pruned state.

Implemented in ROS2::VehicleDynamics::AckermannModelLimits, and ROS2::VehicleDynamics::SkidSteeringModelLimits.

◆ LimitValue()

static float ROS2::VehicleDynamics::VehicleModelLimits::LimitValue ( float  value,
float  absoluteLimit 
)
staticprotected

Limit value with a symmetrical range.

Parameters
valueInput value.
absoluteLimitLimits for value (between -absoluteLimit and absoluteLimit).
Returns
A limited value. Always returns either value, -absoluteLimit or absoluteLimit.

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