Hi,

I suggest adding a type check at `def compute_inverse_kinematics`

at `omni/isaac/motion_generation/articulation_knematics_solver.py`

. I think the below two lines should be added just below `warm_start = self._joints_view.get_joint_positions()`

.

```
if type(warm_start) is not np.ndarray:
warm_start = warm_start.detach().cpu().numpy()
```

I tried reaching task with UR5e using I.K rather than pure joint positions which are used by actions in RL environment. In this situation, there was hard to match a type of input to calculate I.K.

For example,

```
def pre_physics_step(self, actions) -> None:
...
...
...
ur5es = self._scene.get_object("ur5e")
controller = KinematicsSolver(ur5es, end_effector_frame_name="tool0")
self.np_target_position = self.actions.cpu().numpy()
self.np_target_orientation = np.tile(self.target_orientation, (self._num_envs, 1))
self.np_target_orientation = np.float32(self.np_target_orientation)
targets = [torch.from_numpy(
controller.compute_inverse_kinematics(
target_position=self.np_target_position[i],
target_orientation=self.np_target_orientation[i])[0].joint_positions.astype(np.float32)
).to(device=self._device) for i in range(self._num_envs)]
targets = torch.stack(targets, dim=0)
```

when I create instances for making controllers, getting values, ets…, many values related to the robot are the tensors. Nevertheless, `compute_inverse_kinematics`

gets inputs only for numpy, there is a line that automatically gets a self variable which is a tensor such as `self._joints_view`

.