-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/guarded motion added distance until edge up #1199
base: master
Are you sure you want to change the base?
Feature/guarded motion added distance until edge up #1199
Conversation
0b3163d
to
07468c5
Compare
07468c5
to
d399630
Compare
robot_skills/src/robot_skills/functionalities/arm/guarded_motion.py
Outdated
Show resolved
Hide resolved
robot_skills/src/robot_skills/functionalities/arm/guarded_motion.py
Outdated
Show resolved
Hide resolved
robot_skills/src/robot_skills/functionalities/arm/guarded_motion.py
Outdated
Show resolved
Hide resolved
|
||
# Sets the joint state to move down a certain distance (or 0 if distance is not set) | ||
if distance_move_down is not None: | ||
current_joint_state['arm_lift_joint'] = max(0, current_joint_state['arm_lift_joint'] - distance_move_down) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0 should be the lower limit of the joint.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0 is the lowest the arm lift joint state value can be. With the distance_move_down it can be greater than 0
robot_skills/src/robot_skills/functionalities/arm/guarded_motion.py
Outdated
Show resolved
Hide resolved
for part in arm.parts: | ||
if isinstance(arm.parts[part], ForceSensor): | ||
return True | ||
return False | ||
|
||
|
||
def move_down_until_force_sensor_edge_up(self, force_sensor=None, timeout=10, retract_distance=0.01): | ||
def move_down_until_force_sensor_edge_up(self, force_sensor=None, timeout=10, retract_distance=0.01, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the final position is more interesting than the distance to move down.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, I thought of adding the distance to move down first before working on the final position since this requires to calculate at what height the force sensor is. I think the final point is an interesting feature for me to work on in the future
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is already an improvement over the previous version, although I agree with matthijs that the other functionality would be preffered in the long run.
force_sensor = self.parts["force_sensor"] | ||
|
||
# Fill with required joint names (desired in hardware / gazebo impl) | ||
goal = self._create_lower_force_sensing_goal(timeout) | ||
goal = self._create_lower_force_sensing_goal(distance_move_down, timeout) | ||
self._ac_joint_traj.send_goal(goal) | ||
|
||
force_sensor.wait_for_edge_up(timeout) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The behaviour we currently create will wait for the timeout if its end goal is reached. So it might be waiting at the lower position without continuing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is acceptable
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't this the same behaviour as before? but with a different distance to move down.
I suggest that we decide before continuing:
|
move_down_until_force_sensor_edge_up
inguarded_motion.py
andarms.py
so that the travel distance until an edge up is customizableguarded_motion.py
move_down_until_force_sensor_edge_up