本文翻译自 CARA 2.0 — Aaed Musa,原载于 Hacker News。
序言:从”绞盘驱动器小哥”到毕业设计
2024年5月31日,Aaed Musa 上传了一期名为《用绳索制作高精度减速器》的视频,展示了一种叫做 capstan drive(绞盘驱动器)的特殊减速机构。没想到这期视频直接爆了,他也因此被网友冠以”绞盘驱动器小哥”的称号。直到今天,这仍是他播放量最高的视频,每天还有大量邮件和私信询问绞盘驱动器的事情。
大约一年后,他创建了 CARA——一台使用绞盘驱动的四足机器人。又过了一年,CARA 2.0 诞生了。这个项目特别之处在于,它是 Aaed 的本科毕业设计(Senior Design Project)。考虑到他从高中起就痴迷于制造四足机器人,用自己最拿手的项目来结束大学生涯,再合适不过了。
他和团队的目标很明确:打造一台低成本(<$1000)、轻量(<20 lbs)且耐用的四足机器人,让爱好者和研究人员都能负担得起。
低成本动态执行器:机器人设计的第一块基石
执行器(Actuator)是机器人最基础也最核心的机电组件,同时也是成本和性能的主要决定因素。要在 $1000 以内造出一台四足机器人,从执行器入手是必然的选择。
好消息是,低成本动态执行器的蓝图已经在线上有大量文档了。Ben Katz 在开发 MIT Mini Cheetah 时开创了先河,他在论文《A Low Cost Modular Actuator for Dynamic Robots》中详细记录了设计思路。Katz 推广了 Quasi Direct Drive (QDD,准直驱) 执行器的概念——将高扭矩无刷电机(通常具有大气隙半径)、低减速比变速箱(通常低于 10:1)和 FOC(磁场定向控制)控制器结合在一起,实现位置、速度和扭矩控制。
QDD 的名字来源于低减速比能够保留直驱执行器的诸多优势:高效率、高透明度和可反向驱动性(backdriveability)。

