HPM SDK
HPMicro Software Development Kit
hpm_mcl_hybrid_ctrl.c File Reference
#include "hpm_mcl_hybrid_ctrl.h"
#include <math.h>

Functions

void mcl_hybrid_ctrl_init (mcl_hybrid_ctrl_cfg_t *cfg)
 Initialize hybrid control parameters with default values. More...
 
void mcl_hybrid_ctrl_step (const mcl_hybrid_ctrl_cfg_t *cfg, mcl_hybrid_ctrl_state_t *state)
 Execute one step of hybrid control. More...
 

Function Documentation

◆ mcl_hybrid_ctrl_init()

void mcl_hybrid_ctrl_init ( mcl_hybrid_ctrl_cfg_t cfg)

Initialize hybrid control parameters with default values.

Default values:

  • kp = 0.0 N*m/rad
  • kd = 0.0 N*m*s/rad
  • tau_ff = 0.0 N*m
  • q_des = 0.0 rad
  • dq_des = 0.0 rad/s
  • tau_max = 0.0 N*m (no limit)
  • tau_min = 0.0 N*m (no limit)
  • speed_lpf_alpha = 0.0 (disabled)
  • speed_deadzone = 0.0 (disabled)
Parameters
cfgPointer to configuration structure

◆ mcl_hybrid_ctrl_step()

void mcl_hybrid_ctrl_step ( const mcl_hybrid_ctrl_cfg_t cfg,
mcl_hybrid_ctrl_state_t state 
)

Execute one step of hybrid control.

Implements hybrid force-position control algorithm: tau = tau_ff + kp * (q_des - q) + kd * (dq_des - dq)

This is essentially a PD controller with feedforward torque, providing impedance/compliance control suitable for:

  • Robot joint control
  • Servo system control
  • Force-sensitive manipulation
  • Compliant interaction with environment