14 namespace task_dynamics
72 Config(
double di,
double ds,
double xsi,
double xsiOff = 0,
double m = 0,
double lambda = 0);
107 const std::optional<VectorConstRef> & xsiOff = std::nullopt,
108 const std::optional<VectorConstRef> & m = std::nullopt,
109 const std::optional<VectorConstRef> & lambda = std::nullopt);
131 const Eigen::VectorXd & rhs,
133 const Eigen::VectorXd & di,
134 const Eigen::VectorXd & ds,
135 const Eigen::VectorXd & xsi,
140 const Eigen::VectorXd & rhs,
143 const Eigen::VectorXd & di,
144 const Eigen::VectorXd & ds,
145 const Eigen::VectorXd & xsi,
147 const Eigen::VectorXd & m,
148 const Eigen::VectorXd & lambda);
156 void updateValue_(
double s);
161 Eigen::VectorXd xsiOff_;
167 Eigen::VectorXd axsi_;
168 std::vector<bool> active_;
171 Eigen::VectorXd lambda_;
227 const Eigen::VectorXd & rhs)
const override;
230 template<
typename Derived,
typename... Args>
233 const Eigen::VectorXd & rhs,
234 Args &&... args)
const
238 return std::make_unique<Derived>(f, t, rhs, std::forward<Args>(args)..., dt_, autoXsi_, di_, ds_, xsi_, big_, m_,
241 return std::make_unique<Derived>(f, t, rhs, std::forward<Args>(args)..., autoXsi_, di_, ds_, xsi_, big_);
246 Eigen::VectorXd xsi_;
252 Eigen::VectorXd lambda_;
#define TVM_DLLAPI
Definition: api.h:35
Definition: VelocityDamper.h:86
Eigen::VectorXd lambda_
Definition: VelocityDamper.h:122
Eigen::VectorXd xsi_
Definition: VelocityDamper.h:119
AnisotropicConfig(const Config &config)
Eigen::VectorXd m_
Definition: VelocityDamper.h:121
Eigen::VectorXd di_
Definition: VelocityDamper.h:117
Eigen::VectorXd ds_
Definition: VelocityDamper.h:118
AnisotropicConfig(const VectorConstRef &di, const VectorConstRef &ds, const VectorConstRef &xsi, const std::optional< VectorConstRef > &xsiOff=std::nullopt, const std::optional< VectorConstRef > &m=std::nullopt, const std::optional< VectorConstRef > &lambda=std::nullopt)
Eigen::VectorXd xsiOff_
Definition: VelocityDamper.h:120
Definition: VelocityDamper.h:56
double xsi_
Definition: VelocityDamper.h:76
double lambda_
Definition: VelocityDamper.h:79
double ds_
Definition: VelocityDamper.h:75
double m_
Definition: VelocityDamper.h:78
double xsiOff_
Definition: VelocityDamper.h:77
Config(double di, double ds, double xsi, double xsiOff=0, double m=0, double lambda=0)
double di_
Definition: VelocityDamper.h:74
Definition: VelocityDamper.h:126
Impl(FunctionPtr f, constraint::Type t, const Eigen::VectorXd &rhs, double dt, bool autoXsi, const Eigen::VectorXd &di, const Eigen::VectorXd &ds, const Eigen::VectorXd &xsi, double big, const Eigen::VectorXd &m, const Eigen::VectorXd &lambda)
void updateValue() override
Impl(FunctionPtr f, constraint::Type t, const Eigen::VectorXd &rhs, bool autoXsi, const Eigen::VectorXd &di, const Eigen::VectorXd &ds, const Eigen::VectorXd &xsi, double big)
Definition: VelocityDamper.h:50
VelocityDamper(double dt, const AnisotropicConfig &config, double big=constant::big_number)
Velocity damper for second order dynamics.
VelocityDamper(double dt, const Config &config, double big=constant::big_number)
Velocity damper for second order dynamics.
~VelocityDamper() override=default
std::unique_ptr< abstract::TaskDynamicsImpl > impl_(FunctionPtr f, constraint::Type t, const Eigen::VectorXd &rhs) const override
Order order_() const override
VelocityDamper(const AnisotropicConfig &config, double big=constant::big_number)
Velocity damper for first order dynamics.
std::unique_ptr< abstract::TaskDynamicsImpl > impl_(FunctionPtr f, constraint::Type t, const Eigen::VectorXd &rhs, Args &&... args) const
Definition: VelocityDamper.h:231
VelocityDamper(const Config &config, double big=constant::big_number)
Velocity damper for first order dynamics.
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
Eigen::Ref< const Eigen::VectorXd > VectorConstRef
Definition: defs.h:50