Go to the documentation of this file.
41 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
76 double stiffness = 5.0,
77 double weight = 1000.0);
86 void reset()
override;
91 const sva::ForceVecd &
admittance()
const {
return admittance_; }
101 sva::PTransformd
surfacePose()
const {
return frame_->position(); }
111 void targetPose(
const sva::PTransformd & X_0_target) { this->target(X_0_target); }
114 sva::PTransformd
poseError() {
return targetPose() * surfacePose().inv(); }
123 void targetWrenchW(
const sva::ForceVecd & wrenchW) { targetWrench(frame_->position().dualMul(wrenchW)); }
130 void targetWrench(
const sva::ForceVecd & wrench) { targetWrench_ = wrench; }
138 if((maxLinearVel.array() <= 0.).any())
144 maxLinearVel_ = maxLinearVel;
148 const Eigen::Vector3d &
maxLinearVel() const noexcept {
return maxLinearVel_; }
153 if((maxAngularVel.array() <= 0.).any())
159 maxAngularVel_ = maxAngularVel;
163 const Eigen::Vector3d &
maxAngularVel() const noexcept {
return maxAngularVel_; }
187 void refVelB(
const sva::MotionVecd & velB) { feedforwardVelB_ = velB; }
193 Eigen::Vector3d maxAngularVel_ = {0.1, 0.1, 0.1};
194 Eigen::Vector3d maxLinearVel_ = {0.1, 0.1, 0.1};
196 double velFilterGain_ = 0.8;
197 sva::ForceVecd admittance_ = sva::ForceVecd(Eigen::Vector6d::Zero());
198 sva::ForceVecd targetWrench_ = sva::ForceVecd(Eigen::Vector6d::Zero());
199 sva::ForceVecd wrenchError_ = sva::ForceVecd(Eigen::Vector6d::Zero());
200 sva::MotionVecd feedforwardVelB_ = sva::MotionVecd(Eigen::Vector6d::Zero());
201 sva::MotionVecd refVelB_ = sva::MotionVecd(Eigen::Vector6d::Zero());
Simplify access to values hold within a JSON file.
Definition: Configuration.h:165
void maxAngularVel(const Eigen::Vector3d &maxAngularVel)
Set the maximum angular velocity of the task.
Definition: AdmittanceTask.h:151
#define MC_TASKS_DLLAPI
Definition: api.h:50
sva::ForceVecd measuredWrench() const
Get the measured wrench in the control frame.
Definition: AdmittanceTask.h:133
const Eigen::Vector3d & maxLinearVel() const noexcept
Definition: AdmittanceTask.h:148
Definition: QPSolver.h:85
void admittance(const sva::ForceVecd &admittance)
Set the admittance coefficients of the task.
Definition: AdmittanceTask.h:98
sva::PTransformd surfacePose() const
Get the current pose of the control frame in the inertial frame.
Definition: AdmittanceTask.h:101
void targetWrenchW(const sva::ForceVecd &wrenchW)
Set the target wrench in world frame.
Definition: AdmittanceTask.h:123
sva::PTransformd targetPose()
Get the target pose of the control frame in the world frame.
Definition: AdmittanceTask.h:104
const sva::ForceVecd & admittance() const
Get the admittance coefficients of the task.
Definition: AdmittanceTask.h:91
void maxLinearVel(const Eigen::Vector3d &maxLinearVel)
Set the maximum translation velocity of the task.
Definition: AdmittanceTask.h:136
void targetPose(const sva::PTransformd &X_0_target)
Set target pose (position and orientation) of the frame in the world frame.
Definition: AdmittanceTask.h:111
Logs controller data to disk.
Definition: Logger.h:29
void targetWrench(const sva::ForceVecd &wrench)
Set the target wrench in the control frame.
Definition: AdmittanceTask.h:130
Definition: RobotFrame.h:21
Definition: StateBuilder.h:27
double clamp(double value, double lower, double upper)
Definition: clamp.h:29
sva::PTransformd poseError()
Transform from current frame pose to target.
Definition: AdmittanceTask.h:114
double velFilterGain() const noexcept
Return the gain of the low-pass filter on the reference velocity.
Definition: AdmittanceTask.h:172
void error(Args &&... args)
Definition: logging.h:63
void velFilterGain(double gain)
Set the gain of the low-pass filter on the reference velocity.
Definition: AdmittanceTask.h:169
Hybrid position-force control on a contacting end-effector.
Definition: AdmittanceTask.h:38
Definition: StabilizerStandingState.h:11
void refVelB(const sva::MotionVecd &velB)
Set the reference body velocity.
Definition: AdmittanceTask.h:187
const Eigen::Vector3d & maxAngularVel() const noexcept
Definition: AdmittanceTask.h:163
const sva::ForceVecd & targetWrench() const
Get the target wrench in the control frame.
Definition: AdmittanceTask.h:117
double timestep_
Definition: AdmittanceTask.h:195