官方网站-首页官方网站-首页

告别硬碰硬!HPM 芯片支持力位混合控制,让机器人关节学会“顺势而为”
2026-01-05 12:30:02

【导语】人形机器人抓取玻璃杯时,关节太“硬”易打翻,太“软”难抓稳,理想的执行器需像人臂般刚柔并济。力位混合控制正是为解决这一难题而生,它让关节“可软可硬”,在精确跟踪与环境顺应间找到平衡。HPM MCL v2电机控制库集成该功能,不改变现有架构,仅在上层加外环,就能让关节按任务阶段切换刚度,实现稳定、安全的交互。

想象这样一个场景:你的人形机器人正在弯腰拾起一个玻璃杯。如果关节太“硬”,手一碰到杯子就急停,可能打翻它;如果太“软”,又会陷进去,无法稳定抓取。理想的执行器,应该像人的手臂——既能稳稳托住物体,又能顺应外力微调姿态。

这正是力位混合控制(Hybrid Force-Position Control)要解决的核心问题。

在人形机器人这种带减速器的高动态关节中,开发者常面临两难:

  • 纯位置控制太“硬”:接触瞬间产生电流尖峰,易触发过流保护,机(jī)械(xiè)冲(chōng)击(jī)大(dà);
  • 纯(chún)力(lì)/电(diàn)流(liú)控(kòng)制(zhì)太(tài)“软(ruǎn)”:难(nán)以(yǐ)维(wéi)持(chí)期(qī)望(wàng)姿(zī)态(tài),容(róng)易(yì)漂(piào)移(yí),缺(quē)乏(fá)“支(zhī)撑(chēng)感(gǎn)”。

为(wèi)平(píng)衡(héng)这(zhè)两(liǎng)者(zhě),我(wǒ)们(men)在(zài) HPM MCL v2 电(diàn)机(jī)控(kòng)制(zhì)库(kù)中(zhōng)集成(chéng)了(le)轻(qīng)量(liàng)级(jí)力(lì)位(wèi)混(hùn)合(hé)控(kòng)制(zhì)器(qì)。它(tā)不(bù)改(gǎi)变(biàn)现(xiàn)有(yǒu) FOC 电(diàn)流(liú)环(huán)架(jià)构(gòu),仅(jǐn)在(zài)上(shàng)层(céng)增加一个外环,即可让关节具备可调的刚度与阻尼,在精确跟踪与环境顺应之间找到最佳平衡点。

更关键的是:在“抓取/接触”这类任务里,关节并不存在唯一的最佳刚度。

  • 接触与对齐阶段更需要柔顺(低刚度)来降低冲击、避免打滑或卡死;
  • 抓稳与支撑阶段更需要稳定(高刚度)来维持姿态、承载负载。

力位混合控制让执行单元具备这种“刚度可调”的能力:不是在硬/软之间二选一,而是按任务阶段切换到合适的状态


它解决的是执行单元的真实工程痛点

当关节需要与外界接触(chù)(地(de)面(miàn)、桌(zhuō)面(miàn)、人(rén)体(tǐ)、装配件等),若只追求位置刚性,系统往往会出现:

  1. 接触瞬间的力矩/电流尖峰,带来热应力与保护风险;
  2. 因阻尼不足或速度噪声引发振荡、“弹跳”;
  3. 接触后位置难以收敛,要么抖动,要么持续偏移。

力位混合控制的价值在于:在不改动底层驱动的前提下,为执行单元增加一层可控的“阻抗行为”。无论外部扰动如何变化,关节都能按预设的刚度和阻尼响应,使接触过程更平滑、更可预测。


在“大小脑”架构中的定位:属于执行单元侧

在典型的人形机器人分层控制架构中:

  • 大脑(任务层) 负责感知与决策,如“抓杯子”“迈步上台阶”;
  • 小脑(运动规划层) 将任务转化为关节轨迹、末端力目标或全身优化指令;
  • 执行单元(伺服驱动层) 则负责将这些目标高速、稳定地转化为电机电流。

