Nero 智能机械臂与
小脑控制系统
Nero 机械臂介绍
Nero 机械臂规格与性能参数
Nero 是一款专为教育科研、自动装配等设计的冗余臂。依据《NERO用户手册》整理的核心指标如下:
- 自重与负载: 本体重量仅为 4.8 KG,额定有效负载为 3 KG,具备极高的负载自重比。
- 高定位精度: 重复定位精度达到 ±0.1 mm,工作半径达 580 mm,结构紧凑且工作空间宽广。
- 铝合金骨架: 机械臂本体采用高强度铝合金骨架,外配轻质塑料外壳保护,集成度高且便于维护。
- 电气功率消耗: 标准工作电压为 DC 24V,最大功耗不超过 150W,综合工况典型功耗仅 ≤60W。
Nero 的两种控制模式
位置速度模式(常规模式)
告诉机械臂"去哪个位置",固件自动规划平滑路径。简单、安全、对指令频率要求低。
- 适合做什么:定点搬运、沿路径运动、示教回放等日常任务。
- 局限:不能直接控制关节力矩,无法做力/阻抗闭环实验。
💡 调用运动指令时固件会自动切换到对应模式,通常无需手动设置。
MIT 阻抗模式(力矩透传)
指令直接到达关节电机,不做平滑。每帧可独立设置目标位置、速度、刚度、阻尼和前馈力矩。
- kp、kd 设为 0:只用前馈力矩 tff——这是我们论文复现的主通道。
- 适合做什么:力矩闭环、阻抗控制、肌肉模型实验等需要高频直接控力矩的场景。
关节运动限制与底座电气接口说明
| 关节 | 运动范围 (手册) | 最大速度 |
|---|---|---|
| J1 / J3 | -157° ~ 157° / -160° ~ 160° | 180°/s |
| J2 / J4 | -15° ~ 190° / -60° ~ 125° | 180°/s / 325°/s |
| J5 / J6 | -160° ~ 160° / -43° ~ 58° | 225°/s |
| J7 | -90° ~ 90° | 225°/s |
- 主要物理接口:含 1 个航空插头(主电源与 CAN 总线通讯)、1 个标准 RJ45 网口及 WIFI 天线。
- XT30 末端接口:末端关节预留 XT30 (2+2),提供额外 DC 24V 供电与末端 CAN 总线接口。
- ⚠️ 电压红线警示:输入供电严禁超过 25V,超压极易损坏底座控制板保护电路;上电时需红点对接。
运动学基础:正运动学与逆运动学
运动学解决两个互逆的问题:已知关节角求末端位置,和已知末端目标求关节角。
正运动学 Forward Kinematics
已知每个关节转了多少度,求末端手爪在空间中的位置和朝向。
- 怎么算:沿着机械臂的连杆,把每个关节的旋转变换依次相乘。
- 结果:末端的坐标 (x, y, z) 和姿态(朝哪个方向)。
- 特点:关节角确定后,末端位置也唯一确定——有且只有一个答案。
逆运动学 Inverse Kinematics
已知末端想去哪个位置,求每个关节应该转多少度。
- 怎么算:可用几何公式直接求解,也可用数值迭代逼近。
- 关节多于需要时:Nero 有 7 个关节但任务只需 6 维,所以答案不止一个,需要额外规则来选最优解。
- 特殊位置问题:某些姿态下求解会不稳定,需要特殊处理来避免。
上位机 GUI 与实验脚本运行时
开发工作区与代码库语义导航
参考论文:可调节柔顺性的
神经力学控制方案
论文要解决什么问题?
人机交互中最大的矛盾:机器人既要够柔顺(被推时能让开,保证安全),又要够精准(执行任务时稳定、不跑偏)。
柔顺 vs 刚硬——一条连续可调的谱
柔顺:外力来了就让路,像橡皮一样软。
刚硬:外力来了也不动,像铁块一样硬。
传统方法只能选一头。论文想要的是:同一个控制器,通过调一个参数,就能在软和硬之间任意切换。
共收缩 c —— 控制软硬的"旋钮"
人手臂上的屈肌和伸肌同时用力绷紧,就叫"共收缩"。
论文里的 c 就模拟这个机制:
c 大 → 肌肉绷紧 → 机器人更硬更准
c 小 → 肌肉放松 → 机器人更软更柔顺
它怎么做到的?
小脑网络在线学习,输出肌肉激活信号 → 肌肉模型把激活信号和共收缩 c 转成关节力矩 → 驱动机器人运动。
全过程只需要编码器的位置反馈,不需要动力学模型,也不需要力传感器。
肌肉模型 + c → 力矩 τ
力矩 → 机器人运动
论文的五个核心实验结论
实验平台:Baxter 6 轴机械臂。任务:反复画圆和画 8 字,同时尝试不同的共收缩 c 值,并在运动中挂重物做干扰。
绷紧肌肉 → 轨迹更准
现象:c 越大,画出来的圆/8 字越稳,误差越小。
含义:提高绷紧度能提升精度,但到一定程度后效果饱和,速度太快时反而变差。
绷紧肌肉 → 抗干扰更强
现象:挂上重物后,高 c 的机器人几乎不偏,低 c 的偏得很明显。
含义:只需调一个参数 c,就能在"让开"和"顶住"之间连续切换。
小脑学习 → 软硬可调范围更大
现象:同样用肌肉模型,小脑驱动比 PD 驱动的软硬可调范围大 15–29 倍。
含义:固定增益的 PD 很难同时做到"又准又能变软",学习型控制器能做到。
挂上负载后仍能自动学会适应
现象:挂重物后,开启小脑学习,误差逐圈下降直到收敛。
含义:小脑不只抗干扰,还能"学会"新的负载条件。
能自动判断何时该变软、何时该变硬
现象:让机器人在不同粘稠度的液体中运动,设定优先"准确"还是"柔顺"后,控制器会自动调节 c。
含义:不用人手切模式,也不用提前知道环境参数,机器人就能自主适应未知环境。
复现目标与共同肌肉模型
复现目标:在 Nero 上验证论文核心结论
论文在 Baxter 上验证了 5 个结论。我们针对 Nero 的硬件条件,将每个结论转化为可执行、可量化的真机实验。
| 编号 | 论文想验证什么 | Nero 上怎么验证 | 证据页 | 进度 |
|---|---|---|---|---|
| C1 | 提高共收缩 c 是否能降低跟踪误差 | 做共收缩扫描,比较不同 c 下的关节误差和力矩变化 | 22 | 已完成 |
| C2 | 绷紧度越高,受外力推时偏得越少 | 挂重物或施加扰动,比较不同 c 下的偏差 | 后续实验 | 规划中 |
| C3 | 学习型控制器比固定 PD 有更大调节空间 | 对比 PD 临时小脑、RBF、SNN 在同一任务上的误差收敛和可调范围 | 23, 25-27 | 进行中 |
| C4 | 负载变化后,学习仍能让误差下降 | 挂载后比较学习开启前后的误差变化 | 后续实验 | 进行中 |
| C5 | 机器人能根据环境自动调节软硬 | 变工况任务:让控制器自己选择更软或更硬的状态 | 远期方向 | 远期 |
最大迁移难点:论文平台拥有更高速的力矩接口;Nero 的通信频率上限、底层滤波策略和力矩限幅行为,都需要通过专项实验逐一测定。
共同肌肉模型:四类力矩分量
不同分支都会保留同一个肌肉模型框架。差别只在于:主动发力项由谁给出,以及最终通过哪条 MIT 通道下发。
论文里的关节力矩
active ∝ AF,j − AE,j
elastic ∝ AF,j + AE,j + 2cj + γj
这里的 c 就是共收缩项,直观上决定机械臂更“软”还是更“硬”。
为什么要把力矩分量拆开记录?
如果只看总力矩,无法判断控制器内部各部分的工作状态。将四个分量分别记录后,每次实验都能追溯主动发力、弹性回复、反射修正和阻尼抑制各自的贡献量。
- 验证模型完整性:确认 Nero 上确实保留了论文中的四分量肌肉模型结构,而非简单地输出一个合成力矩。
- 观察共收缩效果:当 c 值变化时,弹性和反射分量是否按预期增强或减弱。
- 定位异常原因:当轨迹跟踪变差时,可以分辨问题出在主动发力计算、力矩下发环节还是安全限幅截断。
实验策略矩阵:执行通道与主动分量来源
后续各页的实验结果看似相似,但来自不同的实验配置。阅读前需要先区分两件事:力矩通过哪条通道下发到电机,以及主动发力项由哪种控制器产生。
| 执行通道 / 主动源 | PD 临时小脑 | RBF 网络 | SNN 小脑网络 |
|---|---|---|---|
| 纯 tff kp = kd = 0 |
已验证可用 可驱动真机,但受更新频率限制 |
未作为主线 | 未作为主线 |
| tff + 最小保底阻抗 底层仅提供基本稳定性 |
基础对照 | 学习效果最好 5–6 圈后误差显著下降 |
正在推进 |
| MIT 等效拆分 将线性项分配给 kp/kd |
可减少阶梯效应 适合线性 PD 主动项 |
存在映射失配 动态刚度坍缩,误差反升 |
未尝试 |
分支 A · PD 临时小脑 真机迁移
PD 临时小脑 分支:先验证真机闭环可行性
本分支解决什么
- 用 PD 临时小脑代替小脑网络,生成主动发力项。
- 保留肌肉模型四个分量,并记录每帧数据。
- 重点验证真机通信、反馈闭环和安全限幅是否能正常工作。
不等于整个项目的最终目标
PD 临时小脑是过渡方案。真正面向论文复现的小脑网络分支,将在后续切换到 RBF 和 SNN。
纯 tff:力矩通道验证与频率瓶颈
在 kp = 0、kd = 0 时,所有控制力矩都由上位机计算后通过 t_ff 下发。这证明了力矩通道能够驱动真机,也暴露出更新频率不足导致的力矩阶梯化问题。
- 验证通道可用:WithPD 计算的力矩确实能通过 MIT 通道到达电机,并驱动 Nero 完成画圆动作。
- 参数优化:在纯 tff 模式下调整参数后,YZ 平面轨迹的贴合程度有明显改善。
- 但瓶颈仍在:上位机更新频率有限,力矩值在两次更新之间保持不变,产生可见的阶梯效应。
PD 临时小脑 下的 MIT 等效拆分
PD 临时小脑的主动项近似线性,因此可以拆分出弹簧和阻尼部分交给底层电机的 kp/kd 执行,t_ff 只负责剩余的修正量。
tff ← reflex + viscous + 共收缩调制项
- 目的:借助电机底层闭环的高频率优势,弥补上位机更新频率的不足。
- 适用前提:主动项接近线性,才能自然地拆分到
kp/kd中。 - 注意:此结论仅适用于 PD 临时小脑分支。
同一分支内的前后对比:纯 tff vs 等效拆分
对比重点:研究目标不变,只是在 PD 临时小脑分支内切换了执行通道。等效拆分后,力矩阶梯现象明显减轻,轨迹稳定性更好。
共收缩扫描:c 越大,机械臂刚度越高
在 PD 临时小脑分支中,调节共收缩参数 c 后,能观察到论文中描述的刚度调节趋势:c 增大时关节误差下降,但需要付出更大的力矩。轨迹图与误差柱状图结合来看,刚度变化更加直观。
纯 PD 对照:能追踪,但少了肌肉模型结构
调好增益后,纯 PD 也能完成大致的轨迹追踪。但它没有共收缩调节入口,也没有四类肌肉分量记录,无法扩展到可解释、可调节的刚度控制。
分支 B · 学习小脑网络
RBF 在线学习:让机械臂“边跑边学”
目标: 把主动发力来源从 PD 临时小脑 换成 RBF 神经网络,让机械臂在 80Hz 控制环里边跑边修正。这里走的是 t_ff + 最小保底阻抗通道,不做 MIT 等效拆分。
- 核心架构: RBF 神经网络计算残差力矩
t_ff;底层只保留很小的阻抗兜底,主要学习任务交给网络。 - 学得快: 仅需跑 5-6 圈,网络就能“记住”当前轨迹,误差降到最低并保持平稳。
- 精度高: 相比没有学习前,平均误差降低了 30%~40%。
| 共收缩值 c | PD 暖启动误差 (rad) | RBF 第20圈误差 (rad) | 精度提升幅度 |
|---|---|---|---|
| c = 0.1 | 0.0127 | 0.0087 | + 31.5% |
| c = 0.5 | 0.0133 | 0.0081 | + 39.1% |
RBF × 等效拆分:高位平台与映射失配
等效拆分初衷: 尝试把 RBF 学到的主动修正和 MIT 等效拆分结合,希望同时利用网络学习和底层闭环。
- 构想: PD 临时小脑 的主动项接近线性,可以折进
kp/kd;但 RBF 学的是残差补偿,不等价于稳定的刚度。 - 现象: C=0.1 时,误差从 0.0205 上升到 0.0651 rad(+217%);J4 动态 Kp 峰值从 49.1 降到 4.4,轨迹进入高位平台,近乎发散。
- 反思: 问题不只是调参,而是“残差学习”与“动态刚度映射”之间不匹配。后续必须先标定 Nero 底层 MIT 真实响应。
SNN 小脑网络:回到论文正统路线
目标: 原论文真正使用的是 脉冲神经网络 (SNN)。我们下一步要把它从离线理解推进到 Nero 真机闭环。
- 算力瓶颈: SNN 模拟 1000+ 神经元在 80Hz 控制循环中导致丢包与延迟,但算力并非唯一问题。
- 网络机制不明: SNN 输出的数值量级与预期不符,说明对网络内部机制的理解仍不充分。
- 下一步: 在解耦算力的同时,需要通过基础实验标定网络输出特性,建立可靠的输入-输出映射。
后续路线与前沿研究方向
论文复现:下一步要解决的三个问题
在前面的复现实验中,我们遇到了一些阻碍并产生了一些假设。下一步的攻关重点将围绕以下三个核心问题展开:
探明脉冲小脑网络 (SNN) 失效机制
前期实验中 SNN 出现了丢包与输出异常,算力瓶颈可能只是表面原因之一。
思路:先将网络计算与控制环解耦以消除丢包,随后开展大量基础实验,摸透其真实输出特性。
探索 Nero 底层 MIT 控制机制
RBF × 等效拆分的高位平台说明,不能把 Nero 底层 MIT 当成完全透明的理想弹簧阻尼。
思路:设计专项标定实验,测量 kp、kd、t_ff 在真机上的真实响应。
突破通信速率与电机控制瓶颈
目前默认波特率下,机械臂状态回报仅约 150Hz,且发送指令频率同样受限。
思路:测试并突破通信速率瓶颈,同时设计实验测定电机接收到指令后的真实物理反应延迟。
远期方向一:让机械臂像人手一样运动
传统机械臂运动生硬、机械感强。我们希望借鉴人类手臂的运动特点,让机械臂动作更流畅、更自然。
- 借鉴人手运动规律:人手在快速运动时会牺牲精度,在复杂动作中会自动协调多个关节。这些规律可以转化为机械臂的运动规划约束。
- 生成"仿人"轨迹:用肌肉模型作为动力学约束,自动生成过渡平滑、没有突兀感的自然轨迹。
- 利用冗余自由度:Nero 有 7 个关节,比任务所需多 1 个。多出来的自由度可以用来实现类人的手肘避障和自然姿态保持。
目标愿景
让机械臂不再像机器一样生硬地动,而是像人的手臂一样柔顺、连贯、自然。
应用场景:人机安全交互、拖动示教、家庭服务机器人等场景都需要这种柔和、自然的运动感受。
远期方向二:用肌肉模型思路做柔性控制
碰撞安全:不依赖力传感器的柔顺响应
人被碰到时会本能地"缩一下",这是肌肉的被动缓冲机制。
将这一机制移植到机械臂上,不需要昂贵的力传感器,机械臂在碰撞时就能自动降低刚度、吸收冲击,实现本质安全。
柔性装配:像人手一样主动对正
传统轴孔装配对精度要求极高,稍有偏差就会卡死。
用肌肉模型动态调节末端刚度,让机械臂在插入时具有适度的柔性,能像人手一样自动对正和微调,大幅提高装配容错率。
远期方向三:接入双目摄像头,打开感知研究入口
当前工作主要围绕控制与执行通道展开。下一步计划把双目摄像头接入 Nero 实验平台,为视觉感知、闭环伺服和其他方向研究提供统一入口。
- 平台能力补齐:先完成双目相机标定、同步采集与上位机接入,让视觉数据能稳定进入现有实验脚本与运行包流程。
- 支撑多方向研究:视觉伺服、目标跟踪、人机交互感知、场景理解等工作,都可以在同一套双目入口上展开,而不必各自搭临时链路。
- 与控制路线衔接:后续可把视觉反馈接到仿生控制与柔性交互实验中,形成“感知—控制—执行”的完整研究闭环。