PX4 Firmware
PX4 Autopilot Software http://px4.io
|
A trapezoidal integrator. More...
#include <BlockIntegralTrap.hpp>
Public Member Functions | |
BlockIntegralTrap (SuperBlock *parent, const char *name) | |
virtual | ~BlockIntegralTrap ()=default |
float | update (float input) |
float | getU () |
float | getY () |
float | getMax () |
void | setU (float u) |
void | setY (float y) |
Public Member Functions inherited from control::SuperBlock | |
SuperBlock (SuperBlock *parent, const char *name) | |
~SuperBlock ()=default | |
SuperBlock (const SuperBlock &)=delete | |
SuperBlock & | operator= (const SuperBlock &)=delete |
SuperBlock (SuperBlock &&)=delete | |
SuperBlock & | operator= (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 | |
Block & | operator= (const Block &)=delete |
Block (Block &&)=delete | |
Block & | operator= (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 |
Protected Attributes | |
float | _u |
previous input More... | |
float | _y |
previous output More... | |
BlockLimitSym | _limit |
limiter More... | |
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 |
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 () |
SuperBlock * | getParent () |
List< BlockParamBase * > & | getParams () |
A trapezoidal integrator.
http://en.wikipedia.org/wiki/Trapezoidal_rule A limiter is built into the class to bound the integral's internal state. This is important for windup protection.
Definition at line 66 of file BlockIntegralTrap.hpp.
|
inline |
Definition at line 70 of file BlockIntegralTrap.hpp.
|
virtualdefault |
|
inline |
Definition at line 80 of file BlockIntegralTrap.hpp.
Referenced by control::blockIntegralTrapTest(), and blockIntegralTrapTest().
|
inline |
Definition at line 78 of file BlockIntegralTrap.hpp.
Referenced by control::blockIntegralTrapTest(), blockIntegralTrapTest(), and update().
|
inline |
Definition at line 79 of file BlockIntegralTrap.hpp.
Referenced by control::blockIntegralTrapTest(), blockIntegralTrapTest(), and update().
|
inline |
Definition at line 81 of file BlockIntegralTrap.hpp.
Referenced by control::blockIntegralTrapTest(), blockIntegralTrapTest(), and update().
|
inline |
Definition at line 82 of file BlockIntegralTrap.hpp.
Referenced by control::blockIntegralTrapTest(), blockIntegralTrapTest(), and update().
float control::BlockIntegralTrap::update | ( | float | input | ) |
Definition at line 48 of file BlockIntegralTrap.cpp.
References _limit, f(), control::Block::getDt(), getU(), getY(), setU(), setY(), and control::BlockLimitSym::update().
Referenced by control::blockIntegralTrapTest(), and blockIntegralTrapTest().
|
protected |
|
protected |
previous input
Definition at line 85 of file BlockIntegralTrap.hpp.
|
protected |
previous output
Definition at line 86 of file BlockIntegralTrap.hpp.