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

#include <PidConfiguration.h>

Public Member Functions

 AZ_TYPE_INFO (PidConfiguration, "{814E0D1E-2C33-44A5-868E-C914640E2F7E}")
 
 PidConfiguration (const double p, const double i, const double d, const double iMax, const double iMin, const bool antiWindup, const double outputLimit)
 
void InitializePid ()
 Initialize the controller.
 
double ComputeCommand (double error, uint64_t deltaTimeNanoseconds)
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 

Detailed Description

A PID controller. Based on a ROS 2 control_toolbox implementation.

See also
control_toolbox.

Constructor & Destructor Documentation

◆ PidConfiguration()

ROS2Controllers::PidConfiguration::PidConfiguration ( const double  p,
const double  i,
const double  d,
const double  iMax,
const double  iMin,
const bool  antiWindup,
const double  outputLimit 
)
inline

Parametrized constructor of PidConfiguration

Parameters
pProportional gain.
iIntegral gain.
dDerivative gain.
iMaxMaximal allowable integral term.
iMinMinimal allowable integral term.
antiWindupPrevents condition of integrator overflow in integral action.
outputLimitLimit PID output; set to 0.0 to disable.

Member Function Documentation

◆ ComputeCommand()

double ROS2Controllers::PidConfiguration::ComputeCommand ( double  error,
uint64_t  deltaTimeNanoseconds 
)

Compute the value of PID command.

Parameters
errorValue of difference between target and state since last call.
deltaTimeNanosecondschange in time since last call (nanoseconds).
Returns
Value of computed command.

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