PX4 Firmware
PX4 Autopilot Software http://px4.io
control::BlockPD Class Reference

A proportional-derivative controller. More...

#include <BlockPD.hpp>

Inheritance diagram for control::BlockPD:
Collaboration diagram for control::BlockPD:

Public Member Functions

 BlockPD (SuperBlock *parent, const char *name)
 
virtual ~BlockPD ()=default
 
float update (float input)
 
float getKP ()
 
float getKD ()
 
BlockDerivativegetDerivative ()
 
- Public Member Functions inherited from control::SuperBlock
 SuperBlock (SuperBlock *parent, const char *name)
 
 ~SuperBlock ()=default
 
 SuperBlock (const SuperBlock &)=delete
 
SuperBlockoperator= (const SuperBlock &)=delete
 
 SuperBlock (SuperBlock &&)=delete
 
SuperBlockoperator= (SuperBlock &&)=delete
 
void setDt (float dt) override
 
void updateParams () override
 
- Public Member Functions inherited from control::Block
 Block (SuperBlock *parent, const char *name)
 
virtual ~Block ()=default
 
 Block (const Block &)=delete
 
Blockoperator= (const Block &)=delete
 
 Block (Block &&)=delete
 
Blockoperator= (Block &&)=delete
 
void getName (char *name, size_t n)
 
float getDt ()
 
- Public Member Functions inherited from ListNode< Block *>
void setSibling (Block * sibling)
 
const Block * getSibling () const
 

Private Attributes

BlockDerivative _derivative
 
control::BlockParamFloat _kP
 
control::BlockParamFloat _kD
 

Additional Inherited Members

- Protected Member Functions inherited from control::SuperBlock
List< Block * > & getChildren ()
 
void updateChildParams ()
 
- Protected Member Functions inherited from control::Block
virtual void updateParamsSubclass ()
 
SuperBlockgetParent ()
 
List< BlockParamBase * > & getParams ()
 
- Protected Attributes inherited from control::SuperBlock
List< Block * > _children
 
- Protected Attributes inherited from control::Block
const char * _name
 
SuperBlock_parent
 
float _dt {0.0f}
 
List< BlockParamBase * > _params
 
- Protected Attributes inherited from ListNode< Block *>
Block * _list_node_sibling
 

Detailed Description

A proportional-derivative controller.

http://en.wikipedia.org/wiki/PID_controller

Definition at line 62 of file BlockPD.hpp.

Constructor & Destructor Documentation

◆ BlockPD()

control::BlockPD::BlockPD ( SuperBlock parent,
const char *  name 
)
inline

Definition at line 66 of file BlockPD.hpp.

◆ ~BlockPD()

virtual control::BlockPD::~BlockPD ( )
virtualdefault

Member Function Documentation

◆ getDerivative()

BlockDerivative& control::BlockPD::getDerivative ( )
inline

Definition at line 81 of file BlockPD.hpp.

Referenced by control::blockPDTest(), and blockPDTest().

Here is the caller graph for this function:

◆ getKD()

float control::BlockPD::getKD ( )
inline

Definition at line 80 of file BlockPD.hpp.

Referenced by control::blockPDTest(), and blockPDTest().

Here is the caller graph for this function:

◆ getKP()

float control::BlockPD::getKP ( )
inline

Definition at line 79 of file BlockPD.hpp.

Referenced by control::blockPDTest(), and blockPDTest().

Here is the caller graph for this function:

◆ update()

float control::BlockPD::update ( float  input)
inline

Definition at line 73 of file BlockPD.hpp.

Referenced by control::blockPDTest(), and blockPDTest().

Here is the caller graph for this function:

Member Data Documentation

◆ _derivative

BlockDerivative control::BlockPD::_derivative
private

Definition at line 83 of file BlockPD.hpp.

◆ _kD

control::BlockParamFloat control::BlockPD::_kD
private

Definition at line 85 of file BlockPD.hpp.

◆ _kP

control::BlockParamFloat control::BlockPD::_kP
private

Definition at line 84 of file BlockPD.hpp.


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