1#ifndef WBC_CONTROLLERS_CARTPOSPDCONTROLLER_HPP
2#define WBC_CONTROLLERS_CARTPOSPDCONTROLLER_HPP
41class CartesianPosPDController {
44 types::Twist control_out_vel;
45 types::SpatialAcceleration control_out_acc;
47 Eigen::VectorXd u_max;
48 Eigen::VectorXd p_gain;
49 Eigen::VectorXd d_gain;
50 Eigen::VectorXd ff_gain;
56 types::Twist pose_diff;
60 CartesianPosPDController();
62 const types::Twist& update(
const types::Pose& ref_pose,
63 const types::Twist& ref_twist,
64 const types::Pose& pose);
66 const types::SpatialAcceleration& update(
const types::Pose& ref_pose,
67 const types::Twist& ref_twist,
68 const types::SpatialAcceleration& ref_acc,
69 const types::Pose& pose,
70 const types::Twist& twist);
72 void setPGain(
const Eigen::VectorXd &gain);
74 const Eigen::VectorXd& pGain(){
return p_gain;}
76 void setDGain(
const Eigen::VectorXd &gain);
78 const Eigen::VectorXd& dGain(){
return d_gain;}
80 void setFFGain(
const Eigen::VectorXd &gain);
82 const Eigen::VectorXd& ffGain(){
return ff_gain;}
84 void setMaxCtrlOutput(
const Eigen::VectorXd &max_ctrl_out);
86 const Eigen::VectorXd& maxCtrlOutput(){
return u_max;}
95 void applySaturation(
const Eigen::VectorXd& in,
const Eigen::VectorXd& max, Eigen::VectorXd &out);
97using CartesianPosPDControllerPtr = std::shared_ptr<CartesianPosPDController>;
Definition ContactsAccelerationConstraint.cpp:3