10 #include <mpark/variant.hpp>
17 namespace task_dynamics
26 using Gain = mpark::variant<double, Eigen::VectorXd, Eigen::MatrixXd>;
39 void gain(
const Eigen::VectorXd & kp);
41 void gain(
const Eigen::MatrixXd & kp);
50 {
return mpark::get<T>(kp_); }
64 {
return mpark::get<T>(kp_); }
82 const Eigen::VectorXd & rhs)
const override;
#define TASK_DYNAMICS_DERIVED_FACTORY(...)
Definition: TaskDynamics.h:62
#define TVM_DLLAPI
Definition: api.h:35
Definition: Proportional.h:29
void updateValue() override
T & gain()
Definition: Proportional.h:63
Impl(FunctionPtr f, constraint::Type t, const Eigen::VectorXd &rhs, const Gain &kp)
void gain(const Eigen::VectorXd &kp)
const T & gain() const
Definition: Proportional.h:49
void gain(const Eigen::MatrixXd &kp)
const Gain & gain() const
Definition: Proportional.h:24
std::unique_ptr< abstract::TaskDynamicsImpl > impl_(FunctionPtr f, constraint::Type t, const Eigen::VectorXd &rhs) const override
Proportional(const Eigen::MatrixXd &kp)
Order order_() const override
Proportional(const Eigen::VectorXd &kp)
~Proportional() override=default
mpark::variant< double, Eigen::VectorXd, Eigen::MatrixXd > Gain
Definition: Proportional.h:26
Definition: TaskDynamicsImpl.h:33
Definition: TaskDynamics.h:37
Type
Definition: enums.h:15
Order
Definition: enums.h:14
std::shared_ptr< function::abstract::Function > FunctionPtr
Definition: defs.h:57