Skip to main content

Chapter 04: Impedance and Admittance Control

Overview​

For humanoid robots to safely and compliantly interact with humans and uncertain environments, traditional position or velocity control is often insufficient. This chapter introduces impedance and admittance control, advanced force control strategies that enable robots to regulate their mechanical interaction with the environment. We will explore their fundamental principles, implementation details, and their critical role in achieving dexterous manipulation, human-robot collaboration, and robust interaction in Physical AI systems.

Learning Objectives​

  • Understand the limitations of position/velocity control for physical interaction.
  • Grasp the fundamental concepts of impedance control.
  • Explore the principles and implementation of admittance control.
  • Differentiate between impedance and admittance control and their respective applications.
  • Appreciate the role of these compliance control strategies in safe human-robot interaction and dexterous manipulation.

Core Concepts​

1. The Challenge of Physical Interaction​

Traditional robot control typically focuses on achieving desired positions or velocities. However, for tasks involving contact with an unknown or deformable environment, or collaboration with humans, regulating interaction forces becomes paramount. Excessive stiffness can lead to instability, damage, or unsafe interactions.

2. Impedance Control​

Impedance control aims to regulate the relationship between the robot's motion and the contact forces it experiences. The robot presents a desired "impedance" (dynamic relationship between force and displacement) to its environment, behaving like a virtual spring-damper system.

  • Principle: The robot acts as a mass-spring-damper, where an external force (F_external) causes a deviation (x_error) from a desired trajectory.
  • Implementation: Typically implemented by a position/torque controller that modifies its output based on measured external forces.
  • Equation: F_external = M × acceleration_error + D × velocity_error + K × position_error

Where F_external is the external force, M is mass, D is damping, K is stiffness, and error refers to the deviation from desired values.

  • Technical Deep Dive Placeholder: Block diagram of an impedance control loop.

3. Admittance Control​

Admittance control is the dual of impedance control. It regulates the robot's motion in response to measured contact forces. The robot presents a desired "admittance" (dynamic relationship between force and velocity/acceleration) to the environment, behaving like a virtual system whose motion is governed by external forces.

  • Principle: An external force (F_external) generates a desired motion (x_desired) which is then tracked by a lower-level position/velocity controller.
  • Implementation: Commands a motion based on measured force, which is then executed by an inner-loop position or velocity controller.
  • Technical Deep Dive Placeholder: Block diagram of an admittance control loop.

4. Comparison and Applications​

  • Impedance Control: Better for situations where the robot needs to maintain a certain stiffness or compliance (e.g., polishing, grinding, following a surface). Directly controls the robot's dynamic response to contact.
  • Admittance Control: Better for human-robot collaboration where the human is "leading" the robot, or for tasks where the robot needs to yield to external forces (e.g., cooperative carrying, assistive tasks). More intuitive for human users as they directly influence robot motion.

5. Challenges and Advancements​

Challenges include sensor noise in force measurements, stability issues in stiff environments, and accurate estimation of environmental parameters. Advancements involve adaptive impedance/admittance control, learning-based approaches to infer human intent, and integration with whole-body control strategies for robust and safe interaction.

Technical Deep Dive​

# Placeholder for Python Code: Conceptual Impedance Controller (simplified)

class ImpedanceController:
def __init__(self, M_d, D_d, K_d, dt):
# Desired virtual mass, damping, stiffness
self.M_d = M_d
self.D_d = D_d
self.K_d = K_d
self.dt = dt

self.error_position = 0.0
self.error_velocity = 0.0
self.previous_error_position = 0.0

def calculate_desired_force(self, measured_force_ext, desired_pose, current_pose):
# Simplified error calculation for position
self.error_position = desired_pose - current_pose
self.error_velocity = (self.error_position - self.previous_error_position) / self.dt
self.previous_error_position = self.error_position

# Calculate desired interaction force based on desired impedance behavior
# In a full impedance control, this desired force is sent to a lower-level torque controller.
# Here, we show how F_ext would cause an error. The control goal is to make F_ext match
# the impedance model's reaction to current errors.

# Control law: M_d * a + D_d * v + K_d * x = F_ext
# We want to achieve a commanded acceleration 'a' that makes this true.
# If external force is measured, we calculate desired acceleration/position
# for our internal position controller to track.

# For a simplified impedance controller (inner loop position control):
# The output is a desired position/velocity command to the inner controller
# that would cause the system to feel like M_d, D_d, K_d.
# The actual control signal sent to actuators would be derived from this.

# This example is conceptual; actual implementation involves more dynamics.
return measured_force_ext # This would be used to calculate a motion offset

Diagram Placeholder: A diagram illustrating the concept of impedance control, showing the robot's body responding to external forces as if it were a spring-damper system.

Real-World Application​

A humanoid robot assisting an elderly person in walking. The robot uses admittance control, allowing the human to lead the movement while the robot provides compliant support, adjusting its assistance based on the forces exerted by the human, ensuring comfort and safety.

Hands-On Exercise​

Exercise: Research a human-robot interaction scenario that requires compliant behavior (e.g., collaborative assembly, physical rehabilitation). Discuss whether impedance control or admittance control would be more suitable for this application and justify your choice based on their principles.

Summary​

Impedance and admittance control are crucial enabling technologies for humanoid robots operating in human environments, allowing for safe, compliant, and dexterous physical interaction. This chapter provided a deep dive into these force control strategies, highlighting their importance in human-robot collaboration and the development of intelligent Physical AI systems.

References​

  • (Placeholder for textbooks and research papers on force control, impedance control, and human-robot interaction.)