从左到右:高扭矩 BLDC 电机、9:1 行星齿轮箱、FOC 控制器
执行器硬件选型
CARA 1.0 的每个执行器成本约 $250,其中 BLDC 电机占 32%,FOC 控制器占 60%。要把成本压到 $50-$60,难度相当大。经过大量调研,团队找到了合适的方案:
CARA 1.0 方案(昂贵):
- Eagle Power 8308 BLDC 电机:$80,340g,KV 90,实测堵转扭矩 1.67 Nm
- ODrive S1 FOC 控制器:$150,支持 12-48V,持续电流 40A
CARA 2.0 方案(便宜):
- TYI 5008 BLDC 电机:仅 $18!160g,KV 335,实测堵转扭矩 0.421 Nm
- MKS XDrive Mini FOC 控制器:$41,支持 12-56V,持续电流 60A
TYI 5008 是一款极为便宜的中国产无刷电机,价格仅为 CARA 1.0 所用电机的 1/4。令人惊喜的是,它的质量还不错——使用了弧形磁铁和平衡胶。XDrive 控制器性价比更高,同样是 ODrive S1 的 1/4 价格,但额定电压和电流反而更高!
不过便宜也有便宜的代价,后面会讲到。
重新绕线:一场”关节炎速通”
TYI 电机最大的问题是 KV 值太高(即扭矩常数 Kt 太低,单位电流产生的扭矩小)。最简单的解决办法是使用高减速比齿轮箱,但 QDD 执行器必须用低减速比。
于是团队决定重新绕线(rewinding)来降低 KV 值。Aaed 在拆解电机后发现,原厂绕线留有大量空间。这些电机最初是为无人机设计的,低绕线密度意味着高 KV 值和高转速。
原厂绕线参数:
- Delta(三角形)接线方式
- 22 匝/槽
- 单股 22 AWG 漆包线
目标是将 KV 从 335 降到 100。具体方案:
- 改用 Star(星形)接线——相同绕线下,星形接线的 KV 是三角形接线的 1/√3
- 使用单股 24 AWG 漆包线——太粗塞不下足够的匝数,太细需要多股并联同样占空间
- 通过公式计算目标匝数:
目标匝数 = (原厂KV / 目标KV) × (1/√3) × 原厂匝数 = (335/100) × 0.577 × 22 ≈ 39 匝/槽
实际取 40 匝/槽(便于均匀分布)。
重绕后的结果令人满意:
| 参数 | 原厂 | 重绕后 |
|---|---|---|
| KV | 335 | 90 |
| 重量 | 160g | 160g |
| 堵转扭矩 | 0.421 Nm | 1.274 Nm |
一个有趣的发现:重绕后的电机重量与原厂完全一样。这说明你可以在不改变铜量的情况下,彻底改变电机的特性。
个人感悟: 电机重绕是一个被低估的技能。对于做机器人硬件的朋友来说,理解电机绕线原理(星形 vs 三角形、匝数与 KV 的关系)可以帮助你用极低成本获得高性能的定制电机。这也是中国制造的电机特别适合 DIY 改造的原因——便宜、可修改空间大。
便宜控制器的问题排查
XDrive Mini 控制器虽然便宜又强大,但问题也一堆。Aaed 坦言:当你花 $150 买 ODrive S1 时,你不仅仅在买硬件,还在买 UI、文档和持续的技术支持。便宜的替代品?这些统统没有。
XDrive 本质上是 ODrive 3.6 的单轴克隆版,外形模仿 ODrive S1。核心问题是通信——UART 模式一切正常,但 CAN bus 不行。
对于高自由度机器人来说,UART 是不够用的。Teensy 4.1 MCU 只有 8 个 UART 端口,最多控制 8 个电机,而四足机器人需要 12 个。CAN bus 才是机器人领域首选的通信协议。
经过大量排查——更换循环频率、降低心跳和消息速率以减轻总线拥堵、尝试 ODrive 开源固件的各个版本——都没有解决通信不稳定的问题(电机有时运行一分钟就断连,有时能跑一小时)。
最终,Aaed 在网上找到了 Mohammad Marshid,他为 XDrive 创建了自定义固件,能够发送编码器反馈。Aaed 联系了他,Mohammad 还帮忙添加了电流反馈功能。问题终于解决——这些板子只能使用其原生固件才能正常工作。
教训: 在机器人项目中,通信问题的排查往往是耗时最多的环节。选择硬件时,不仅要看参数和价格,还要考虑社区支持、文档质量和固件稳定性。
绞盘驱动器关节测试
电机和控制器的问题解决后,下一步是制造单个关节测试台。
驱动器设计类似之前的绞盘驱动器:一个小鼓轮通过张紧绳索带动大鼓轮旋转。参数如下:
- 重量:470g (1 lb)
- 减速比:9.6:1
- 峰值扭矩:12 Nm
- 运动范围(ROM):120°
关于绞盘驱动器的设计,Aaed 分享了一个重要心得:追求精确的减速比是徒劳的。他曾花了大量时间推导方程来精确计算鼓轮直径,但公式总是不能通用。正确的方法是:确定目标减速比,用数学估算鼓轮直径,然后通过实际测量计算实际减速比(Δ输出轴位置 / Δ电机轴位置)。
绳索使用了 Dyneema DM20(最低蠕变的绳索),具体是 1mm Mastrant-M 双编绳,抗拉强度 100 kg,工作载荷 30 kg。这次还增加了预拉伸步骤,帮助消除松弛,减少安装后的张紧调整量。
单关节总成本约 $80,略高于目标范围,但仍然相当实惠。
单腿设计
有了单个关节,接下来自然是设计一条完整的腿。
CARA 1.0 的经验告诉团队,同轴五连杆(coaxial 5-bar linkage) 设计是最理想的,因为相比标准四足腿部设计,每个连杆承受的载荷更小。而且大多数四足机器人不使用这种设计,让 CARA 独树一帜。同轴五连杆与绞盘驱动器堪称绝配——Aaed 认为这是用绞盘驱动器制造 3-DOF(三自由度)腿部最紧凑的方式。
设计优化方向:
- 减少镜像零件:CARA 1.0 用了大量镜像零件,组装时容易混淆。这次团队决定让所有腿完全相同。(后来证明这个决定带来了问题,后文详述)
- 减少螺丝数量:能用 2 个螺丝固定的地方就不用 4 个。螺丝增加成本、重量和组装时间
- 去掉冗余约束:过度约束(overconstraining)看似无害,实则不然。就像四条腿的桌子——其实只需三条腿就能完全约束,第四条腿反而可能在桌面不平整时导致晃动
- 使用更薄的轴承:腿部有很多径向约束的零件,轻量轴承对减重效果显著
单腿总重量:1.47 kg (3.24 lbs)。
五连杆比例的学问
CARA 1.0 的上下连杆比是 1:2,当时只是凭感觉选的。这次团队用 MATLAB 仿真分析了理想比例,发现 1:1 的比例能提供最大的运动范围。但 1:1 看起来有点怪,最终选择了 2:3 的比例,兼顾运动范围和美观。
从 TPU 脚到壁球脚
CARA 2.0 腿部最大的性能改进是用壁球(squash ball)取代了 TPU 材质的脚垫。TPU 脚垫只是柔性塑料,缺乏弹性和抓地力。壁球则兼具弹性和抓地力,而且超级便宜。MIT Mini Cheetah 和 Stanley 等高性能四足机器人也使用了壁球。
壁球有四种硬度等级:蓝点(入门)、红点(进阶)、单黄点(比赛)、双黄点(职业)。团队选择了最硬、弹性最小的双黄点壁球。
由于壁球脚无法放在五连杆枢轴的中心(像 TPU 脚那样),需要重新推导逆运动学(IK)方程。关于学习推导 IK 方程,Aaed 的建议是:
看起来很难,其实不然。只是很繁琐,容易出错。我从没用过超过初中几何的知识来推导 IK 或 FK 方程。任何复杂的机器人结构都可以分解成一系列三角形。我只看过 James Bruton 关于 IK 的视频就学会了基本原理。
整机组装
机器人结构设计
基于 CARA 1.0 的经验,2.0 版本做了多项改进:
- 电子设备集中化:CARA 1.0 的电子设备分置前后两个舱,需要大量长线缆连接。2.0 版本改为顶部电子箱(e-box),大大简化了布线。e-box 还让电池能放置在机器人重心位置
- 瘦身:1.0 被网友吐槽像”哈巴狗”或”奶牛”(Aaed 表示他讨厌哈巴狗),将电子设备从中间移到顶部显著减小了宽度
- 3D 打印替代碳纤维管:CARA 1.0 的框架使用碳纤维管,成本很高。2.0 版本改用全 3D 打印结构
重量对比:
- CARA 1.0:31.41 lbs (14.25 kg),尺寸 630 × 457 × 428 mm
- CARA 2.0:18.2 lbs (8.26 kg),尺寸 521 × 353 × 425 mm
重量几乎减半!CARA 2.0 全部使用 PLA 材料,在 Bambu Lab A1 和 X1C 上打印。
电子系统
CARA 2.0 的电路原理图出奇地简单——所有电子元件都可以直接购买,在万用板上组装,不需要定制 PCB。
一个重要发现是 CAN bus 的正确接线方式:设备必须以总线方式连接(每个设备连接前后设备),两端各需要 120Ω 终端电阻(CAN H 和 CAN L 之间),总电阻 60Ω。
机器人领域的”幽灵问题”出了名的多,所以尽量减少潜在故障点至关重要。正确接线虽然看起来繁琐,但在关键时刻能帮你省去大量调试时间。

