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::VehicleInputControlRequests Class Referenceabstract

#include <VehicleInputControlBus.h>

Inherits AZ::EBusTraits.

Public Types

using BusIdType = AZ::EntityId
 

Public Member Functions

virtual void SetTargetLinearSpeedV3 (const AZ::Vector3 &speedMps)=0
 
virtual void SetTargetLinearSpeed (float speedMpsX)=0
 
virtual void SetTargetSteering (float steering)=0
 
virtual void SetTargetAngularSpeedV3 (const AZ::Vector3 &rate)=0
 
virtual void SetTargetAngularSpeed (float rateZ)=0
 
virtual void SetTargetAccelerationFraction (float accelerationFraction)=0
 
virtual void SetTargetSteeringFraction (float steeringFraction)=0
 
virtual void SetTargetLinearSpeedFraction (float speedFractionX)=0
 
virtual void SetTargetAngularSpeedFraction (float rateFractionZ)=0
 
virtual void SetDisableVehicleDynamics (bool disable)=0
 
virtual AZStd::pair< AZ::Vector3, AZ::Vector3 > GetWheelsOdometry ()=0
 

Static Public Attributes

static constexpr AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById
 

Detailed Description

Inputs (speed, steering, acceleration etc.) for vehicle dynamics system Inputs are valid for a short time (configurable) and need to be repeated if continuous movement is needed. (Use cruise system to set cruise speed).

Member Function Documentation

◆ GetWheelsOdometry()

virtual AZStd::pair< AZ::Vector3, AZ::Vector3 > ROS2::VehicleDynamics::VehicleInputControlRequests::GetWheelsOdometry ( )
pure virtual

Returns vehicle's velocity in its local coordinate system

Returns
pair of Vectors : Linear speed (in m/s) and angular speed (in rad/s)

◆ SetDisableVehicleDynamics()

virtual void ROS2::VehicleDynamics::VehicleInputControlRequests::SetDisableVehicleDynamics ( bool  disable)
pure virtual

Disables (or enables) the vehicle dynamics

Parameters
disableif set true no torque will be applied

◆ SetTargetAccelerationFraction()

virtual void ROS2::VehicleDynamics::VehicleInputControlRequests::SetTargetAccelerationFraction ( float  accelerationFraction)
pure virtual

Accelerate without target speed, relative to the limits.

Parameters
accelerationFractionis relative to limits of possible acceleration. 1 - accelerate as much as possible, -1 - brake as much as possible.

◆ SetTargetAngularSpeed()

virtual void ROS2::VehicleDynamics::VehicleInputControlRequests::SetTargetAngularSpeed ( float  rateZ)
pure virtual

Set target for the angular speed. It should be realized over time according to drive model.

Parameters
rateZis an angular speed in radians per second in up direction .

◆ SetTargetAngularSpeedFraction()

virtual void ROS2::VehicleDynamics::VehicleInputControlRequests::SetTargetAngularSpeedFraction ( float  rateFractionZ)
pure virtual

Set target for the angular speed. It should be realized over time according to drive model.

Parameters
rateFractionZis an angular speed in radians per second in up direction, fraction of maximum speed.

◆ SetTargetAngularSpeedV3()

virtual void ROS2::VehicleDynamics::VehicleInputControlRequests::SetTargetAngularSpeedV3 ( const AZ::Vector3 &  rate)
pure virtual

Set target for the angular speed. It should be realized over time according to drive model.

Parameters
rateis an angular speed vector, unit is radians per second.

◆ SetTargetLinearSpeed()

virtual void ROS2::VehicleDynamics::VehicleInputControlRequests::SetTargetLinearSpeed ( float  speedMpsX)
pure virtual

Set target for the vehicle linear speed. It should be realized over time according to drive model.

Parameters
speedMpsXis a linear speed in meters per second with the plus sign in the forward direction.

◆ SetTargetLinearSpeedFraction()

virtual void ROS2::VehicleDynamics::VehicleInputControlRequests::SetTargetLinearSpeedFraction ( float  speedFractionX)
pure virtual

Speed input version which is relative to limits.

Parameters
speedFractionXis -1 to 1, which applies as a fraction of vehicle model speed limits.

◆ SetTargetLinearSpeedV3()

virtual void ROS2::VehicleDynamics::VehicleInputControlRequests::SetTargetLinearSpeedV3 ( const AZ::Vector3 &  speedMps)
pure virtual

Set target for the vehicle linear speed. It should be realized over time according to drive model.

Parameters
speedMpsis a linear speed vectors, unit is meters per second.

◆ SetTargetSteering()

virtual void ROS2::VehicleDynamics::VehicleInputControlRequests::SetTargetSteering ( float  steering)
pure virtual

Steer in a direction given in relative coordinate system (current direction is 0).

Parameters
steeringis angle in radians, positive to the right and negative to the left.
Note
The actual angle applied is subject to limits and implementation (eg smoothing).

◆ SetTargetSteeringFraction()

virtual void ROS2::VehicleDynamics::VehicleInputControlRequests::SetTargetSteeringFraction ( float  steeringFraction)
pure virtual

Steer input version which is relative to limits.

Parameters
steeringFractionis -1 to 1, which applies as a fraction of vehicle model steering limits.
Note
The actual angle applied is subject to limits and implementation (eg smoothing).

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