예제 #1
0
def add_cylinder(world, color_name, idx=0, **kwargs):
    name = name_from_type(color_name, idx)
    body = create_cylinder(radius=0.07 / 2,
                           height=0.14,
                           color=COLOR_FROM_NAME[color_name])
    world.add(name, body)
    # pose2d_on_surface(world, name, COUNTERS[0], **kwargs)
    return name
예제 #2
0
def add_box(world, color_name, idx=0, **kwargs):
    name = name_from_type(color_name, idx)
    # TODO: geometry type
    body = create_box(w=0.07,
                      l=0.07,
                      h=0.14,
                      color=COLOR_FROM_NAME[color_name])
    world.add(name, body)
    # pose2d_on_surface(world, name, COUNTERS[0], **kwargs)
    return name
예제 #3
0
def add_block(world, idx=0, **kwargs):
    # TODO: automatically produce a unique name
    color = 'green'
    #block_type = '{}_block'.format(color)
    block_type = 'block'.format(color)
    #block_type = BLOCK_TEMPLATE.format(BLOCK_SIZES[-1], BLOCK_COLORS[0])
    #block_type = 'potted_meat_can'
    name = name_from_type(block_type, idx)
    #world.add_body(name)
    #print(get_aabb_extent(get_aabb(world.get_body(name))))
    side = BIG_BLOCK_SIDE
    body = create_box(w=side, l=side, h=side, color=COLOR_FROM_NAME[color])
    world.add(name, body)
    pose2d_on_surface(world, name, COUNTERS[0], **kwargs)
    return name
예제 #4
0
def add_ycb(world, ycb_type, idx=0, **kwargs):
    name = name_from_type(ycb_type, idx)
    world.add_body(name, color=np.ones(4))
    pose2d_on_surface(world, name, COUNTERS[0], **kwargs)
    return name