电机配置
set_motor_cfg_pd()
Python
set_motor_cfg_pd(
kp_config: Dict[str, list[float]],
kd_config: Dict[str, list[float]]
)
为指定关节组配置 PD 模式的增益参数。通常在进入 UserCmd 或 UpperBodyUserCmd 状态前设置,以匹配所需的控制刚度。
| 参数 | 类型 | 说明 |
|---|---|---|
kp_config | Dict[str, list[float]] | group 名称 → 各关节比例增益(Kp)列表 |
kd_config | Dict[str, list[float]] | group 名称 → 各关节微分增益(Kd)列表 |
每个列表的长度必须与对应 group 的关节数一致。
示例
Python
client.set_motor_cfg_pd(
kp_config={
"left_leg": [400, 200, 200, 400, 200, 26],
"right_leg": [400, 200, 200, 400, 200, 26],
"left_manipulator": [400, 200, 200, 200, 50, 50, 50],
"right_manipulator": [400, 200, 200, 200, 50, 50, 50],
},
kd_config={
"left_leg": [20, 20, 20, 20, 20, 2.6],
"right_leg": [20, 20, 20, 20, 20, 2.6],
"left_manipulator": [20, 10, 10, 10, 2.5, 2.5, 2.5],
"right_manipulator": [20, 10, 10, 10, 2.5, 2.5, 2.5],
},
)
set_motor_cfg_pos()
Python
set_motor_cfg_pos(
kp_config: Dict[str, list[float]],
ki_config: Dict[str, list[float]],
kd_config: Dict[str, list[float]]
)
为指定关节组配置位置模式的 PID 增益参数。
| 参数 | 类型 | 说明 |
|---|---|---|
kp_config | Dict[str, list[float]] | group 名称 → 各关节比例增益(Kp)列表 |
ki_config | Dict[str, list[float]] | group 名称 → 各关节积分增益(Ki)列表 |
kd_config | Dict[str, list[float]] | group 名称 → 各关节微分增益(Kd)列表 |
get_group_motor_cfg()
Python
get_group_motor_cfg(group_name: str, key: str = 'pd_kp') -> list[float]
读取指定关节组当前的电机配置参数。
| 参数 | 类型 | 说明 |
|---|---|---|
group_name | str | 关节组名称 |
key | str | 配置项,见下表 |
key 值 | 说明 |
|---|---|
'pd_kp' | PD 模式比例增益,默认 |
'pd_kd' | PD 模式微分增益 |
'pos_kp' | 位置模式比例增益 |
'pos_ki' | 位置模式积分增益 |
'pos_kd' | 位置模式微分增益 |
示例
Python
kp = client.get_group_motor_cfg("left_leg", key="pd_kp")
kd = client.get_group_motor_cfg("left_leg", key="pd_kd")
print(f"left_leg PD gains: kp={kp}, kd={kd}")