新闻详情

新闻详情

首页 / 资讯中心 / 详情

双足机器人变刚度驱动器设计:模块化拮抗式关节与实验验证

发布时间:2026/9/26 1:44:34来源:尧图网络
双足机器人变刚度驱动器设计:模块化拮抗式关节与实验验证
1. 为什么给双足机器人装一颗“可变刚度的肌腱”——项目背景与设计动机这两年双足机器人赛道肉眼可见地热闹起来但真正跑起来、跳起来、在非平整路面上稳住走的人形机器人依然是少数。多数样机走的是“大力出奇迹”路线——用高减速比电机加刚性连杆把机器人撑得笔直每一步都靠精确的位置控制硬扛。这种方案在地面平坦、工况可预测的实验室里表现还行一旦走上草地、碎石路或者沙地刚性系统对地面冲击的响应几乎全靠电机电流硬顶轻则关节打齿重则整机共振摔倒。我这次做的仿生双足机器人新型变刚度驱动器核心目的就是解决刚性驱动“硬碰硬”的问题。变刚度驱动器Variable Stiffness ActuatorVSA和传统关节模组最大的区别在于它可以主动调节输出端的刚度特性。直白地说就是给关节装了一根“肌腱”——需要支撑的时候肌肉绷紧需要快速摆动的时候肌肉放松。这一下子就把机器人从“力矩硬扛”变成了“刚度自适应”在抗冲击、落地缓冲、能量回收这些场景里优势非常明显。整个项目围绕“模块化设计与实验验证”两条线展开一方面把驱动器拆成可独立复用的机械、传感、控制模块另一方面通过刚度标定、动态响应、步行测试等实验把设计参数扎扎实实验证了一遍。这篇文章适合三类人参考正在做双足/四足机器人关节方案的工程师想了解变刚度机构选型与设计的机械专业同学以及准备做驱动器控制实验但不知道怎么搭建测试平台的硬件开发者。我不打算堆一堆术语重点讲清楚设计取舍、模块设计细节和实验中的真实数据以及我踩过的若干坑。2. 整体架构与模块划分——把驱动器拆成三个“可复用的乐高块”2.1 变刚度驱动器到底“变”的是什么先说原理层面的问题。普通的电机驱动关节输出轴和负载之间基本是刚性连接电机转过多少角度、输出轴就转过多少角度刚度由减速器自身结构决定基本不可调。而变刚度驱动器在电机和输出端之间插入了一个弹性环节并且这个弹性环节的等效刚度是可主动调节的。最常用的实现方式是拮抗式antagonistic结构灵感直接来自人体肌肉的“主动肌—拮抗肌”配对。两个电机分别通过弹簧连接同一根输出轴一侧电机拉紧弹簧输出轴向一个方向偏转另一侧电机反向拉紧输出轴回中。当两侧弹簧同时拉紧输出轴位置没变但刚度增加了相当于肌肉同时绷紧但保持关节角度不动。这个特性有一个非常诱人的优点刚度调节和位置控制解耦理论上可以在不关节位置的前提下独立调节刚度。模块划分我参考了工业机器人关节模组的思路但做了重新设计。整个驱动器划分为三个大模块机械执行模块、传感与驱动模块、控制与驱动电路模块。机械执行模块负责弹簧机构、轴承支承、外壳和输出法兰传感与驱动模块负责电机、减速器、编码器和力传感器控制电路模块负责驱动板卡、实时控制算法和通讯接口。三个模块用标准接口拼接方便后续换不同规格的电机或者弹簧进行参数迭代。2.2 为什么一定要做“模块化”而不是集成为一个整体件这是我在项目一开始就定下的原则。很多研究生做机器人硬件喜欢把整个关节做成一个紧凑的整体件看着漂亮但调试的时候非常痛苦。因为一旦某个环节出问题比如电机选小了、弹簧刚度不合适、传感器信号干扰大整个零部件都要推倒重做。模块化之后每一个子模块都可以单独验证我甚至可以在同一个实验平台上分别测试两种不同规格的电机驱动器而不影响其他部分。说到底变刚度驱动器本质上是“电机减速器弹簧机构感知系统”的组合它的变量可太多了——弹簧刚度、预紧范围、电机转速、减速比、控制带宽。如果不做模块化每次变量调整都要重新加工机加工件时间和成本都烧不起。模块划分的单位我定得比较细电机本体与减速器作为一个子模块弹簧机构作为单独子模块输出法兰与外部负载接口算一个子模块传感器支架单独一个子模块。这样做的好处是任何一个环节出了问题我可以单独把对应零件拆下来测试而不需要拆整个关节。固定螺钉、定位销和法兰接口尽量共用同一规格这样还能减少备件类别加工装配的时候也比较省心。3. 核心模块设计与选型解析——五个关键决策背后的计算和取舍3.1 变刚度机构选型为什么选了拮抗式而不是变杠杆式变刚度机构大致有三条技术路线拮抗式两个电机通过弹簧双向驱动、变杠杆式改变弹簧力臂长度和可变物理参数式例如磁流变液、形状记忆合金。变杠杆式的思路是保持弹簧本身不变通过移动支点位置来改变等效刚度。这个结构的优点是刚度范围大电机受力均衡但缺点也比较致命刚度调节机构需要额外的直线运动自由度机械结构复杂度高而且刚度调的时候输出轴的位置会有微小的耦合偏移控制上要做补偿。磁流变液和形状记忆合金响应快、结构紧凑但磁流变液的温度漂移大、一致性差形状记忆合金的频率响应有限做实验室验证比较麻烦。我最终选拮抗式最重要的原因有三点第一结构对称刚度调节和位置驱动在原理上就解耦控制算法写起来比其他结构简便第二弹簧作为弹性元件刚度一致性好、迟滞低、寿命稳定在实验里反复测试也没有性能衰减第三这个结构天然适配双足机器人的肌肉仿生模型——髋关节在摆动期和支撑期正好对应肌肉的松弛和绷紧两种状态直接可以用两侧电机电流模拟肌肉发力程度方便做控制映射。3.2 弹簧刚度与预紧行程的设计计算弹簧是整个驱动器最核心的零件没有之一。它的刚度直接决定了驱动器能提供的关节扭矩和刚度调节范围。我设计目标是髋关节峰值输出扭矩不低于40Nm这需要根据双足机器人单腿负载约15kg腿重加5kg自重负载和步态周期动力学来计算。估算过程是这样的摆动期大腿角加速度约10rad/s²绕髋关节的转动惯量约0.6kg·m²则动态扭矩需求 ≈ 0.6×10 6Nm再加上腿自重产生的重力矩约10Nm弹簧需要能承受的静力矩至少15Nm。我把安全系数留到2.5倍目标峰值取40Nm对应弹簧的线性压缩量在工作区间内至少15mm所以弹簧刚度设计范围在2.7~4N/mm之间。弹簧预紧行程我留了双向往返各8mm这样两侧电机可以在/-8mm范围内调整弹簧压缩量实现刚度从松到紧的连续变化。这里有个细节值得说一下单侧弹簧力是线性增长的但拮抗式结构中总输出刚度是两侧弹簧刚度的叠加效应所以实际刚度调节范围比单弹簧本身的线性力变化更宽。我最后选了两根完全相同规格的定制矩形截面圆柱弹簧初始预紧压缩量为5mm最大允许压缩量25mm。定矩形截面而不是圆形截面主要是为了减小弹簧在压缩时端面歪斜的问题提高运动稳定性。3.3 电机与减速器选型速度刚度和体积三者的平衡电机选型时我给自己立了一个“不可能三角”输出力矩要够大、响应速度要够快、体积要够小。普通的直流无刷电机加二级行星减速器基本能满足力矩要求但响应速度不够因为转动惯量折算到输出端后数值偏大。我用的是空心杯无刷电机加一级行星减速器减速比定在9:1。空心杯电机转子惯量低角加速度大响应带宽明显优于普通无刷电机。实测下来在PD控制下位置环带宽能做到5Hz左右阶跃响应超调量控制在12%以内这对于变刚度驱动器的刚度跟踪来说基本够用。减速器选9:1而不是更高还有一个考虑减速比越大输出端等效惯量越大弹性元件和电机之间容易形成机械谐振。变刚度驱动器最怕的恰恰就是谐振——弹簧和惯性负载形成的二阶系统在特定频率上会产生剧烈的振荡轻则控制不稳定重则机械损坏。9:1的减速比可以让谐振频率落在10Hz以上避开双足步行时1~3Hz的主要运动频段这样就安全得多。3.4 传感器系统怎么搭位置、力与刚度反馈变刚度驱动器需要感知的参数至少有三类电机转子位置、输出轴位置和弹簧变形量或者受力。电机转子位置我用增量式光电编码器测分辨率4000线配合电机控制板做三环闭环。输出轴位置原本用绝对值编码器后来考虑到成本就用增量编码器加断电记忆的初始化校准方案解决了。弹簧变形量的测量是重点也是难点。我在两端的弹簧导向筒里各装了一个微型直线位移传感器行程20mm精度±0.02mm。通过测量两侧弹簧的实时压缩量就可以反推两侧弹簧力的大小然后由刚度模型计算当前的瞬时刚度。这个做法的好处是直接测量刚度而不依赖电流估算——电机电流估算力矩的方式受温度、摩擦、磁饱和等因素影响误差大而位移传感器直接反映力学状态可信度和重复性都更好。另外输出端我还加了应变式力矩传感器目的是和后期的足底力传感器做力控的闭环反馈。3.5 控制器的设计与实时性考虑控制器我采用了两级架构底层是一个200MHz主频的MCU板卡负责电机三环控制和传感器数据采集上层是运行阻抗控制算法的工控机通过EtherCAT总线与MCU通讯。底层控制周期1kHz上层阻抗控制周期500Hz。这个频率对于双足机器人步行控制来说是足够用的。这里要特别提醒一个容易被忽视的点MCU和工控机之间的通讯时延会直接进入控制环路如果时延超过一个控制周期相位裕度会明显下降。所以我在EtherCAT层的配置上做了针对性优化——把周期抖动控制在±50μs以内实测通讯时延在0.3ms量级对控制稳定性影响可以接受。4. 实验设计、测试数据和实测效果——用数据说话4.1 刚度标定实验验证“调刚度”真的有用样机装配完成后做的第一个实验是静态刚度标定。做法很简单固定输出轴一端在输出端挂砝码加载记录不同预紧行程下输出轴的偏转角然后拟合刚度。我在0到8mm的预紧行程范围内取了五个标定点每个点重复加载卸载循环三次取平均。实验数据总体符合预期未预紧时驱动器等效刚度约为1.9N·mm/°预紧8mm后等效刚度上升到约7.4N·mm/°刚度变化倍数接近四倍。这验证了拮抗式机构的刚度调节能力是实打实的。但实验也暴露了一个问题加载和卸载曲线之间存在明显的迟滞环最大迟滞宽度约0.3°。这个迟滞主要来自弹簧本身的内摩擦和导向筒的滑动摩擦。我后来在导向筒内壁加了一层聚四氟乙烯润滑衬垫迟滞从0.3°降到了0.15°改善明显。4.2 动态响应实验刚度切换的实时性测试静态标定只能说明刚度能调节而实际运动中系统要实时切换刚度。所以第二个实验是动态响应测试。我在驱动器的刚度通道上输入一个正弦扫频信号也就是让刚度在低值和高值之间来回切换同时测量输出轴的角速度响应评估整个驱动系统的带宽和相位特性。结果是刚度通道的-3dB带宽约为2.8Hz在双足步行所需的1~3Hz范围内能较好地跟踪刚度指令。这个带宽和预期差不多。但我在扫频测试中发现一个不妙的峰输出轴在6Hz附近出现了幅值异常抬升频响曲线有一个明显的谐振峰。排查下来是弹簧和负载转动惯量构成的二阶环节的固有频率阻尼比太低导致谐振峰尖。解决思路是在电机控制层加入一个简单的陷波滤波器在6Hz处压掉约8dB的增益之后再测谐振峰值就明显衰减了。这个操作在调试变刚度驱动器中非常典型——机械谐振几乎是必然出现的靠控制层补偿是标准做法。4.3 步行试验装在双足机器人上的整机验证模块级测试完成后我做了一次整机步行实验。实验对象是一台简易双足下肢原型机髋关节和膝关节各装了这套变刚度驱动器踝关节暂用刚性驱动器。步态模式先采用预先规划的运动轨迹通过位置环驱动但刚度通道按“摆动期低刚度、支撑期高刚度”的时序来控制。我期待的是落地的冲击力能被弹性元件吸收整机质心起伏比刚性驱动更平稳。实际的效果确实立竿见影。刚性驱动模式下脚跟着地瞬间躯干加速度传感器读数峰值大约3.2g切到变刚度驱动后同样步速和路面上峰值降到1.9g左右。地面上放置的力传感器测得的垂直力冲击峰也降低了约30%。这个数据非常直观地展示了变刚度对于抗冲击的有效性。代价也有柔顺度提高之后支撑期的定位精度略有下降质心在前后方向的波动比刚性模式增大了约15%。这其实是柔顺关节的正常代价后续需要靠上层步态控制算法补偿是完全可接受的。4.4 刚度连续变化对能耗的影响我额外做了一个功耗对比测试用电流积分计算每步的电气能耗。刚性驱动器在支撑期电机电流大因为要硬扛冲击变刚度驱动器在支撑期主要靠弹簧的弹性变形吸收能量并部分回放电能消耗明显降低。整机测试下来每步平均功耗降低了约18%。这个数据在双足机器人行业里很有吸引力因为续航能力一直是双足机器人的痛点之一。5. 调试路上踩过的坑与排查方法实录——这些经验比参数更值钱变刚度驱动器的调试过程远比设计过程曲折。这节专门把我踩过的坑整理成速查表哪些现象对应哪些原因方便同行少走弯路。第一个坑初始装配完成后驱动器在低刚度状态下切刚度时输出轴会出现明显的位置漂移。查下来原因是两侧弹簧在装配时预紧量不一致——左侧压缩量5.2mm、右侧5.0mm虽然只差0.2mm但刚度耦合后位置偏移被放大。解决方法是装配时用位移传感器同时测量两侧弹簧压缩量要求两侧误差不超过±0.05mm。这个问题在后来每次装拆之后我都会重新标定一次并没有完全自动化因为机械固定结构还不够“热插拔”。说实话做成快速校准的快拆结构是这类驱动器下一步值得投入的方向。第二个坑电机电流出现周期性波动波形上带有明显的振动痕迹。排查发现不是电机本身的问题而是减速器的齿槽效应和弹簧力耦合在一起形成的力矩波动。齿槽效应产生的力矩波动频率和电机转速相关在低速大扭矩输出时影响尤其显著。解决思路有两层底层在三环控制里把速度环增益调低一点给系统更多柔度上层通过多正弦对消的方式在电流指令中注入反向的补偿分量。这个补偿不需要精确知道齿槽力矩的完整信息用迭代学习控制的方式在线辨识补偿参数即可效果不错电流波动幅值由峰峰值0.8A降到0.35A。第三个坑传感器零点漂移导致刚度计算偏差。直线位移传感器在长时间运行后因温升出现零点漂移实测漂移量最大约0.06mm换算成刚度误差约0.8%单独看不大但反馈进刚度闭环后会让刚度控制产生约5~10%的偏移。解决办法是在控制软件里每次开机后执行一次零点校准流程输出轴空载状态下记录传感器初值之后每次计算刚度都用实时数据减去初值。此外我还加了一个温度补偿模型把传感器外壳的温度也采集进来用线性补偿系数修正读数漂移量进一步降了一半。第四个坑EtherCAT通讯偶发丢包。这个问题排查了很久最终发现是电机驱动板的屏蔽地没有和机箱地可靠连接在电机启停瞬间地电位波动干扰了通讯线。解决办法是把接地线加粗并改为星型单点接地同时在通讯线下游加了磁环丢包率从万分之一降到了可以忽略不计。这类接地问题在机器人调试中出现频率极高我建议所有调试者在装配初期就把接地设计打好——等整机联调时再补接地非常痛苦。第五个坑机械谐振的位置和理论计算不完全一致。理论预算是约5Hz附近实验测量却是6Hz。偏差原因主要是理论模型里没有包含弹簧导向筒和输出联轴器的附加惯量及柔度。后来我重新建了多体动力学模型把联轴器的刚度串进模型仿真出来的谐振频率就和实验吻合了。这件事提醒我机械建模永远别嫌细传动链里的每一个弹性环节在分析柔顺关节时都可能是显著影响。6. 一些个人心得与后续方向最后说几句我自己的真实体会。做变刚度驱动器最大的门槛不在零件加工和装配而在于你的控制模型是否和机械结构“对得上”。设计和选型阶段多花时间做动力学建模和仿真后面调试能省一大半功夫。我在这个项目里前期建模不够细少了联轴器柔度后期花了好几天排查谐振问题这笔时间账大家要记好。另一个值得分享的做法是每个模块单独做实验验证后再整机联调。我调试这台样机时先把电机模块单独跑空载测试确认电流环、速度环正常后再装弹簧机构装好弹簧机构后又先做静态标定再做动态响应最后还是上整机。这样一层层递进每个阶段的问题范围都很小非常容易定位。如果一上来就整机通电出了问题根本不知道先查哪边。这个项目后续我打算往两个方向发展一是把刚度调节带宽再往上提一点目标到4Hz以上以便支持更快的跑跳运动二是把变刚度机构小型化、轻量化让整套模块的总重量控制在500g以内减小对腿部动力学的不良影响。你如果也在做类似的东西欢迎带着具体问题来交流很多细节只有实际跑过才知道怎么回事。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Origin加轴必知:双Y轴与数据关联核心技巧 2026/9/26 2:27:58