HPM MCL v2 的力位混合控制明确归属于执行单元侧。它不参与任务规划,也不决定“该施加多大的力”,而是接(jiē)收(shōu)上(shàng)层(céng)给(gěi)出(chū)的(de)期(qī)望(wàng)位(wèi)置(zhì)、速(sù)度(dù)(以(yǐ)及(jí)可(kě)选(xuǎn)的(de)前(qián)馈(kuì)力(lì)矩(ju)),在(zài)电(diàn)机(jī)侧(cè)实(shí)时(shí)合(hé)成(chéng)一(yī)个(gè)符(fú)合(hé)设(shè)定(dìng)刚(gāng)度(dù)/阻(zǔ)尼(ní)特(tè)性(xìng)的(de)力(lì)矩(ju)指(zhǐ)令(lìng),并(bìng)通(tōng)过 FOC 电流环精准执行。

简言之:上层决定“想要什么”,我们负责把它稳定、安全、可控地做出来。

注:虽然“阻抗控制”与“导纳控制”在理论层面常被区分,但在实际系统中,只要采样率与带宽匹配,二者可通过数学变换等效。对执行单元而言,最终落地需要一个高带宽、带限幅与滤波的力矩执行链路——这正是本方案的定位。


核心思想:让关节“可软可硬”,且行为一致

力位混合控制的本质,是将位置误差和速度误差映射为力矩输出

输出力矩 = 刚度(kp) × 位置误差 + 阻尼(kd) × 速度误差 + 前馈力矩(tau_ff)

其中:

  • Kp 决定刚度:值越大,抵抗外力变形的能力越强;
  • Kd 决定阻尼:值越大,运动越平稳,抑制振荡;
  • tau_ff 为可选前馈力矩,用于补偿重力或惯性项。

执行单元将输出力矩除以电机转矩常数 Kt,得到 q 轴电流指令,交由 FOC 电流环执行。整个过程可在微秒级完成,确保阻抗行为实时响应。

这里要强调的是:低刚度与高刚度都是正常系统状态

  • 低刚度适合“触碰/对齐/人机交互”等需要顺应的阶段;
  • 高刚度适合“抓稳/定位/支撑”等需要稳态保持的阶段。

力位混合控制的价值在于让这种行为“可调且一致”,并在执行层用限幅/滤波把它做得可控、可实现。


为什么 HPM 芯片能高效支(zhī)持(chí)这(zhè)一(yī)功(gōng)能(néng)?

力(lì)位(wèi)混(hùn)合(hé)控(kòng)制(zhì)虽(suī)逻(luó)辑(ji)简(jiǎn)洁(jié),但(dàn)对(duì)计(jì)算(suàn)实(shí)时(shí)性(xìng)与(yǔ)控(kòng)制(zhì)带(dài)宽(kuān)要(yào)求(qiú)高(gāo)。先(xiān)楫(jí)高(gāo)性(xìng)能(néng) RISC-V MCU 为(wèi)此(cǐ)提(tí)供(gōng)了(le)关键硬(yìng)件(jiàn)支(zhī)撑(chēng):

  • 主频(pín)高(gāo)达(dá) 800MHz 以(yǐ)上(shàng),确(què)保(bǎo)外(wài)环(huán)控(kòng)制(zhì)周(zhōu)期(qī)可(kě)短(duǎn)至(zhì) 1μs;
  • 内(nèi)置(zhì)硬(yìng)件(jiàn)加(jiā)速(sù) FOC 单(dān)元(yuán),减(jiǎn)轻(qīng) CPU 负(fù)担(dān);
  • 高(gāo)精(jīng)度(dù)同(tóng)步(bù) ADC 与(yǔ) PWM 触(chù)发(fā)机(jī)制(zhì),保(bǎo)障(zhàng)电(diàn)流(liú)环(huán)与(yǔ)位(wèi)置(zhì)环(huán)的(de)严(yán)格(gé)时(shí)序(xù)对(duì)齐(qí)。

