Skip to content

Commit 51ddaa6

Browse files
committed
Update to changed message definition
1 parent b30fb33 commit 51ddaa6

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

ur_controllers/include/ur_controllers/force_mode_controller.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ struct ForceModeParameters
9393
std::array<double, 6> task_frame;
9494
std::array<double, 6> selection_vec;
9595
std::array<double, 6> limits;
96-
geometry_msgs::msg::WrenchStamped wrench;
96+
geometry_msgs::msg::Wrench wrench;
9797
double type;
9898
double damping_factor;
9999
double gain_scaling;

ur_controllers/src/force_mode_controller.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -200,17 +200,17 @@ controller_interface::return_type ur_controllers::ForceModeController::update(co
200200
force_mode_parameters->selection_vec[5]);
201201

202202
command_interfaces_[CommandInterfaces::FORCE_MODE_WRENCH_X].set_value(
203-
force_mode_parameters->wrench.wrench.force.x);
203+
force_mode_parameters->wrench.force.x);
204204
command_interfaces_[CommandInterfaces::FORCE_MODE_WRENCH_Y].set_value(
205-
force_mode_parameters->wrench.wrench.force.y);
205+
force_mode_parameters->wrench.force.y);
206206
command_interfaces_[CommandInterfaces::FORCE_MODE_WRENCH_Z].set_value(
207-
force_mode_parameters->wrench.wrench.force.z);
207+
force_mode_parameters->wrench.force.z);
208208
command_interfaces_[CommandInterfaces::FORCE_MODE_WRENCH_RX].set_value(
209-
force_mode_parameters->wrench.wrench.torque.x);
209+
force_mode_parameters->wrench.torque.x);
210210
command_interfaces_[CommandInterfaces::FORCE_MODE_WRENCH_RY].set_value(
211-
force_mode_parameters->wrench.wrench.torque.y);
211+
force_mode_parameters->wrench.torque.y);
212212
command_interfaces_[CommandInterfaces::FORCE_MODE_WRENCH_RZ].set_value(
213-
force_mode_parameters->wrench.wrench.torque.z);
213+
force_mode_parameters->wrench.torque.z);
214214

215215
command_interfaces_[CommandInterfaces::FORCE_MODE_LIMITS_X].set_value(force_mode_parameters->limits[0]);
216216
command_interfaces_[CommandInterfaces::FORCE_MODE_LIMITS_Y].set_value(force_mode_parameters->limits[1]);
@@ -276,12 +276,12 @@ bool ForceModeController::setForceMode(const ur_msgs::srv::SetForceMode::Request
276276

277277
/* The limits specifies the maximum allowed speed along/around compliant axes. For non-compliant axes this value is
278278
* the maximum allowed deviation between actual tcp position and the one that has been programmed. */
279-
force_mode_parameters.limits[0] = req->limits[0];
280-
force_mode_parameters.limits[1] = req->limits[1];
281-
force_mode_parameters.limits[2] = req->limits[2];
282-
force_mode_parameters.limits[3] = req->limits[3];
283-
force_mode_parameters.limits[4] = req->limits[4];
284-
force_mode_parameters.limits[5] = req->limits[5];
279+
force_mode_parameters.limits[0] = req->selection_vector_x ? req->speed_limits.linear.x : req->deviation_limits[0];
280+
force_mode_parameters.limits[1] = req->selection_vector_y ? req->speed_limits.linear.y : req->deviation_limits[1];
281+
force_mode_parameters.limits[2] = req->selection_vector_z ? req->speed_limits.linear.z : req->deviation_limits[2];
282+
force_mode_parameters.limits[3] = req->selection_vector_rx ? req->speed_limits.angular.x : req->deviation_limits[3];
283+
force_mode_parameters.limits[4] = req->selection_vector_ry ? req->speed_limits.angular.y : req->deviation_limits[4];
284+
force_mode_parameters.limits[5] = req->selection_vector_rz ? req->speed_limits.angular.z : req->deviation_limits[5];
285285

286286
/* The type decides how the robot interprets the force frame (the one defined in task_frame). See ur_script manual
287287
* for explanation, under force_mode. */

0 commit comments

Comments
 (0)