Origin加轴必知:双Y轴与数据关联核心技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Rufus 启动U盘制作完整指南:格式化、写入、校验一窗搞定 2026/9/26 2:27:58

Rufus 启动U盘制作完整指南:格式化、写入、校验一窗搞定

Rufus 启动U盘制作完整指南:格式化、写入、校验一窗搞定 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus Rufus 是一款免费的 USB 格式化工具,能把 U 盘格式化并制作成系统…

阅读更多 →
运动物体检测实战:光流辅助YOLO的四步优化法 2026/9/26 2:27:58

运动物体检测实战:光流辅助YOLO的四步优化法

简介:本资源是一套面向计算机视觉初学者与进阶开发者的运动目标检测实践代码包,聚焦于视频流中运动物体的实时定位与识别,适用于智能交通、行为分析、安防监控等典型场景。压缩包共139个文件,含122张交通场景实拍JPG图像&#xff…

阅读更多 →
丹青S25/S25T小型轴类零件测量要领与工程化管理实战 2026/9/26 2:27:52

丹青S25/S25T小型轴类零件测量要领与工程化管理实战

在精密制造现场,小型轴类零件的检测一直是个“既简单又麻烦”的环节。说简单,是因为轴类零件的几何特征清晰,无非是直径、长度、圆度、跳动;说麻烦,是因为零件尺寸小、公差严、批量大,通用测量设备要么精度…

阅读更多 →
F2 Chart 图表组件完整指南:坐标系、度量配置、样式与主题定制 2026/9/26 2:27:52

F2 Chart 图表组件完整指南:坐标系、度量配置、样式与主题定制

数据可视化前端 【免费下载链接】F2 📱📈An elegant, interactive and flexible charting library for mobile. 项目地址: https://gitcode.com/gh_mirrors/f2/F2 点击查看 免费下载 Chart 是 F2 图表库的核心组件,负责创建各类统…

阅读更多 →
接近传感器误触发三大内幕:电气干扰、光学环境与安装选型解析 2026/9/26 2:27:52

接近传感器误触发三大内幕:电气干扰、光学环境与安装选型解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