得(de)益(yì)于(yú)此(cǐ),开(kāi)发(fā)者(zhě)无(wú)需(xū)牺(xī)牲(shēng)现(xiàn)有(yǒu) FOC 架(jià)构(gòu),仅需调用一个函数,即可启用可调阻抗行为。


在 HPM SDK 中如何快速集成?

我们已在 hpm_sdk_extra 仓库中提供完整的力位混合控制示例,集成过程极为简洁,仅需四步:

  1. 编码器读(dú)取(qǔ)当(dāng)前(qián)关节(jié)位(wèi)置(zhì) q 与(yǔ)速(sù)度(dù) dq;
  2. 调(diào)用(yòng)mcl_hybrid_ctrl_step(),传入期望位置/速度、刚度 Kp、阻尼 Kd(以及可选前馈力矩),即可获得目标力矩tau_cmd;
  3. 根据电机转矩常数 Kt,计算 q 轴电流指令:iq_cmd = tau_cmd / Kt;
  4. 调用hpm_mcl_loop_set_current_q(iq_cmd),交由底层 FOC 电流环执行。

整个外环逻辑不到十行代码,却能让原本“非硬即刚”的伺服系统,具备按需调节的柔顺交互能力——无需改动现有驱动架构,开箱即用。


实际效果一:面对“穿墙指令”,谁更聪明?

为了直观展示力位混合的价值,我们设计了一个典型场景:上层控制器给出一个“穿过物理限位”的目标位置(例如指令要求转到 1.2 rad,但机械限位在 1.0 rad)。这在抓取、装配或足式行走中非常常见。

我们并排对比三种策略:

  • 左:传统位置控制(固定高增益)
  • 中:力位混合 + 低刚度(适用于接触、对齐阶段)
  • 右:力位混合 + 高刚度(适用于抓稳、支撑阶段)

ec69b12c-e9db-11f0-8ce9-92fbcf53809c.gif

图中关键信息已标注:

  • 灰色粗线:物理限位(无法越过)
  • 红色虚线:上层给出的“穿墙”目标位置
  • 底部数字:顶墙后关节稳定输出的力矩值(单位:N·m)

可以看到:

  • 传统位置控制持续输出接近限幅的力矩(约 0.60 N·m),相当于“死命顶墙”,既浪费能量,又增加电流与发热风险;
  • 力位混合控制则根据设定刚度,自动收敛到合理的稳态力矩:
    • 低刚度模式仅输出约 0.20 N·m,轻柔贴合;
    • 高刚度模式输出约 0.50 N·m,提供强支撑。

这意味着:同一个执行单元,可在不同任务阶段动态切换“手感”——接触时柔顺,抓持时稳固,全程不超限、不失稳。


实际效果二:突加外力冲击,谁更稳健?

再看一个更贴近(jìn)真实世界的场景:在稳定运行中,关节突然受到外部扰动(例如人手推一下,或机器人脚踩到石子),我们模拟为 +0.5 N·m 的阶跃力矩,持续 100ms。

ec77e120-e9db-11f0-8ce9-92fbcf53809c.gif

对比结果如下:

模式峰值输出力矩 (N·m)最大位置偏转 (°)
传统位置控制0.60(已达限幅)2.66
力位混合(低刚度)0.4110.28
力位混合(高刚度)0.546.41

表面看,低刚度偏转更大,但这恰恰是主动顺应的表现:它通过允许可控的微小位移,显著降低了力矩峰值和电流冲击。而传统位置控制因“拒绝任何偏移”,反而被迫输出最大力矩对抗扰动,极易触发过流保护。

在实际应用中,你完全可以:

  • 接触/探索阶段:启用低刚度,提升安全性与适应性;
  • 作业/支撑阶段:切换至高刚度,保证精度与刚性。

这种“按需调节”的能力,正是力位混合控制的核心优势。

登录