Hello everyone,
I am working on an extension script in Isaac Standalone (version 4.5.0) and I am trying to align my camera to the robot flange using the function align_object_flange. In this function, I calculate a new translation and rotation, to allign both flanges.
To update the transformation, I attempt to use the methods set_world_pose(pos, new_ori_quadt) and set_default_state(...) on my object. The relevant code snippet (lines 23–48 in extension.py) is as follows:
# adding rotation delta to current orientation
pos, ori = get_world_trans_rot(self.stage, obj.GetPrimPath())
ori_diff = prim_fixed_rotate * Gf.Quatd(prim_move_rotate).GetInverse()
new_ori_quadt = ori_diff * ori
# setting object orientation
obj.set_world_pose(pos, new_ori_quadt) # Problematic line
obj.set_default_state(pos, self.backend_utils.convert_gf_quatd_to_array(new_ori_quadt))
The problem is that these methods are not applicable to my Prim objects – it appears that the Prims do not support this type which provides these functions. The following error is raised:
2025-07-24 06:49:25 [1,322,186ms] [Error] [carb.scripting-python.plugin] AttributeError: 'Prim' object has no attribute 'set_world_pose'
Does anyone have experience with this or any ideas on how to correctly apply the transformation data (position/rotation) in this context? How should I reformat the data (matrices, arrays, etc.) so that it is compatible with either the Command (e.g., TransformPrimCommand) or directly with the USD API methods? It is important that the position/rotation adjustment is performed relative to the parent xform.
Thank you for your help!

