Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Principle:Isaac sim IsaacGymEnvs Robot Controller Configuration

From Leeroopedia
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

Related Pages

Implemented By

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment