I want to use position control to control some joints of a robot and use torque control to control the rest joints in IsaacSim.
I plan to do this by using view._physics_view.set_dof_position_targets
or view._physics_view.set_dof_actuation_forces
for the ArticulationView
of the robot. These two functions will apply commands to all joints of a robot prim. Will there be any conflicts if I call these functions without a step()
call in SimulationContext? @Ossama_Ahmed @rgasoto @toni.sm
~/.local/share/ov/pkg/isaac_sim-2022.2.1/exts/omni.isaac.core/omni/isaac/core/articulations/articulation_view.py
def switch_control_mode(
self,
mode: str,
indices: Optional[Union[np.ndarray, List, torch.Tensor]] = None,
joint_indices: Optional[Union[np.ndarray, List, torch.Tensor]] = None,
) → None:
“”" Switches control mode between velocity, position or effort.
Args:
mode (str): control mode to switch the articulations specified to. mode can be velocity, position or effort.
indices (Optional[Union[np.ndarray, List, torch.Tensor]], optional): indicies to specify which prims
to manipulate. Shape (M,).
Where M <= size of the encapsulated prims in the view.
Defaults to None (i.e: all prims in the view).
joint_indices (Optional[Union[np.ndarray, List, torch.Tensor]], optional): joint indicies to specify which joints
to manipulate. Shape (K,).
Where K <= num of dofs.
Defaults to None (i.e: all dofs).
1 Like