Skip to content

Commit bba4e52

Browse files
committed
Add Robot::SetMaxContactTorque()
1 parent 3a50e4e commit bba4e52

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

include/flexiv/rdk/robot.hpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,20 @@ class Robot
508508
*/
509509
void SetJointImpedance(const std::vector<double>& K_q, const std::vector<double>& Z_q = {});
510510

511+
/**
512+
* @brief [Blocking] Set maximum contact torque for the robot's joint motion controller used in
513+
* the joint impedance control modes. The controller will regulate its output to maintain
514+
* contact torque with the environment under the set values.
515+
* @param[in] max_torque Maximum contact torque: \f$ T_q \in \mathbb{R}^{n \times 1} \f$.
516+
* Setting maximum contact torque of a joint axis to 0 will make this axis free-floating.
517+
* Valid range: [0, RobotInfo::tau_max]. Unit: \f$ [Nm] \f$.
518+
* @throw std::invalid_argument if [max_torque] contains any negative value.
519+
* @throw std::logic_error if robot is not in an applicable control mode.
520+
* @note Applicable control modes: RT_JOINT_IMPEDANCE, NRT_JOINT_IMPEDANCE.
521+
* @note This function blocks until the request is successfully delivered.
522+
*/
523+
void SetMaxContactTorque(const std::vector<double>& max_torque);
524+
511525
//================================== DIRECT CARTESIAN CONTROL ==================================
512526
/**
513527
* @brief [Non-blocking] Continuously stream Cartesian motion and/or force command for the robot

0 commit comments

Comments
 (0)