TVM  0.9.4
tvm::task_dynamics::Proportional::Impl Class Reference

#include <tvm/task_dynamics/Proportional.h>

Inheritance diagram for tvm::task_dynamics::Proportional::Impl:
Collaboration diagram for tvm::task_dynamics::Proportional::Impl:

Public Member Functions

 Impl (FunctionPtr f, constraint::Type t, const Eigen::VectorXd &rhs, const Gain &kp)
 
void updateValue () override
 
 ~Impl () override=default
 
void gain (double kp)
 
void gain (const Eigen::VectorXd &kp)
 
void gain (const Eigen::MatrixXd &kp)
 
const Gaingain () const
 
template<typename T >
const T & gain () const
 
Gaingain ()
 
template<typename T >
T & gain ()
 
- 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::Functionfunction () 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_tinputDependencies_
 
std::map< int, std::pair< Outputs *, int > > directDependencies_
 
- Protected Attributes inherited from tvm::graph::abstract::Outputs
bool is_node_ = false
 

Constructor & Destructor Documentation

◆ Impl()

tvm::task_dynamics::Proportional::Impl::Impl ( FunctionPtr  f,
constraint::Type  t,
const Eigen::VectorXd &  rhs,
const Gain kp 
)

◆ ~Impl()

tvm::task_dynamics::Proportional::Impl::~Impl ( )
overridedefault

Member Function Documentation

◆ gain() [1/7]

Gain& tvm::task_dynamics::Proportional::Impl::gain ( )

Get the current gain (non-const version).

Warning
No check is made if you change the gain. It is your responsibility to ensure that its values and its size are correct.

◆ gain() [2/7]

template<typename T >
T& tvm::task_dynamics::Proportional::Impl::gain ( )
inline

Get the current gain cast as T (non-const version).

Template Parameters
TType of the gain.
Exceptions
Throwsif T has not the type corresponding to the gain actually used.
Warning
No check is made if you change the gain. It is your responsibility to ensure that its values and its size are correct.

◆ gain() [3/7]

const Gain& tvm::task_dynamics::Proportional::Impl::gain ( ) const

Get the current gain.

◆ gain() [4/7]

template<typename T >
const T& tvm::task_dynamics::Proportional::Impl::gain ( ) const
inline

Get the current gain cast as T.

Template Parameters
TType of the gain.
Exceptions
Throwsif T has not the type corresponding to the gain actually used.

◆ gain() [5/7]

void tvm::task_dynamics::Proportional::Impl::gain ( const Eigen::MatrixXd &  kp)

Change the gain to a new matrix.

◆ gain() [6/7]

void tvm::task_dynamics::Proportional::Impl::gain ( const Eigen::VectorXd &  kp)

Change the gain to a new diagonal matrix.

◆ gain() [7/7]

void tvm::task_dynamics::Proportional::Impl::gain ( double  kp)

Change the gain to a new scalar.

◆ updateValue()

void tvm::task_dynamics::Proportional::Impl::updateValue ( )
overridevirtual

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