Spaces:
Sleeping
Sleeping
import numpy as np | |
from plan_utils import get_empty_rotation_map, set_voxel_by_radius, cm2index, vec2quat | |
from perception_utils import parse_query_obj | |
# Query: face the green block. | |
rotation_map = get_empty_rotation_map() | |
green_block = parse_query_obj('green block') | |
target_rotation = vec2quat(-green_block.normal) | |
rotation_map[:, :, :] = target_rotation | |
ret_val = rotation_map | |
# Query: face the table when within 30cm from table center. | |
rotation_map = get_empty_rotation_map() | |
table = parse_query_obj('table') | |
table_center = table.position | |
target_rotation = vec2quat(-table.normal) | |
set_voxel_by_radius(rotation_map, table_center, radius_cm=30, value=target_rotation) | |
ret_val = rotation_map | |
# Query: face the topmost drawer handle. | |
rotation_map = get_empty_rotation_map() | |
topmost_drawer_handle = parse_query_obj('topmost drawer handle') | |
target_rotation = vec2quat(-topmost_drawer_handle.normal) | |
rotation_map[:, :, :] = target_rotation | |
ret_val = rotation_map |