|
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.