From 4b9be845feffb97d88b47aba827cb5833e59922f Mon Sep 17 00:00:00 2001 From: mistyreed63849 Date: Tue, 17 Dec 2024 01:18:46 +0800 Subject: [PATCH] update --- .../vab_omnigibson_src/utils/actions.py | 53 ++++++++++--------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/src/server/tasks/omnigibson/vab_omnigibson_src/utils/actions.py b/src/server/tasks/omnigibson/vab_omnigibson_src/utils/actions.py index 1b4b54a..06e9747 100644 --- a/src/server/tasks/omnigibson/vab_omnigibson_src/utils/actions.py +++ b/src/server/tasks/omnigibson/vab_omnigibson_src/utils/actions.py @@ -1,8 +1,9 @@ import numpy as np import omnigibson as og from utils.env_utils import * +delta=1.2 -def grasp(robot, grasped_obj, obj, all_objs, delta=2.7): +def grasp(robot, grasped_obj, obj, all_objs): if len(grasped_obj): return False, f"Cannot grasp! Robot already holds something!" @@ -15,7 +16,7 @@ def grasp(robot, grasped_obj, obj, all_objs, delta=2.7): dis = distance_to_cuboid(robot_pos[:2], (obj.aabb[0][:2], obj.aabb[1][:2])) if dis > delta: - return False, f"Cannot grasp! Robot is not within {delta} meters of the object!" + return False, f"Cannot grasp! The object is not within reach of the robot!" else: robot_pos[2] += robot.aabb_center[2] - 0.2 @@ -66,7 +67,7 @@ def move(robot, obj, pos, grasped_obj, all_objs): return True, "Moved successfully!" -def put_inside(robot, obj, grasped_obj, container, all_objs, delta=2.7): +def put_inside(robot, obj, grasped_obj, container, all_objs): if len(grasped_obj) == 0 or grasped_obj[0] != obj: return False, "Cannot put inside! Robot does not hold the object!" @@ -95,7 +96,7 @@ def put_inside(robot, obj, grasped_obj, container, all_objs, delta=2.7): dis = distance_to_cuboid(robot_pos, container.aabb) if dis > delta: - return False, f"Cannot put inside! Robot is not within {delta} meters of the container!" + return False, f"Cannot put inside! The container is not within reach of the robot!" else: @@ -140,7 +141,7 @@ def put_inside(robot, obj, grasped_obj, container, all_objs, delta=2.7): return True, "Put inside successfully!" -def put_on_top(robot, obj, grasped_obj, surface, all_objs, delta=2.7): +def put_on_top(robot, obj, grasped_obj, surface, all_objs): if len(grasped_obj) == 0 or grasped_obj[0] != obj: return False, "Cannot put on top! Robot does not hold the object!" @@ -163,7 +164,7 @@ def put_on_top(robot, obj, grasped_obj, surface, all_objs, delta=2.7): dis = distance_to_cuboid(robot_pos, surface.aabb) if dis > delta: - return False, f"Cannot put on top! Robot is not within {delta} meters of the surface!" + return False, f"Cannot put on top! The surface is not within reach of the robot!" else: @@ -208,7 +209,7 @@ def put_on_top(robot, obj, grasped_obj, surface, all_objs, delta=2.7): return True, "Put on top successfully!" -def put_under(robot, obj, grasped_obj, surface, all_objs, delta=2.7): +def put_under(robot, obj, grasped_obj, surface, all_objs): if len(grasped_obj) == 0 or grasped_obj[0] != obj: return False, "Cannot put under! Robot does not hold the object!" @@ -231,7 +232,7 @@ def put_under(robot, obj, grasped_obj, surface, all_objs, delta=2.7): dis = distance_to_cuboid(robot_pos, surface.aabb) if dis > delta: - return False, f"Cannot put under! Robot is not within {delta} meters of the surface!" + return False, f"Cannot put under! The surface is not within reach of the robot!" else: @@ -276,7 +277,7 @@ def put_under(robot, obj, grasped_obj, surface, all_objs, delta=2.7): return True, "Put under successfully!" -def put_next_to(robot, obj, grasped_obj, surface, all_objs, delta=2.7): +def put_next_to(robot, obj, grasped_obj, surface, all_objs): if len(grasped_obj) == 0 or grasped_obj[0] != obj: return False, "Cannot put next to! Robot doesn't hold the object!" @@ -294,7 +295,7 @@ def put_next_to(robot, obj, grasped_obj, surface, all_objs, delta=2.7): dis = distance_to_cuboid(robot_pos, surface.aabb) if dis > delta: - return False, f"Cannot put next to! Robot is not within {delta} meters of the object!" + return False, f"Cannot put next to! The object is not within reach of the robot!" else: @@ -336,7 +337,7 @@ def put_next_to(robot, obj, grasped_obj, surface, all_objs, delta=2.7): return True, "Put next to successfully!" -def cook(robot, obj, delta=2.7): +def cook(robot, obj): if og.object_states.Cooked not in obj.states: return False, "Cannot cook! Object is not cookable!" @@ -344,7 +345,7 @@ def cook(robot, obj, delta=2.7): robot_pos = robot.get_position() dis = distance_to_cuboid(robot_pos, obj.aabb) if dis > delta: - return False, f"Cannot cook! Robot is not within {delta} meters of the object!" + return False, f"Cannot cook! The object is not within reach of the robot!" else: obj.states[og.object_states.Cooked].set_value(True) @@ -353,7 +354,7 @@ def cook(robot, obj, delta=2.7): return True, "Cooked successfully!" -def burn(robot, obj, delta=2.7): +def burn(robot, obj): if og.object_states.Burnt not in obj.states: return False, "Cannot burn! Object is not burnable!" @@ -361,7 +362,7 @@ def burn(robot, obj, delta=2.7): robot_pos = robot.get_position() dis = distance_to_cuboid(robot_pos, obj.aabb) if dis > delta: - return False, f"Cannot burn! Robot is not within {delta} meters of the object!" + return False, f"Cannot burn! The object is not within reach of the robot!" else: obj.states[og.object_states.Burnt].set_value(True) @@ -370,7 +371,7 @@ def burn(robot, obj, delta=2.7): return True, "Burnt successfully!" -def freeze(robot, obj, delta=2.7): +def freeze(robot, obj): if og.object_states.Frozen not in obj.states: return False, "Cannot freeze! Object is not freezable!" @@ -378,7 +379,7 @@ def freeze(robot, obj, delta=2.7): robot_pos = robot.get_position() dis = distance_to_cuboid(robot_pos, obj.aabb) if dis > delta: - return False, f"Cannot freeze! Robot is not within {delta} meters of the object!" + return False, f"Cannot freeze! The object is not within reach of the robot!" else: obj.states[og.object_states.Frozen].set_value(True) @@ -387,7 +388,7 @@ def freeze(robot, obj, delta=2.7): return True, "Frozen successfully!" -def heat(robot, obj, delta=2.7): +def heat(robot, obj): if og.object_states.Heated not in obj.states: return False, "Cannot heat! Object is not heatable!" @@ -395,7 +396,7 @@ def heat(robot, obj, delta=2.7): robot_pos = robot.get_position() dis = distance_to_cuboid(robot_pos, obj.aabb) if dis > delta: - return False, f"Cannot heat! Robot is not within {delta} meters of the object!" + return False, f"Cannot heat! The object is not within reach of the robot!" else: obj.states[og.object_states.Heated].set_value(True) @@ -404,7 +405,7 @@ def heat(robot, obj, delta=2.7): return True, "Heated successfully!" -def open(robot, obj, delta=2.7): +def open(robot, obj): if og.object_states.Open not in obj.states: return False, "Cannot open! Object is not openable!" @@ -412,7 +413,7 @@ def open(robot, obj, delta=2.7): robot_pos = robot.get_position() dis = distance_to_cuboid(robot_pos, obj.aabb) if dis > delta: - return False, f"Cannot open! Robot is not within {delta} meters of the object!" + return False, f"Cannot open! The object is not within reach of the robot!" else: for _ in range(4): @@ -422,7 +423,7 @@ def open(robot, obj, delta=2.7): return True, "Opened successfully!" -def close(robot, obj, delta=2.7): +def close(robot, obj): if og.object_states.Open not in obj.states: return False, "Cannot close! Object is not openable!" @@ -430,7 +431,7 @@ def close(robot, obj, delta=2.7): robot_pos = robot.get_position() dis = distance_to_cuboid(robot_pos, obj.aabb) if dis > delta: - return False, f"Cannot close! Robot is not within {delta} meters of the object!" + return False, f"Cannot close! The object is not within reach of the robot!" else: obj.states[og.object_states.Open].set_value(False) @@ -439,7 +440,7 @@ def close(robot, obj, delta=2.7): return True, "Closed successfully!" -def toggle_on(robot, obj, delta=2.7): +def toggle_on(robot, obj): if og.object_states.ToggledOn not in obj.states: return False, "Cannot toggle on! Object is not toggleable!" @@ -448,7 +449,7 @@ def toggle_on(robot, obj, delta=2.7): obj_pos = obj.get_position() dis = distance_to_cuboid(robot_pos, obj.aabb) if dis > delta: - return False, f"Cannot toggle on! Robot is not within {delta} meters of the object!" + return False, f"Cannot toggle on! The object is not within reach of the robot!" else: obj.states[og.object_states.ToggledOn].set_value(True) @@ -457,7 +458,7 @@ def toggle_on(robot, obj, delta=2.7): return True, "Toggled on successfully!" -def toggle_off(robot, obj, delta=2.7): +def toggle_off(robot, obj): if og.object_states.ToggledOn not in obj.states: return False, "Cannot toggle off! Object is not toggleable!" @@ -466,7 +467,7 @@ def toggle_off(robot, obj, delta=2.7): obj_pos = obj.get_position() dis = distance_to_cuboid(robot_pos, obj.aabb) if dis > delta: - return False, f"Cannot toggle off! Robot is not within {delta} meters of the object!" + return False, f"Cannot toggle off! The object is not within reach of the robot!" else: obj.states[og.object_states.ToggledOn].set_value(False)