Robot Assembler Extension [omni.isaac.robot_assembler]
Robot Assembler
- class RobotAssembler
 - static move_articulation_root(src_prim, tgt_prim)
 Move the articulation root from src to tgt
- is_root_joint(prim)
 
- mask_collisions(prim_path_a: str, prim_path_b: str) pxr.Usd.Relationship
 Mask collisions between two prims. All nested prims will also be included.
- Parameters
 prim_path_a (str) – Path to a prim
prim_path_b (str) – Path to a prim
- Returns
 A relationship filtering collisions between prim_path_a and prim_path_b
- Return type
 Usd.Relationship
- assemble_rigid_bodies(base_path: str, attach_path: str, base_mount_frame: str, attach_mount_frame: str, fixed_joint_offset: numpy.array = array([0., 0., 0.]), fixed_joint_orient: numpy.array = array([1, 0, 0, 0]), mask_all_collisions: bool = True) omni.isaac.robot_assembler.robot_assembler.AssembledBodies
 Assemble two rigid bodies into one physical structure
- Parameters
 base_robot_path (str) – Path to base robot.
attach_robot_path (str) – Path to attach robot. The attach robot will be unrooted from the stage and attached only to the base robot
base_robot_mount_frame (str) – Relative path to frame in base robot where there is the desired attach point.
attach_robot_mount_frame (str) – Relative path to frame in the attach robot where there is the desired attach point.
fixed_joint_offset (np.array, optional) – Fixed offset between attach points. Defaults to np.zeros(3).
fixed_joint_orient (np.array, optional) – Fixed orientation between attach points. Defaults to np.array([1, 0, 0, 0]).
mask_all_collisions (bool, optional) – Mask all collisions between attach robot and base robot. This is necessary when setting single_robot=False to prevent Physics constraint violations from the new fixed joint. Advanced users may set this flag to False and use the mask_collisions() function separately for more customizable behavior. Defaults to True.
- Returns
 An object representing the assembled bodies. This object can detach the composed robots and edit the fixed joint transform.
- Return type
 
- assemble_articulations(base_robot_path: str, attach_robot_path: str, base_robot_mount_frame: str, attach_robot_mount_frame: str, fixed_joint_offset: numpy.array = array([0., 0., 0.]), fixed_joint_orient: numpy.array = array([1, 0, 0, 0]), mask_all_collisions=True, single_robot=False) omni.isaac.robot_assembler.robot_assembler.AssembledRobot
 Compose two robots into one physical structure
- Parameters
 base_robot_path (str) – Path to base robot.
attach_robot_path (str) – Path to attach robot. The attach robot will be unrooted from the stage and attached only to the base robot
base_robot_mount_frame (str) – Relative path to frame in base robot where there is the desired attach point.
attach_robot_mount_frame (str) – Relative path to frame in the attach robot where there is the desired attach point.
fixed_joint_offset (np.array, optional) – Fixed offset between attach points. Defaults to np.zeros(3).
fixed_joint_orient (np.array, optional) – Fixed orientation between attach points. Defaults to np.array([1, 0, 0, 0]).
mask_all_collisions (bool, optional) – Mask all collisions between attach robot and base robot. This is necessary when setting single_robot=False to prevent Physics constraint violations from the new fixed joint. Advanced users may set this flag to False and use the mask_collisions() function separately for more customizable behavior. Defaults to True.
single_robot (bool, optional) – If True: control the resulting composed robots as a single robot Articulation at base_robot_path. Setting this flag to True may resolve unstable physics behavior when teleporting the robot base. Defaults to False.
- Returns
 An object representing the assembled robot. This object can detach the composed robots and edit the fixed joint transform.
- Return type
 
- create_fixed_joint(prim_path: str, target0: Optional[str] = None, target1: Optional[str] = None, fixed_joint_offset: numpy.array = array([0., 0., 0.]), fixed_joint_orient: numpy.array = array([1, 0, 0, 0])) pxr.UsdPhysics.FixedJoint
 Create a fixed joint between two bodies
- Parameters
 prim_path (str) – Prim path at which to place new fixed joint.
target0 (str, optional) – Prim path of frame at which to attach fixed joint. Defaults to None.
target1 (str, optional) – Prim path of frame at which to attach fixed joint. Defaults to None.
fixed_joint_offset (np.array, optional) – Translational offset of fixed joint between frames. Defaults to np.zeros(3).
fixed_joint_orient (np.array, optional) – Rotational offset of fixed joint between frames (quaternion). Defaults to np.array([1, 0, 0, 0]).
- Returns
 A USD fixed joint
