Principle:Isaac sim IsaacGymEnvs Robot Controller Configuration
| Knowledge Sources | |
|---|---|
| Domains | Robotics, Control |
| Last Updated | 2026-02-15 00:00 GMT |
Overview
Suite of seven robot controller types for converting high-level RL actions into joint-space commands for the Franka robot.
Description
Factory provides a modular control layer that transforms task-space targets (fingertip position/orientation) from the RL policy into joint-space commands. Seven controller types are available: joint_space_ik, joint_space_id, task_space_impedance, operational_space_motion, open_loop_force, closed_loop_force, and hybrid_force_motion. The controller selection depends on the assembly sub-task requirements.
The control layer serves as the bridge between the RL policy (which outputs 6D task-space deltas) and the physics simulation (which accepts joint position targets or joint torques). This separation allows the same RL policy architecture to be used with different control strategies, and enables sim-to-real transfer by matching the controller interface to the real robot's control API.
Usage
Use this principle when the RL policy outputs task-space actions that need to be converted to joint commands. Controller selection guidelines:
- joint_space_ik: Default for most Factory tasks. Converts task-space position/orientation targets to joint positions via damped least squares IK. Suitable for position-controlled robots.
- joint_space_id: Inverse dynamics variant that outputs joint torques instead of positions. Suitable for torque-controlled robots.
- task_space_impedance: Spring-damper behavior in task space. Good for compliant contact tasks where stiffness tuning is needed.
- operational_space_motion: Full operational space control with null-space posture optimization. Suitable for redundant manipulators.
- open_loop_force: Applies desired forces/torques in task space without feedback. Used for force-controlled insertion phases.
- closed_loop_force: Force control with force sensor feedback. Used when precise force regulation is needed.
- hybrid_force_motion: Decomposes control into force and motion subspaces. Ideal for assembly tasks requiring force control in the insertion direction and position control in orthogonal directions.
Theoretical Basis
Inverse Kinematics (joint_space_ik)
Damped least squares (DLS) pseudoinverse maps task-space error to joint-space corrections:
Delta_q = J^T (J J^T + lambda^2 I)^{-1} Delta_x
where:
J = geometric or analytic Jacobian [6 x n_dofs]
Delta_x = [pos_error; rot_error] in task space [6 x 1]
lambda = damping factor for singularity robustness
Delta_q = joint position correction [n_dofs x 1]
Impedance Control (task_space_impedance)
Spring-damper behavior in task space, converted to joint torques:
tau = J^T (K_p * e_p + K_d * e_v)
where:
K_p = task-space stiffness matrix (position and orientation)
K_d = task-space damping matrix
e_p = pose error (position + orientation)
e_v = velocity error (linear + angular)
Operational Space Control (operational_space_motion)
Dynamically-consistent operational space formulation:
tau = J^T Lambda (K_p * e + K_d * e_dot) + N^T tau_null
where:
Lambda = (J M^{-1} J^T)^{-1} -- task-space inertia matrix
N = I - J^T Lambda J M^{-1} -- null-space projector
tau_null = posture optimization torques
Hybrid Force/Motion Control (hybrid_force_motion)
Decomposes control into complementary force and motion subspaces:
tau = J^T (S_f * F_desired + S_m * (K_p * e + K_d * e_dot))
where:
S_f = force selection matrix (1 in force-controlled DOFs)
S_m = I - S_f = motion selection matrix
F_desired = desired contact wrench