步态编程
机器人采用 trot(对角步态)——对角线上的两条腿同时迈步,始终保持至少两条腿着地以维持稳定。
步态序列分为四个阶段:
- Pre-loop:机器人收到行走指令后,先调整腿部位置准备进入循环
- Loop:持续运行的核心循环,直到收到停止指令
- Continuous loop:循环内的子序列,除非收到停止指令否则一直运行
- Post-loop:退出循环后完成当前步伐的收尾动作
步态轨迹使用摆线(cycloid)曲线——Aaed 在 CARA 1.0 上试验了多种轨迹后,发现摆线的步态最自然。

一个令人头疼的设计缺陷
初步行走测试中发现了一个奇怪的问题:机器人每次直线行走时都会向左偏转。CARA 1.0 从没出现过这个问题。
团队尝试了各种软件补偿方案(让两侧腿迈出不同步幅),但问题依旧。最终根因分析揭示了一个物理层面的缺陷:
还记得前面提到的”让所有腿完全相同”的设计决策吗?问题就在这里。当左右腿完全相同时,脚实际上并不是垂直朝下的——总是有一个微小的角度偏移。这导致左右两侧产生不对称的力,从而造成步态偏转。
想象一下你的左腿朝后而不是朝前,你大概也很难走直线。
修复方案:重新设计前后腿和左右腿,使其对称。值得注意的是,如果使用强化学习(Reinforcement Learning)来训练步态,理论上可以让机器人在不对称的腿部结构下学会走直线(迪士尼的 Olaf 机器人就是这么做的),但最好还是从设计上保证平衡。
转向优化
CARA 1.0 的转向速度慢得离谱。一位粉丝指出原因:转向时脚的步进方向是直接侧向,而不是 45° 角方向。正确的方法是——转向时机器人实际上是在一个圆上旋转,每只脚应该沿着圆的切线方向迈步。
动态稳定性改进
CARA 1.0 的动态稳定性方案有一个致命的逻辑缺陷:使用 IMU 测量倾斜角度,然后让机器人旋转一个等大反向的角度。问题在于,当机器人旋转后,IMU 测量变为 0°,机器人又回到原位,如此循环——实际上机器人根本没动。
正确的方法是让机器人移动重心,使其始终保持在支撑腿之间。就像人类走斜坡时会自然前倾以避免后仰一样。CARA 2.0 通过三角学计算确定重心偏移量,实现了有效的动态稳定性。
最终规格
| 参数 | 数值 |
|---|---|
| 总成本 | $1,450 |
| 重量 | 18.2 lbs (8.26 kg) |
| 尺寸(站立) | 521 × 353 × 425 mm |
| 行走速度 | 1.8 ft/s (0.55 m/s) |
| 有效载荷 | 15 lbs (6.8 kg) |
| 电池电压 | 24V |
| 电池容量 | 3 Ah |
| 续航时间 | 约 1 小时 |
总结
CARA 2.0 虽然没有完全达成 $1,000 的成本目标,但 $1,450 对于一台功能完整的四足机器人来说仍然非常出色。成本比 CARA 1.0 砍了一半,同时保留了动态功能并在多个方面有所提升。
Aaed 坦诚地指出了一些未完成的工作,最主要的是基于强化学习的步态训练——手动编写步态序列的时代已经过去,现在的趋势是在仿真中训练后部署到硬件上。不过他已经决定结束这个项目,转向新的挑战。
关于未来,Aaed 表示他几乎不会再使用绞盘驱动器了。为什么?因为绞盘驱动器虽然在很多方面表现出色,但组装友好性太差,需要极高的精度才能制造。这也解释了为什么绞盘驱动器没有在工业界广泛应用——”我已经做过了,体验过了,接下来的机器人将使用市售执行器。”
关键收获:
- 低成本机器人不是梦——通过精心的选型和改造(如电机重绕),可以大幅降低成本
- 硬件设计中的”对称性”比”一致性”更重要——有时候看似简化设计的决定(让所有零件相同)反而会引入问题
- 通信协议的选择和调试在机器人项目中至关重要,不要低估
- 绞盘驱动器是一个有趣的技术方向,但工业应用仍面临组装精度的挑战
- 对于爱好者和研究者来说,$1,500 以下的四足机器人已经可以实现相当不错的动态性能