- Return type
 UsdPhysics.FixedJoint
- convert_prim_to_rigid_body(prim_path: str) None
 Convert a prim to a rigid body by applying the UsdPhysics.RigidBodyAPI Also sets physics:kinematicEnabled property to true to prevent falling from gravity without needing a fixed joint.
- Parameters
 prim_path (str) – Path to prim to convert.
- class AssembledRobot(assembled_robots: omni.isaac.robot_assembler.robot_assembler.AssembledBodies)
 - property base_path: str
 Prim path of the base body
- Returns
 Prim path of the base body
- Return type
 str
- property attach_path: str
 Prim path of the floating (attach) body
- Returns
 Prim path of the floating (attach) body
- Return type
 str
- property fixed_joint: pxr.UsdPhysics.FixedJoint
 USD fixed joint linking base and floating body together
- Returns
 USD fixed joint linking base and floating body together
- Return type
 UsdPhysics.FixedJoint
- property root_joints: List[pxr.UsdPhysics.Joint]
 Root joints that tie the floating body to the USD stage. These are disabled in an assembled body, and will be re-enabled by the disassemble() function.
- Returns
 Root joints that tie the floating body to the USD stage.
- Return type
 List[UsdPhysics.Joint]
- property collision_mask: pxr.Usd.Relationship
 A Usd Relationship masking collisions between the two assembled robots
- Returns
 A Usd Relationship masking collisions between the two assembled robots
- Return type
 Usd.Relationship
- is_assembled() bool
 The composed robots are currently composed together. I.e. the disassemble() function has not been called.
- Returns
 The disassemble() function has not been called.
- Return type
 bool
- disassemble()
 Disassemble composed robots. This can only be done one time, and it will result in all non-trivial functions in this class returning immediately.
- get_fixed_joint_transform()
 Get the transform between mount frames in composed robot.
- Returns
 translation with shape (3,) and orientation with shape (4,)
- Return type
 Tuple[np.array, np.array]
- set_fixed_joint_transform(translation: numpy.array, orientation: numpy.array)
 Set the transform between mount frames in the composed robot.
- Parameters
 translation (np.array) – Local translation relative to mount frame on base robot.
orientation (np.array) – Local quaternion orientation relative to mount frame on base robot.
- class AssembledBodies(base_path: str, attach_path: str, fixed_joint: pxr.UsdPhysics.FixedJoint, root_joints: List[pxr.UsdPhysics.Joint], attach_body_articulation_root: pxr.Usd.Prim, collision_mask=None)
 - property base_path: str
 Prim path of the base body
- Returns
 Prim path of the base body
- Return type
 str
- property attach_path: str
 Prim path of the floating (attach) body
- Returns
 Prim path of the floating (attach) body
- Return type
 str
- property fixed_joint: pxr.UsdPhysics.FixedJoint
 USD fixed joint linking base and floating body together
- Returns
 USD fixed joint linking base and floating body together
- Return type
 UsdPhysics.FixedJoint
- property root_joints: List[pxr.UsdPhysics.Joint]
 Root joints that tie the floating body to the USD stage. These are disabled in an assembled body, and will be re-enabled by the disassemble() function.
- Returns
 Root joints that tie the floating body to the USD stage.
- Return type
 List[UsdPhysics.Joint]
- property collision_mask: pxr.Usd.Relationship
 A Usd Relationship masking collisions between the two assembled bodies
- Returns
 A Usd Relationship masking collisions between the two assembled bodies
- Return type
 Usd.Relationship
- is_assembled() bool
 The composed robots are currently composed together. I.e. the disassemble() function has not been called.
- Returns
 The disassemble() function has not been called.
- Return type
 bool
- disassemble()
 Disassemble composed robots. This can only be done one time, and it will result in all non-trivial functions in this class returning immediately.
- get_fixed_joint_transform() Tuple[numpy.array, numpy.array]
 Get the transform between mount frames in composed robot.
- Returns
 translation with shape (3,) and orientation with shape (4,)
- Return type
 Tuple[np.array, np.array]
- set_fixed_joint_transform(translation: numpy.array, orientation: numpy.array)
 Set the transform between mount frames in the composed body.
- Parameters
 translation (np.array) – Local translation relative to mount frame on base body.
orientation (np.array) – Local quaternion orientation relative to mount frame on base body.