Browse Source

Moved nongeneric helper function into MobileBaseCommandGroup

pull/2/head
hello-binit 4 years ago
parent
commit
0efe5a7258
1 changed files with 18 additions and 19 deletions
  1. +18
    -19
      stretch_core/nodes/stretch_driver

+ 18
- 19
stretch_core/nodes/stretch_driver View File

@ -33,24 +33,6 @@ GRIPPER_DEBUG = False
BACKLASH_DEBUG = False BACKLASH_DEBUG = False
def bound_ros_command(bounds, ros_pos, clip_ros_tolerance):
# Clip the command with clip_ros_tolerance, instead of
# invalidating it, if it is close enough to the valid ranges.
if ros_pos < bounds[0]:
# Command is lower than the minimum value.
if (bounds[0] - ros_pos) < clip_ros_tolerance:
return bounds[0]
else:
return None
if ros_pos > bounds[1]:
# Command is greater than the maximum value.
if (ros_pos - bounds[1]) < clip_ros_tolerance:
return bounds[1]
else:
return None
return ros_pos
class SimpleCommandGroup: class SimpleCommandGroup:
def __init__(self, joint_name, acceptable_joint_error=0.015, clip_ros_tolerance=0.001): def __init__(self, joint_name, acceptable_joint_error=0.015, clip_ros_tolerance=0.001):
self.clip_ros_tolerance = clip_ros_tolerance self.clip_ros_tolerance = clip_ros_tolerance
@ -449,9 +431,26 @@ class MobileBaseCommandGroup:
return True return True
def bound_ros_command(self, bounds, ros_pos, clip_ros_tolerance):
# Clip the command with clip_ros_tolerance, instead of
# invalidating it, if it is close enough to the valid ranges.
if ros_pos < bounds[0]:
# Command is lower than the minimum value.
if (bounds[0] - ros_pos) < clip_ros_tolerance:
return bounds[0]
else:
return None
if ros_pos > bounds[1]:
# Command is greater than the maximum value.
if (ros_pos - bounds[1]) < clip_ros_tolerance:
return bounds[1]
else:
return None
return ros_pos
def ros_to_mechaduino(self, ros_ros, manipulation_origin): def ros_to_mechaduino(self, ros_ros, manipulation_origin):
bounds = self.mobile_base_virtual_joint_ros_range bounds = self.mobile_base_virtual_joint_ros_range
ros_pos = bound_ros_command(bounds, ros_ros, self.clip_ros_tolerance)
ros_pos = self.bound_ros_command(bounds, ros_ros, self.clip_ros_tolerance)
if ros_pos is None: if ros_pos is None:
return None return None
else: else:

Loading…
Cancel
Save