CartesianImpedanceControlCommandBuilder#
rb::CartesianImpedanceControlCommandBuilder is the most feature-rich
task-space compliance primitive. It extends the Cartesian command path with
joint limits, joint stiffness, nullspace targets, and reset behavior.
Header
Header |
|
Declaration
Namespace |
|
Kind |
|
Primary role |
Hold a Cartesian impedance request with richer task and nullspace data. |
Public Member Functions
Method |
Purpose |
Notes |
|---|---|---|
|
Attach shared header metadata. |
Uses CommandHeaderBuilder. |
|
Add task-space and optional joint-space targets. |
|
|
Configure nullspace and impedance terms. |
These are the main additions over |
|
Control nullspace bias and reference reset behavior. |
Useful in long-running Cartesian tasks. |
|
Set time and stop thresholds. |
Covers position, orientation, and joint-position errors. |
Key Numeric Parameters
Method |
Unit / encoding |
Notes |
|---|---|---|
|
|
Minimum execution time. |
|
|
|
|
|
Auxiliary joint target used by the optimization stage. |
|
|
|
|
|
Stop threshold on translational error. |
|
|
Stop threshold on rotational error. |
|
|
Stop threshold on joint-position error. |
|
|
Per-joint stiffness values. |
|
|
Per-joint torque saturation values. |
|
Dimensionless |
Joint damping ratio used to derive the damping matrix. |
Detailed Reference
-
class CartesianImpedanceControlCommandBuilder#
Public Functions
-
CartesianImpedanceControlCommandBuilder()#
-
~CartesianImpedanceControlCommandBuilder()#
-
CartesianImpedanceControlCommandBuilder &AddJointLimit(const std::string &joint_name, double lower, double upper)#
-
CartesianImpedanceControlCommandBuilder &AddJointPositionTarget(const std::string &joint_name, double target_position, std::optional<double> velocity_limit = std::nullopt, std::optional<double> acceleration_limit = std::nullopt)#
-
CartesianImpedanceControlCommandBuilder &AddTarget(const std::string &ref_link_name, const std::string &link_name, const math::SE3::MatrixType &T, std::optional<double> linear_velocity_limit = std::nullopt, std::optional<double> angular_velocity_limit = std::nullopt, std::optional<double> linear_acceleration_limit = std::nullopt, std::optional<double> angular_acceleration_limit = std::nullopt)#
-
CartesianImpedanceControlCommandBuilder &SetCommandHeader(const CommandHeaderBuilder &builder)#
-
CartesianImpedanceControlCommandBuilder &SetJointDampingRatio(double damping_ratio)#
-
CartesianImpedanceControlCommandBuilder &SetJointStiffness(const Eigen::VectorXd &stiffness)#
-
CartesianImpedanceControlCommandBuilder &SetJointTorqueLimit(const Eigen::VectorXd &torque_limit)#
-
CartesianImpedanceControlCommandBuilder &SetMinimumTime(double minium_time)#
-
CartesianImpedanceControlCommandBuilder &SetNullspaceJointTarget(const Eigen::VectorXd &target_position, const Eigen::VectorXd &weight, std::optional<double> k_p = std::nullopt, std::optional<double> k_d = std::nullopt, std::optional<double> cost_weight = std::nullopt)#
-
CartesianImpedanceControlCommandBuilder &SetResetReference(bool reset_reference)#
-
CartesianImpedanceControlCommandBuilder &SetStopJointPositionTrackingError(double stop_joint_position_tracking_error)#
-
CartesianImpedanceControlCommandBuilder &SetStopOrientationTrackingError(double stop_orientation_tracking_error)#
-
CartesianImpedanceControlCommandBuilder &SetStopPositionTrackingError(double stop_position_tracking_error)#
-
CartesianImpedanceControlCommandBuilder()#
Related Types
Examples
gravity_compensation.cpp