-
Notifications
You must be signed in to change notification settings - Fork 0
Temp2 #4
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
base: main
Are you sure you want to change the base?
Temp2 #4
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,7 +11,7 @@ | |
from scipy.spatial.transform import Rotation | ||
|
||
from spot_skills.arm_utils import gaze_at_vision_pose | ||
from spot_skills.grasp_utils import object_grasp, object_place | ||
from spot_skills.grasp_utils import object_grasp_YOLO, object_place | ||
from spot_skills.navigation_utils import ( | ||
follow_trajectory_continuous, | ||
turn_to_point, | ||
|
@@ -92,12 +92,14 @@ def execute_gaze(self, command, feedback, pick_next=False): | |
|
||
def execute_pick(self, command, feedback): | ||
feedback.print("INFO", "Executing `pick` command") | ||
success = object_grasp( | ||
self.spot_interface, | ||
semantic_class=command.object_class, | ||
labelspace_map=self.labelspace_map, | ||
debug=self.debug, | ||
) | ||
# success = object_grasp( | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If we have at least some faith that object_grasp_YOLO works / will work soon, we should delete this commented out part. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think command should have a type 'command.model_type' that calls the correct grasp function. Perhaps the ideal situation is for a single grasp function to exist. |
||
# self.spot_interface, | ||
# semantic_class=command.object_class, | ||
# labelspace_map=self.labelspace_map, | ||
# debug=self.debug, | ||
# ) | ||
|
||
success = object_grasp_YOLO(self.spot_interface, command.object_class) | ||
|
||
if self.debug: | ||
success, debug_images = success | ||
|
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.
Can we handle these paths a little more generally? I think we should either 1) Make the path optional (e.g., default to
None
), and skip loading the yolo model when it's not set. This might be useful if we want to be able to run Spot's non-pick skills without having to load yolo / set the weights, or 2) Make the path not optional. And then either way the hard-coded RRG path can live higher-up (in the test_spot or something?)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 the path should be optional, but I'm not sure how best to handle setting the classes for YOLOWorld. Two options include (1) loading in a file that sets the class ahead of time in the Spot init function and (2) setting the classes to be the object that is being picked up each time the grasp function gets called. If we know what objects we want to classify ahead of time, (1) makes more sense. (2) will require unnecessary computation.