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;
55 types::Twist pose_diff;
59 CartesianPosPDController();
61 const types::Twist& update(
const types::Pose& ref_pose,
62 const types::Twist& ref_twist,
63 const types::Pose& pose);
65 const types::SpatialAcceleration& update(
const types::Pose& ref_pose,
66 const types::Twist& ref_twist,
67 const types::SpatialAcceleration& ref_acc,
68 const types::Pose& pose,
69 const types::Twist& twist);
71 void setPGain(
const Eigen::VectorXd &gain);
73 const Eigen::VectorXd& pGain(){
return p_gain;}
75 void setDGain(
const Eigen::VectorXd &gain);
77 const Eigen::VectorXd& dGain(){
return d_gain;}
79 void setMaxCtrlOutput(
const Eigen::VectorXd &max_ctrl_out);
81 const Eigen::VectorXd& maxCtrlOutput(){
return u_max;}
90 void applySaturation(
const Eigen::VectorXd& in,
const Eigen::VectorXd& max, Eigen::VectorXd &out);
92using CartesianPosPDControllerPtr = std::shared_ptr<CartesianPosPDController>;
Definition ContactsAccelerationConstraint.cpp:3