肌肉驱动技术
传统电机 + 减速器的驱动方式虽然成熟,但存在刚度大、顺应性差、能量效率低等问题。人工肌肉技术模仿生物肌肉的柔顺、高功率密度特性,为人形机器人驱动提供了新方案。本文深入解析各类人工肌肉技术的原理、特性与应用。
一、人工肌肉概述
1.1 生物肌肉特性
骨骼肌特性:
生物肌肉性能指标
├── 收缩率
│ └── 20-40%(长度变化)
│
├── 应力
│ └── 0.3-0.5 MPa(单位面积力)
│
├── 功率密度
│ └── 100-500 W/kg
│
├── 能量密度
│ └── 50-100 J/kg
│
├── 效率
│ └── 20-40%(化学能→机械能)
│
├── 响应时间
│ └── 30-100 ms
│
├── 寿命
│ └── 10 亿 + 次循环
│
└── 自修复
└── 可再生、自适应
特点:
├── 柔顺(可变刚度)
├── 安静(无齿轮噪音)
├── 安全( compliant interaction)
└── 高效(弹性储能)
1.2 人工肌肉分类
人工肌肉技术分类
├── 气动驱动
│ ├── McKibben 肌肉
│ ├── 编织气动网络
│ └── 气动人工肌肉(PAM)
│
├── 智能材料
│ ├── 形状记忆合金(SMA)
│ ├── 介电弹性体(DEA)
│ ├── 离子聚合物金属复合物(IPMC)
│ └── 液晶弹性体(LCE)
│
├── 液压/液体
│ ├── 液压放大自愈合(HASEL)
│ ├── 液体结晶弹性体
│ └── 微流体驱动
│
├── 热驱动
│ ├── 双金属片
│ ├── 热膨胀材料
│ └── 蒸汽驱动
│
└── 其他
├── 磁力驱动
├── 静电驱动
└── 光驱动
1.3 性能对比
| 类型 | 应变 | 应力 | 功率密度 | 响应 | 效率 | 成本 |
|---|---|---|---|---|---|---|
| 生物肌肉 | 20-40% | 0.4 MPa | 400 W/kg | 50ms | 30% | - |
| McKibben | 20-30% | 2 MPa | 200 W/kg | 20ms | 60% | 中 |
| SMA | 4-8% | 500 MPa | 50 W/kg | 1s | 5% | 高 |
| DEA | 10-30% | 0.1 MPa | 100 W/kg | 10ms | 80% | 中 |
| HASEL | 10-20% | 0.5 MPa | 150 W/kg | 50ms | 70% | 高 |
| 电机 | 连续 | - | 50 W/kg | 5ms | 90% | 低 |
二、McKibben 气动肌肉
2.1 工作原理
结构:
McKibben 肌肉结构
┌─────────────────────────────────────┐
│ 端盖 │
│ ┌─────────────────────────────┐ │
│ │ 编织网套 │ │
│ │ ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲ │ │
│ │ ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱ │ │
│ │ │││││││││││││││││││││││ │ │
│ │ │││ 橡胶内管 ││││││││││ │ │
│ │ │││││││││││││││││││││││ │ │
│ │ ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲ │ │
│ └─────────────────────────────┘ │
│ 端盖 │
└─────────────────────────────────────┘
组件:
├── 内层:弹性橡胶管(气密)
├── 外层:编织网套(不可伸展)
├── 端盖:密封 + 连接
└── 气口:充气/放气
工作原理:
充气收缩过程
1. 初始状态
- 橡胶管松弛
- 编织角约 54°
- 长度 L₀
2. 充气
- 气压 P 进入内管
- 橡胶管径向膨胀
- 直径从 D₀ 增加到 D
3. 收缩
- 编织网限制径向膨胀
- 径向膨胀→轴向收缩
- 长度从 L₀ 减少到 L
4. 产生拉力
- 收缩受阻时产生拉力 F
- F 与气压 P 成正比
数学模型:
F = P × D₀² × π × (3×cos²θ - 1) / 4
其中:
- F: 拉力
- P: 气压
- D₀: 初始直径
- θ: 编织角
最优编织角:θ = 54.7°(tanθ = √2)
此时收缩力最大
2.2 特性分析
力 - 位移特性:
import numpy as np
import matplotlib.pyplot as plt
def mckibben_force(P, D0, theta0, L0, L):
"""
McKibben 肌肉力 - 位移模型
"""
# 当前编织角
theta = np.arccos(np.sqrt((L/L0)**2 * np.cos(theta0)**2))
# 拉力
F = P * D0**2 * np.pi * (3 * np.cos(theta)**2 - 1) / 4
return F
# 参数
P = 5e5 # 5 bar
D0 = 0.02 # 20mm
theta0 = np.deg2rad(54.7)
L0 = 0.2 # 200mm
# 位移范围
L = np.linspace(0.6*L0, L0, 100)
# 计算力
F = mckibben_force(P, D0, theta0, L0, L)
# 绘图
plt.figure(figsize=(10, 6))
plt.plot((L0 - L) / L0 * 100, F / 100, 'b-', linewidth=2)
plt.xlabel('收缩率 (%)')
plt.ylabel('拉力 (N)')
plt.title('McKibben 肌肉力 - 位移曲线 (5 bar)')
plt.grid(True)
plt.savefig('mckibben_force_displacement.png')
# 特性总结
print(f"最大收缩率:{(1 - L.min()/L0) * 100:.1f}%")
print(f"最大拉力:{F.max():.0f} N")
print(f"额定拉力(10% 收缩):{mckibben_force(P, D0, theta0, L0, 0.9*L0):.0f} N")
输出特性:
典型 McKibben 肌肉性能
型号:DMSP-20-200(Festo)
├── 初始长度:200mm
├── 初始直径:20mm
├── 工作气压:0-6 bar
├── 最大收缩率:25%
├── 最大拉力:1200 N(6 bar, 0% 收缩)
├── 额定拉力:600 N(6 bar, 10% 收缩)
├── 重量:150g
├── 功率密度:400 W/kg
└── 响应时间:20ms(充气)、50ms(放气)
力 - 压力关系:
├── 1 bar: 200 N
├── 2 bar: 400 N
├── 3 bar: 600 N
├── 4 bar: 800 N
├── 5 bar: 1000 N
└── 6 bar: 1200 N
2.3 控制系统
气压控制系统:
class PneumaticMuscleController:
"""
气动肌肉控制器
"""
def __init__(self):
# 硬件
self.pressure_sensor = PressureSensor()
self.length_sensor = LengthSensor()
self.proportional_valve = ProportionalValve()
# 模型参数
self.P_max = 6e5 # 最大气压 6 bar
self.F_max = 1200 # 最大拉力
self.k_p = 100 # 位置增益
self.k_f = 0.1 # 力增益
# 状态
self.target_length = None
self.target_force = None
def position_control(self, target_length):
"""
位置控制
"""
self.target_length = target_length
# 测量当前长度
current_length = self.length_sensor.read()
# 位置误差
error = target_length - current_length
# 计算目标气压(简化模型)
# 收缩需要充气,伸长需要放气
if error > 0:
# 需要收缩→充气
target_pressure = self.P_max * (error / 0.25) # 25% 最大收缩
else:
# 需要伸长→放气
target_pressure = 0
# 限制气压
target_pressure = np.clip(target_pressure, 0, self.P_max)
# 设置气压
self.proportional_valve.set_pressure(target_pressure)
def force_control(self, target_force):
"""
力控制(阻抗控制)
"""
self.target_force = target_force
# 测量当前力(从气压估算)
current_pressure = self.pressure_sensor.read()
current_force = self.pressure_to_force(current_pressure)
# 力误差
error = target_force - current_force
# 调整气压
delta_pressure = self.k_f * error
new_pressure = current_pressure + delta_pressure
# 限制
new_pressure = np.clip(new_pressure, 0, self.P_max)
self.proportional_valve.set_pressure(new_pressure)
def impedance_control(self, target_position, stiffness):
"""
阻抗控制(可变刚度)
F = k × (x_target - x_current)
"""
current_length = self.length_sensor.read()
# 计算目标力
target_force = stiffness * (target_position - current_length)
# 力控制
self.force_control(target_force)
def pressure_to_force(self, P):
"""
气压→力转换(简化模型)
"""
# 假设 10% 收缩
contraction = 0.1
return P * 0.002 # 简化系数
2.4 应用案例
仿生手臂:
气动肌肉仿生手臂设计
结构:
├── 上臂
│ ├── 肱二头肌:McKibben 肌肉 ×2
│ └── 肱三头肌:McKibben 肌肉 ×2
│
├── 前臂
│ ├── 屈肌群:McKibben 肌肉 ×4
│ └── 伸肌群:McKibben 肌肉 ×4
│
└── 手
└── 腱驱动:微型气动肌肉 ×10
性能:
├── 肘关节扭矩:50 Nm
├── 屈曲速度:100°/s
├── 负载能力:5kg
└── 重量:1.5kg(不含气源)
优势:
├── 顺应性好(安全人机交互)
├── 功率密度高
├── 安静(无电机噪音)
└── 仿人外观
劣势:
├── 需要气源(空压机)
├── 控制复杂(非线性)
├── 效率较低(压缩损失)
└── 响应较慢(气体可压缩)
三、形状记忆合金(SMA)
3.1 工作原理
相变机制:
SMA 形状记忆效应
┌─────────────────────────────────────┐
│ 低温相(马氏体) │
│ - 柔软、易变形 │
│ - 可塑性变形 │
│ │
│ ════════════════════ (原始) │
│ ════════════════════ (拉伸) │
│ │
└──────────────┬──────────────────────┘
│ 加热
▼
┌─────────────────────────────────────┐
│ 高温相(奥氏体) │
│ - 刚硬、恢复原状 │
│ - 产生收缩力 │
│ │
│ ════════════════════ (恢复) │
│ │
└─────────────────────────────────────┘
相变温度:
├── As:奥氏体开始温度
├── Af:奥氏体结束温度
├── Ms:马氏体开始温度
└── Mf:马氏体结束温度
典型 NiTi 合金:
- Af: 60-90°C
- 相变应变:4-8%
- 恢复应力:500-800 MPa
3.2 特性分析
NiTi 丝性能:
NiTi 形状记忆合金丝
规格:Φ0.5mm
├── 相变温度:Af = 70°C
├── 最大应变:6%
├── 恢复应力:600 MPa
├── 工作温度:室温 -100°C
├── 驱动频率:0.1-1 Hz
├── 寿命:10 万 -100 万次
└── 效率:2-5%
力输出:
├── 截面积:A = π×(0.25)² = 0.2 mm²
├── 最大力:F = 600 MPa × 0.2 mm² = 120 N
└── 功率密度:50 W/kg
加热方式:
├── 电阻加热(最常用)
│ └── I²R 加热,简单控制
├── 热空气/液体
│ └── 外部热源
└── 激光/红外
└── 非接触加热
冷却方式:
├── 自然冷却(慢,>1s)
├── 强制风冷(中,0.5s)
└── 水冷(快,<0.1s)
3.3 控制挑战
问题与对策:
SMA 控制挑战
├── 问题 1:响应慢(加热快、冷却慢)
│ └── 对策:强制冷却、脉冲控制
│
├── 问题 2:非线性(滞后、蠕变)
│ └── 对策:模型预测控制、自适应
│
├── 问题 3:效率低(电热转换)
│ └── 对策:优化设计、能量回收
│
└── 问题 4:寿命有限(疲劳)
└── 对策:应变限制、应力控制
控制策略:
├── 位置控制
│ └── 电阻→温度→应变→位置
│
├── 力控制
│ └── 电阻→温度→应力→力
│
└── 阻抗控制
└── 可变刚度(相变调节)
3.4 应用案例
SMA 仿生手:
SMA 驱动仿生手
设计:
├── 手指:5 指 × 3 关节
├── 驱动:SMA 丝 × 15(每指 3 根)
├── 复位:弹簧/弹性体
└── 重量:200g
性能:
├── 抓握力:30N
├── 响应时间:0.5s(屈曲)、1s(伸展)
├── 工作频率:0.5 Hz
└── 功耗:平均 5W
优势:
├── 静音
├── 紧凑
├── 仿人外观
└── 安全
劣势:
├── 响应慢
├── 效率低
├── 需要冷却
└── 成本高
应用:
├── 假肢手
├── 精细操作
└── 微型机器人
四、介电弹性体(DEA)
4.1 工作原理
静电致动:
介电弹性体致动器
结构:
┌─────────────────────────────────────┐
│ 上电极(柔性) │
├─────────────────────────────────────┤
│ 介电弹性体薄膜 │
│ - 硅胶、丙烯酸酯 │
│ - 厚度:10-100 μm │
├─────────────────────────────────────┤
│ 下电极(柔性) │
└─────────────────────────────────────┘
工作原理:
1. 施加电压 V
2. 电极间产生电场 E = V/d
3. 静电力(麦克斯韦应力)
p = ε₀ × εr × E²
4. 薄膜压缩(厚度方向)
5. 面积膨胀(平面方向)
应变公式:
S = ε₀ × εr × (V/d)² / Y
其中:
- S: 应变
- ε₀: 真空介电常数
- εr: 相对介电常数
- V: 电压
- d: 薄膜厚度
- Y: 杨氏模量
典型性能:
├── 应变:10-30%
├── 应力:0.1-0.5 MPa
├── 响应:1-10 ms
├── 效率:80-90%
└── 电压:1-5 kV
4.2 结构设计
卷绕式 DEA:
卷绕式 DEA 结构
┌─────────────┐
│ 中心轴 │
│ ═══════ │
┌───┴───┐ ┌───┴───┐
│ DEA │ │ DEA │
│ 卷绕 │ │ 卷绕 │
│ ═════ │ │ ═════ │
│ ═════ │ │ ═════ │
└───┬───┘ └───┬───┘
│ │
└──────┬──────┘
│
负载连接
特点:
├── 多层卷绕,增加位移
├── 双向驱动(对置)
├── 预拉伸,提高性能
└── 紧凑设计
性能:
├── 应变:15-25%
├── 力:50-200 N
├── 响应:10-50 ms
└── 电压:2-5 kV
4.3 应用案例
DEA 仿生鱼:
DEA 驱动仿生鱼
设计:
├── 鱼尾:DEA 薄膜 × 4
├── 身体:柔性骨架
├── 控制:高压电源 + 控制器
└── 重量:500g(含水)
性能:
├── 游动速度:0.5 m/s
├── 频率:1-3 Hz
├── 续航:30 分钟
└── 深度:1-5m
优势:
├── 静音(无电机)
├── 高效(80%+)
├── 柔性(仿鱼游动)
└── 安全(低压驱动)
挑战:
├── 高压绝缘(水下)
├── 封装防水
└── 能量密度
五、HASEL 人工肌肉
5.1 工作原理
液压放大自愈合:
HASEL 致动器结构
┌─────────────────────────────────────┐
│ 柔性外壳 │
│ ┌─────────────────────────────┐ │
│ │ 绝缘油(介电液体) │ │
│ │ ╔═══════════════════════╗ │ │
│ │ ║ 电极(两侧) ║ │ │
│ │ ╚═══════════════════════╝ │ │
│ │ │ │ │
│ │ 液体腔室 │ │
│ └─────────────────────────────┘ │
└─────────────────────────────────────┘
工作原理:
1. 施加电压
2. 电极间静电力
3. 挤压绝缘油
4. 液体压力传递
5. 腔室变形(收缩/膨胀)
特点:
├── 自愈合(液体填充裂纹)
├── 高应力(0.5-1 MPa)
├── 快速响应(50-100 ms)
├── 高效率(70%+)
└── 安全工作电压(5-10 kV)
5.2 性能对比
HASEL vs 其他人工肌肉:
| 特性 | HASEL | McKibben | SMA | DEA |
|---|---|---|---|---|
| 应变 | 10-20% | 20-30% | 4-8% | 10-30% |
| 应力 | 0.5-1 MPa | 2 MPa | 500 MPa | 0.1 MPa |
| 响应 | 50ms | 20ms | 1s | 10ms |
| 效率 | 70% | 60% | 5% | 80% |
| 寿命 | 100 万 | 500 万 | 10 万 | 1000 万 |
| 电压 | 5-10 kV | 0.01 MPa | 5V | 1-5 kV |
5.3 应用前景
HASEL 应用方向
├── 人形机器人关节
│ └── 替代传统电机,提升顺应性
│
├── 软体机器人
│ └── 全柔性驱动
│
├── 医疗机器人
│ └── 安全人机交互
│
├── 可穿戴设备
│ └── 助力外骨骼
│
└── 微型机器人
└── 微型 HASEL 阵列
六、总结
6.1 技术对比
| 技术 | 成熟度 | 成本 | 功率密度 | 顺应性 | 商用时间 |
|---|---|---|---|---|---|
| McKibben | ⭐⭐⭐⭐ | 中 | 高 | 高 | 已商用 |
| SMA | ⭐⭐⭐ | 高 | 中 | 中 | niche |
| DEA | ⭐⭐ | 中 | 中 | 很高 | 研究中 |
| HASEL | ⭐⭐ | 高 | 高 | 很高 | 早期 |
| 电机 | ⭐⭐⭐⭐⭐ | 低 | 中 | 低 | 主流 |
6.2 发展趋势
人工肌肉发展趋势
短期(1-3 年):
├── McKibben 商业化(协作机器人)
├── SMA 微型应用(微型机器人)
└── 混合驱动(电机 + 人工肌肉)
中期(3-5 年):
├── DEA 实用化(软体机器人)
├── HASEL 工程化
└── 智能材料集成
长期(5-10 年):
├── 生物混合肌肉
├── 自修复材料
└── 能量自给
6.3 投资启示
- McKibben:Festo、麦格纳(已商用)
- SMA:Miga Motors(niche 市场)
- DEA/HASEL:Bolt、Artimus(早期)
- 风险:技术成熟度低、成本高、生态不完善
人工肌肉技术为人形机器人提供了超越传统电机的可能性。虽然目前仍处于早期阶段,但其高功率密度、柔顺、安全的特性,使其成为未来人形机器人驱动的重要方向。随着材料科学和制造技术的进步,人工肌肉有望在 5-10 年内实现大规模商用。
参考资料:
- 人工肌肉技术综述
- Festo 气动肌肉产品文档
- SMA 形状记忆合金手册
- 各研究机构论文