|
TVM
0.9.4
|
#include <tvm/task_dynamics/ProportionalDerivative.h>


Public Member Functions | |
| Impl (FunctionPtr f, constraint::Type t, const Eigen::VectorXd &rhs, const Gain &kp, const Gain &kv) | |
| void | updateValue () override |
| ~Impl () override=default | |
| std::pair< const Gain &, const Gain & > | gains () const |
| void | gains (double kp) |
| void | gains (const Eigen::VectorXd &kp) |
| void | gains (const Eigen::MatrixXd &kp) |
| const Gain & | kp () const |
| template<typename T > | |
| const T & | kp () const |
| Gain & | kp () |
| template<typename T > | |
| T & | kp () |
| const Gain & | kv () const |
| template<typename T > | |
| const T & | kv () const |
| Gain & | kv () |
| template<typename T > | |
| T & | kv () |
| void | gains (double kp, double kv) |
| void | gains (const Eigen::VectorXd &kp, const Eigen::VectorXd &kv) |
| void | gains (const Eigen::MatrixXd &kp, const Eigen::MatrixXd &kv) |
| void | gains (double kp, const Eigen::VectorXd &kv) |
| void | gains (double kp, const Eigen::MatrixXd &kv) |
| void | gains (const Eigen::VectorXd &kp, double kv) |
| void | gains (const Eigen::VectorXd &kp, const Eigen::MatrixXd &kv) |
| void | gains (const Eigen::MatrixXd &kp, double kv) |
| void | gains (const Eigen::MatrixXd &kp, const Eigen::VectorXd &kv) |
Public Member Functions inherited from tvm::task_dynamics::abstract::TaskDynamicsImpl | |
| virtual | ~TaskDynamicsImpl ()=default |
| const Eigen::VectorXd & | value () const |
| Order | order () const |
| template<typename T > | |
| bool | checkType () const |
Public Member Functions inherited from tvm::graph::internal::AbstractNode | |
| template<typename EnumT > | |
| bool | isUpdateEnabled (EnumT e) const |
| virtual bool | isUpdateStaticallyEnabled (int) const |
| virtual bool | isUpdateCustomEnabled (int) const |
| virtual | ~AbstractNode ()=default |
| void | update (int i) |
Public Member Functions inherited from tvm::graph::internal::Inputs | |
| virtual | ~Inputs ()=default |
| template<typename T , typename EnumI , typename... Args> | |
| void | addInput (std::shared_ptr< T > source, EnumI i, Args... args) |
| template<typename T , typename EnumI , typename... Args, typename std::enable_if< std::is_base_of< abstract::Outputs, T >::value, int >::type = 0> | |
| void | addInput (T &source, EnumI i, Args... args) |
| template<typename T > | |
| void | removeInput (T *source) |
| template<typename T , typename... Args> | |
| void | removeInput (T *source, Args... args) |
| template<typename T > | |
| Iterator | getInput (T *source) |
| template<typename T > | |
| Iterator | getInput (const std::shared_ptr< T > &source) |
Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| virtual | ~Outputs ()=default |
| template<typename EnumT > | |
| bool | isOutputEnabled (EnumT e) const |
| bool | isOutputEnabled (int i) const |
| virtual bool | isOutputStaticallyEnabled (int) const |
| virtual bool | isOutputCustomEnabled (int) const |
Additional Inherited Members | |
Public Types inherited from tvm::graph::internal::AbstractNode | |
| enum class | Update_ |
| using | UpdateParent = AbstractNode |
| using | UpdateBase = AbstractNode |
Public Types inherited from tvm::graph::internal::Inputs | |
| using | inputs_t = std::unordered_map< abstract::Outputs *, std::set< int > > |
| using | store_t = std::unordered_set< std::shared_ptr< abstract::Outputs > > |
Public Types inherited from tvm::graph::abstract::Outputs | |
| enum class | Output_ |
| using | OutputParent = Outputs |
| using | OutputBase = Outputs |
Static Public Member Functions inherited from tvm::graph::internal::AbstractNode | |
| static constexpr const char * | UpdateName (Update_) |
| template<typename EnumT > | |
| static constexpr bool | UpdateStaticallyEnabled (EnumT) |
Static Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| static constexpr const char * | OutputName (Output_) |
| template<typename EnumT > | |
| static constexpr bool | OutputStaticallyEnabled (EnumT) |
Static Public Attributes inherited from tvm::graph::internal::AbstractNode | |
| static constexpr unsigned int | UpdateSize = 0 |
| static constexpr auto | UpdateBaseName = "AbstractNode" |
Static Public Attributes inherited from tvm::graph::abstract::Outputs | |
| static constexpr unsigned int | OutputSize = 0 |
| static constexpr auto | OutputBaseName = "Outputs" |
Protected Types inherited from tvm::graph::internal::AbstractNode | |
| using | input_dependency_t = std::map< Outputs *, std::set< int > > |
Protected Member Functions inherited from tvm::task_dynamics::abstract::TaskDynamicsImpl | |
| TaskDynamicsImpl (Order order, FunctionPtr f, constraint::Type t, const Eigen::VectorXd &rhs) | |
| const function::abstract::Function & | function () const |
| constraint::Type | type () const |
| const Eigen::VectorXd & | rhs () const |
Protected Member Functions inherited from tvm::graph::abstract::Node< TaskDynamicsImpl > | |
| void | registerUpdates (EnumT u, void(U::*fn)(), Args... args) |
| void | registerUpdates (EnumT u, void(U::*fn)()) |
| void | addOutputDependency (EnumO o, EnumU u) |
| void | addOutputDependency (std::initializer_list< EnumO > os, EnumU u) |
| void | addInternalDependency (EnumU1 uDependent, EnumU2 u) |
| void | addInputDependency (EnumU u, std::shared_ptr< S > source, EnumO i, Args... args) |
| void | addInputDependency (EnumU u, S &source, EnumO i, Args... args) |
| void | addDirectDependency (EnumO o, std::shared_ptr< S > source, EnumI i) |
| void | addDirectDependency (EnumO o, S &source, EnumI i) |
Protected Attributes inherited from tvm::task_dynamics::abstract::TaskDynamicsImpl | |
| Eigen::VectorXd | value_ |
Protected Attributes inherited from tvm::graph::internal::AbstractNode | |
| std::map< int, std::function< void(AbstractNode &)> > | updates_ |
| std::map< int, std::vector< int > > | outputDependencies_ |
| std::map< int, std::vector< int > > | internalDependencies_ |
| std::map< int, input_dependency_t > | inputDependencies_ |
| std::map< int, std::pair< Outputs *, int > > | directDependencies_ |
Protected Attributes inherited from tvm::graph::abstract::Outputs | |
| bool | is_node_ = false |
| tvm::task_dynamics::ProportionalDerivative::Impl::Impl | ( | FunctionPtr | f, |
| constraint::Type | t, | ||
| const Eigen::VectorXd & | rhs, | ||
| const Gain & | kp, | ||
| const Gain & | kv | ||
| ) |
|
overridedefault |
| std::pair<const Gain &, const Gain &> tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | ) | const |
Get the current gains as a pair (kp, kv).
| void tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | const Eigen::MatrixXd & | kp | ) |
Critically damped version.
| kp | Stiffness gain matrix. The damping gain is automatically computed to get a critically damped behavior. For this version, kp is supposed to be symmetric and positive definite. |
| void tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | const Eigen::MatrixXd & | kp, |
| const Eigen::MatrixXd & | kv | ||
| ) |
Set gains.
| kp | Stiffness gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| kv | Damping gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| void tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | const Eigen::MatrixXd & | kp, |
| const Eigen::VectorXd & | kv | ||
| ) |
Set gains.
| kp | Stiffness gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| kv | Damping gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| void tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | const Eigen::MatrixXd & | kp, |
| double | kv | ||
| ) |
Set gains.
| kp | Stiffness gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| kv | Damping gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| void tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | const Eigen::VectorXd & | kp | ) |
Critically damped version.
| kp | Diagonal of the stiffness gain matrix. The damping gain is automatically computed to get a critically damped behavior. |
| void tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | const Eigen::VectorXd & | kp, |
| const Eigen::MatrixXd & | kv | ||
| ) |
Set gains.
| kp | Stiffness gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| kv | Damping gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| void tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | const Eigen::VectorXd & | kp, |
| const Eigen::VectorXd & | kv | ||
| ) |
Set gains.
| kp | Stiffness gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| kv | Damping gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| void tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | const Eigen::VectorXd & | kp, |
| double | kv | ||
| ) |
Set gains.
| kp | Stiffness gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| kv | Damping gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| void tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | double | kp | ) |
Critically damped version.
| kp | Stiffness gain. The damping gain is automatically computed to get a critically damped behavior. |
| void tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | double | kp, |
| const Eigen::MatrixXd & | kv | ||
| ) |
Set gains.
| kp | Stiffness gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| kv | Damping gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| void tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | double | kp, |
| const Eigen::VectorXd & | kv | ||
| ) |
Set gains.
| kp | Stiffness gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| kv | Damping gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| void tvm::task_dynamics::ProportionalDerivative::Impl::gains | ( | double | kp, |
| double | kv | ||
| ) |
Set gains.
| kp | Stiffness gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
| kv | Damping gain, as a scalar, a vector representing a diagonal matrix, or a matrix. |
|
inline |
Get the current kp gain (non-const version).
|
inline |
Get the current kp gain cast as T (non-const version).
| T | Type of the gain. |
| Throws | if T has not the type corresponding to the gain actually used. |
|
inline |
Get the current kp gain
|
inline |
Get the current kp gain cast as T.
| T | Type of the gain. |
| Throws | if T has not the type corresponding to the gain actually used. |
|
inline |
Get the current kv gain (non-const version).
|
inline |
Get the current kv gain cast as T (non-const version).
| T | Type of the gain. |
| Throws | if T has not the type corresponding to the gain actually used. |
|
inline |
Get the current kv gain
|
inline |
Get the current kv gain cast as T.
| T | Type of the gain. |
| Throws | if T has not the type corresponding to the gain actually used. |
|
overridevirtual |
Implements tvm::task_dynamics::abstract::TaskDynamicsImpl.