Skip to content

Commit c793b5c

Browse files
committed
Fix minor bug in the limit enforcement
1 parent 6905e4e commit c793b5c

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

joint_limits/src/joint_range_limiter.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ bool JointSaturationLimiter<JointLimits, JointControlInterfacesData>::on_enforce
232232
const auto limits = compute_velocity_limits(
233233
joint_name, joint_limits, actual.position, prev_command_.velocity, dt_seconds);
234234
limits_enforced =
235-
limits_enforced || is_limited(desired.velocity.value(), limits.first, limits.second);
235+
is_limited(desired.velocity.value(), limits.first, limits.second) || limits_enforced;
236236
desired.velocity = std::clamp(desired.velocity.value(), limits.first, limits.second);
237237
}
238238

@@ -241,7 +241,7 @@ bool JointSaturationLimiter<JointLimits, JointControlInterfacesData>::on_enforce
241241
const auto limits =
242242
compute_effort_limits(joint_limits, actual.position, actual.velocity, dt_seconds);
243243
limits_enforced =
244-
limits_enforced || is_limited(desired.effort.value(), limits.first, limits.second);
244+
is_limited(desired.effort.value(), limits.first, limits.second) || limits_enforced;
245245
desired.effort = std::clamp(desired.effort.value(), limits.first, limits.second);
246246
}
247247

@@ -280,7 +280,7 @@ bool JointSaturationLimiter<JointLimits, JointControlInterfacesData>::on_enforce
280280
if (joint_limits.has_acceleration_limits)
281281
{
282282
limits_enforced =
283-
limits_enforced || apply_acc_or_dec_limit(joint_limits.max_acceleration, desired_acc);
283+
apply_acc_or_dec_limit(joint_limits.max_acceleration, desired_acc) || limits_enforced;
284284
}
285285
}
286286
desired.acceleration = desired_acc;
@@ -289,8 +289,8 @@ bool JointSaturationLimiter<JointLimits, JointControlInterfacesData>::on_enforce
289289
if (desired.has_jerk())
290290
{
291291
limits_enforced =
292-
limits_enforced ||
293-
is_limited(desired.jerk.value(), -joint_limits.max_jerk, joint_limits.max_jerk);
292+
is_limited(desired.jerk.value(), -joint_limits.max_jerk, joint_limits.max_jerk) ||
293+
limits_enforced;
294294
desired.jerk = std::clamp(desired.jerk.value(), -joint_limits.max_jerk, joint_limits.max_jerk);
295295
}
296296

0 commit comments

Comments
 (0)