How to add new frame for KinematicSolver?

Hi, Using Isaac Sim 4.5.0. I am using essentially the example franka robot and the KinematicsSolver. When I do kinsol.get_kinematics_solver().get_all_frame_names() it gives me a list of valid frames names that can be provided for the end effector. Is it possible to create another frame as a child of the franka and have that be the end effector frame?

I (somewhat naively) tried:

franka = world.scene.add(Franka(prim_path='/World/Franka', name='franka'))
# ...

ee = XFormPrim(f'/World/Franka/panda_rightfinger/ee', translation=np.array([0., 0.04, 0.045]))

kinsol = KinematicsSolver(franka)

But still I do not see ‘ee’ in my kinsol.get_kinematics_solver().get_all_frame_names() list (and therefore, I imagine I cannot specify it with end_effector_frame_name='ee')

I guess I have to modify the USD for the robot itself, instead?

Currently adding a frame dynamically is not supported. You have to create a new URDF and use that to set up the KinematicsSolver.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.