Spaces:
Runtime error
Runtime error
import numpy as np | |
from env_utils import get_obj_pos, parse_position | |
from utils import get_obj_positions_np | |
objects = ['blue block', 'cyan block', 'purple bowl', 'gray bowl', 'brown bowl', 'pink block', 'purple block'] | |
# the block closest to the purple bowl. | |
block_names = ['blue block', 'cyan block', 'purple block'] | |
closest_block_idx = get_closest_idx(points=get_obj_positions_np(block_names), point=get_obj_pos('purple bowl')) | |
closest_block_name = block_names[closest_block_idx] | |
ret_val = closest_block_name | |
objects = ['brown bowl', 'banana', 'brown block', 'apple', 'blue bowl', 'blue block'] | |
# the blocks. | |
ret_val = ['brown block', 'blue block'] | |
objects = ['brown bowl', 'banana', 'brown block', 'apple', 'blue bowl', 'blue block'] | |
# the brown objects. | |
ret_val = ['brown bowl', 'brown block'] | |
objects = ['brown bowl', 'banana', 'brown block', 'apple', 'blue bowl', 'blue block'] | |
# a fruit that's not the apple | |
fruit_names = ['banana', 'apple'] | |
for fruit_name in fruit_names: | |
if fruit_name != 'apple': | |
ret_val = fruit_name | |
objects = ['blue block', 'cyan block', 'purple bowl', 'brown bowl', 'purple block'] | |
# blocks above the brown bowl. | |
block_names = ['blue block', 'cyan block', 'purple block'] | |
brown_bowl_pos = get_obj_pos('brown bowl') | |
use_block_names = [] | |
for block_name in block_names: | |
if get_obj_pos(block_name)[1] > brown_bowl_pos[1]: | |
use_block_names.append(block_name) | |
ret_val = use_block_names | |
objects = ['blue block', 'cyan block', 'purple bowl', 'brown bowl', 'purple block'] | |
# the blue block. | |
ret_val = 'blue block' | |
objects = ['blue block', 'cyan block', 'purple bowl', 'brown bowl', 'purple block'] | |
# the block closest to the bottom right corner. | |
corner_pos = parse_position('bottom right corner') | |
block_names = ['blue block', 'cyan block', 'purple block'] | |
closest_block_idx = get_closest_idx(points=get_obj_positions_np(block_names), point=corner_pos) | |
closest_block_name = block_names[closest_block_idx] | |
ret_val = closest_block_name | |
objects = ['brown bowl', 'green block', 'brown block', 'green bowl', 'blue bowl', 'blue block'] | |
# the left most block. | |
block_names = ['green block', 'brown block', 'blue block'] | |
left_block_idx = np.argsort(get_obj_positions_np(block_names)[:, 0])[0] | |
left_block_name = block_names[left_block_idx] | |
ret_val = left_block_name | |
objects = ['brown bowl', 'green block', 'brown block', 'green bowl', 'blue bowl', 'blue block'] | |
# the bowl on near the top. | |
bowl_names = ['brown bowl', 'green bowl', 'blue bowl'] | |
top_bowl_idx = np.argsort(get_obj_positions_np(bowl_names)[:, 1])[-1] | |
top_bowl_name = bowl_names[top_bowl_idx] | |
ret_val = top_bowl_name | |
objects = ['yellow bowl', 'purple block', 'yellow block', 'purple bowl', 'pink bowl', 'pink block'] | |
# the third bowl from the right. | |
bowl_names = ['yellow bowl', 'purple bowl', 'pink bowl'] | |
bowl_idx = np.argsort(get_obj_positions_np(bowl_names)[:, 0])[-3] | |
bowl_name = bowl_names[bowl_idx] | |
ret_val = bowl_name |