Ejemplo n.º 1
0
def get_link_obstacles(world, link_name):
    if link_name in world.movable:
        return flatten_links(world.get_body(link_name))
    elif has_link(world.kitchen, link_name):
        link = link_from_name(world.kitchen, link_name)
        return flatten_links(world.kitchen, get_link_subtree(world.kitchen, link)) # subtree?
    assert link_name in SURFACE_FROM_NAME
    return set()
Ejemplo n.º 2
0
 def bodies(self):
     return flatten_links(self.robot, get_moving_links(self.robot, self.robot_joints)) | \
            flatten_links(self.world.kitchen, get_moving_links(self.world.kitchen, self.door_joints))
Ejemplo n.º 3
0
 def bodies(self):
     bodies = set(super(ApproachTrajectory,
                        self).bodies)  # TODO: rename to bodies
     for name in self.objects:
         bodies.update(flatten_links(self.world.get_body(name)))
     return bodies
Ejemplo n.º 4
0
 def bodies(self):
     # TODO: decompose into dependents and moving?
     return flatten_links(self.robot,
                          get_moving_links(self.robot, self.joints))