45 const std::optional<Vector7d> &
stiffness,
const std::optional<Vector7d> &
damping = std::nullopt)
116 gains_handle_.set(gains);
122 cartesian_gains_handle_.set(gains);
129 double gains_time_constant = 0.1);
139 struct CartesianShapingState {
143 std::optional<Matrix6d> critical_damping_stiffness;
148 static const Matrix6d &criticalShapingDamping(CartesianShapingState &shaping);
152 double gains_time_constant_;
155 std::optional<CartesianShapingState> cartesian_shaping_;
Base class for client-side joint impedance motions.
Definition joint_impedance_base.hpp:108
void setCartesianGains(const CartesianImpedanceGains &gains)
Definition joint_impedance_base.hpp:120
Vector7d target_
Definition joint_impedance_base.hpp:135
franka::Torques computeCommand(const RobotState &robot_state, const JointReference &reference, double dt)
Definition joint_impedance_base.cpp:45
JointImpedanceParams params_
Definition joint_impedance_base.hpp:134
void setGains(const JointImpedanceGains &gains)
Definition joint_impedance_base.hpp:114
const Vector7d & target_velocity() const
Definition joint_impedance_base.hpp:111
const Vector7d & target() const
Definition joint_impedance_base.hpp:110
const JointImpedanceParams & params() const
Definition joint_impedance_base.hpp:112
Vector7d target_velocity_
Definition joint_impedance_base.hpp:136
JointImpedanceGains getGains() const
Definition joint_impedance_base.hpp:118
CartesianImpedanceGains getCartesianGains() const
Definition joint_impedance_base.hpp:124
Base class for motions.
Definition motion.hpp:25
Wait-free, Single-Producer Single-Consumer (SPSC) triple buffer.
Definition wait_free_triple_buffer.hpp:17
Definition dynamics_limit.cpp:8
Vector7d defaultJointImpedanceDamping()
Definition joint_impedance_base.hpp:18
Eigen::Vector< double, 7 > Vector7d
Definition types.hpp:11
void validateNonNegativeFinite(double value, const char *name)
Throw std::invalid_argument if value is negative or non-finite.
Definition torque_control_utils.hpp:16
Eigen::Matrix< double, 6, 6 > Matrix6d
Definition types.hpp:14
void validateFinite(const Eigen::MatrixBase< Derived > &values, const char *name)
Throw std::invalid_argument if any element of values is non-finite.
Definition torque_control_utils.hpp:26
Vector7d defaultJointImpedanceStiffness()
Definition joint_impedance_base.hpp:14
Definition cartesian_impedance_base.hpp:65
void validate() const
Throw std::invalid_argument if any gain is non-finite.
Definition cartesian_impedance_base.hpp:100
Definition torque_control_utils.hpp:66
void validate() const
Throw std::invalid_argument if any parameter is out of range.
Definition torque_control_utils.hpp:92
Definition joint_impedance_base.hpp:41
void validate() const
Throw std::invalid_argument if any gain is negative or non-finite.
Definition joint_impedance_base.hpp:55
Vector7d damping
Definition joint_impedance_base.hpp:52
JointImpedanceGains(const std::optional< Vector7d > &stiffness, const std::optional< Vector7d > &damping=std::nullopt)
Definition joint_impedance_base.hpp:44
Vector7d stiffness
Definition joint_impedance_base.hpp:51
JointImpedanceGains()=default
Parameters for joint impedance motions.
Definition joint_impedance_base.hpp:64
bool compensate_coriolis
Definition joint_impedance_base.hpp:78
Vector7d error_clip
Definition joint_impedance_base.hpp:72
void validate() const
Throw std::invalid_argument if any parameter is out of range.
Definition joint_impedance_base.hpp:90
FrictionCompensationParams friction
Definition joint_impedance_base.hpp:84
Vector7d stiffness
Definition joint_impedance_base.hpp:66
Vector7d constant_torque_offset
Definition joint_impedance_base.hpp:75
Vector7d damping
Definition joint_impedance_base.hpp:69
std::optional< CartesianImpedanceGains > cartesian_gains
Definition joint_impedance_base.hpp:87
TorqueSafetyParams safety
Definition joint_impedance_base.hpp:81
Joint-space reference for joint impedance motions.
Definition joint_impedance_base.hpp:28
Vector7d dq
Definition joint_impedance_base.hpp:30
Vector7d tau_ff
Definition joint_impedance_base.hpp:31
Vector7d q
Definition joint_impedance_base.hpp:29
void validate() const
Throw std::invalid_argument if any value is non-finite.
Definition joint_impedance_base.hpp:34
Full state of the robot.
Definition robot_state.hpp:40
Definition torque_control_utils.hpp:43