File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -508,6 +508,20 @@ class Robot
508
508
*/
509
509
void SetJointImpedance (const std::vector<double >& K_q, const std::vector<double >& Z_q = {});
510
510
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
+
511
525
// ================================== DIRECT CARTESIAN CONTROL ==================================
512
526
/* *
513
527
* @brief [Non-blocking] Continuously stream Cartesian motion and/or force command for the robot
You can’t perform that action at this time.
0 commit comments