关节已经断了力矩,手臂却还在往下掉

首发于公众号「如是有为」 · 查看原文

关节已经断了力矩,手臂却还在往下掉

驱动器撤掉力矩,电机不再主动做功,机器人手臂就安全了。

这句话放在水平运动轴上,已经漏掉惯性;放在重力关节上,还漏掉了一个持续存在的动力源:重力。

Siemens 对 SINAMICS 安全功能的公开说明里,STO,也就是 Safe Torque Off,承担的是安全撤除驱动力矩。这并不等于受控减速,也不等于机械制动。其 G220 操作手册还特别提醒:对于悬挂负载,STO 生效后负载仍可能继续运动,需要采取适当措施防止危险运动。

这个边界很窄,却非常重要:

STO 执行成功,和机械系统已经停止,中间没有自动等号。

不妨在纸上放一根水平伸出的轻质手臂,末端有 5 kg 负载,距转轴 0.3 m。忽略手臂自身惯量、摩擦和减速器,把负载简化成一个质点。这个模型只是为了看清时间尺度,不代表真实机器人的动力学参数。

初始重力矩约为:

负载绕轴转动惯量约为:

于是撤掉支撑力矩后的初始角加速度约为:

如果机械制动器需要 40 ms 才建立足够保持力,在短时间、小角度近似下:

也就是约:

末端沿切向移动:

不到 40 ms,纸上的末端已经掉了接近 8 mm。

这里轴起初完全静止,位置噪声被设为零,STO 也按预期执行。唯一发生的事,就是驱动力矩先消失,而机械保持力晚了几十毫秒才真正建立。

真实机器人当然更复杂。

机构惯量会改变结果,摩擦会改变结果,重力补偿和平衡机构会改变结果,减速器效率、柔性和载荷分布也都会改变结果。有些系统会更缓和,有些系统可能更糟。

所以这笔计算不能拿去核定某台机器人的安全距离。

它真正想说明的是:

40 ms 写在电气时序表里很短,落到机械世界里,可能已经长成了毫米级位移。

如果同一模型把无保持力时间从 40 ms 拉到 80 ms,那么在近似恒角加速度条件下,位移不是翻倍,而是接近四倍。

因为:

这时候,“停止”这个词才开始露出里面不同的动作。

系统可以先执行受控减速,再让制动器建立保持力,最后撤除驱动力矩;也可能因为故障,直接失去驱动力矩。

两种路径面对同一个关节,却未必产生相同的机械结果。

而且还有一个经常被忽略的问题:

保持制动器能不能承担动态制动能量,要看它的设计和额定用途。

一只制动器能够静态抱住 50 N·m,并不自动意味着它适合反复接住一个高速旋转的关节。静态保持能力不能直接外推成动态制动能力。

把安全讨论做到这里,编码器才真正进入画面。

编码器可能被用于安全限速,可能参与停机过程监控,也可能只承担普通伺服反馈。

不同用途,对它分配的安全责任完全不同。

不能因为它装在机器人关节上,就要求所有位置传感器承担同一项安全功能。

但是,一旦安全功能需要依赖它判断速度或者运动状态,真正麻烦的问题往往不是断线。

断线通常很直白。

更麻烦的是:角度冻结,但通信还活着。

假设位置接口每 1 ms 提供一帧数据,控制器直接利用相邻位置差计算速度。

如果内部位置寄存器卡在旧值上,数据帧仍然可能持续发送,CRC 也仍然可能正确。

于是连续两帧位置差为零。

软件推导:

速度为零。

但真实机械轴可能正在因为重力继续运动。

这时候系统面对的是一种很危险的错位:

数据在描述静止,机构正在发生运动。

CRC 能证明什么?

它能证明收到的比特没有在通信链路里被意外翻坏。

但如果冻结值在 CRC 生成之前就已经形成,那么 CRC 完全可以正确。

它不能证明:

磁铁还牢牢跟着轴转。

也不能证明:

光学码盘没有松。

更不能证明:

这一帧角度真的是一个“新鲜”的机械位置。

所以:

帧正确,不等于机械状态正确。

如果前面那个 40 ms 的重力下落过程中,编码器位置一直冻结,系统每 1 ms 仍然收到一帧“合法数据”,也不能证明这 40 ms 里机构没有运动。

这正是一个很容易被忽略的事实:

通信周期很短,并不等于诊断测试间隔很短,也不等于故障检测时间很短。

Safety Manual 真正有价值的地方,也就在这里。

它不只是告诉客户:

“本器件支持某个安全等级。”

它更应该告诉客户:

哪些故障器件自己可以检测。

哪些故障检测不了。

某项诊断多久执行一次。

需要连续多少个异常样本才会触发。

故障发生以后,最迟多久能报告出去。

报告以后,系统还需要依靠哪些外部措施完成安全动作。

有些芯片能监测电源、时钟、寄存器、ADC、磁场幅值。

这些当然都很有价值。

但它们未必能覆盖一个非常具体的机械故障:

磁铁和轴之间已经松了。

只要磁场幅值还合理,波形还漂亮,算法仍然可能输出一个非常平滑的角度。

芯片甚至可能觉得自己工作得非常健康。

问题是:

这个角度已经不再代表真正的负载位置。

这类故障特别能说明一个问题:

安全诊断的能力,不能只看芯片内部有多少检测模块。

还要沿着整个传感链问一句:

这个故障到底发生在哪?我的诊断到底能不能看见它?

如果安全需求要求某类危险失效必须在 10 ms 内被发现,那么这个 10 ms 不能只写成“诊断逻辑运行时间”。

真正需要进入时间预算的,是从故障发生,到诊断被执行,到异常被确认,到故障被报告,再到安全逻辑能够采取相应措施的整段时间。

诊断逻辑本身也许只运行了几微秒。

但它可能 5 ms 执行一次。

也可能要求连续三个异常样本以后才报警。

这两个系统的“诊断代码运行时间”都很短,真正的危险故障检测时间却完全不是一回事。

检测之后也不能停。

故障标志已经置位,主控如果还在继续使用缓存中的最后一个合法角度,整机并没有因为“故障被检测”而自动进入安全状态。

从传感器到安全控制器,再到驱动器,再到制动器,每一段都有自己的状态机和时间。

检测成功,不等于安全动作已经完成。

2026 年 6 月 22 日,NVIDIA 发布 Halos for Robotics,把 IGX Thor、系统软件、安全应用和检查实验室放进一个完整的机器人安全体系里。

公告提到 Agility Robotics 参与安全系统检查,并围绕相关标准开展第三方认证准备。

这里的关键词是:

准备。

不能把“准备第三方认证”改写成“整机已经完成全部功能安全认证”。

但这类系统级投入已经说明一件事:

机器人安全正在从一个抽象口号,变成一条越来越具体的工程链。

可算力板不会替制动器完成机械合闸。

也不会替磁铁证明自己没有松动。

系统能力越完整,反而越要求底层元件把自己的假设说清楚。

工业机器人标准也不能只当证书名字罗列。

ISO 10218-1:2025 面向工业机器人本体,第 2 部分面向工业机器人应用和机器人单元。

具体到人形机器人、移动平台或者其他新形态机器人,仍然要先判断具体应用场景和标准适用范围。

PL、SIL 和汽车领域的 ASIL,也分别属于不同的安全体系。

不能拿一个漂亮等级标签,替代整个系统的安全论证。

再回到位置冻结这个案例。

最直觉的解决办法,是再加一颗编码器。

但问题马上来了。

如果两颗编码器都在看同一块已经松动的磁铁,那么两颗完全可以给出一致的错误。

如果一颗装在电机侧,一颗装在输出侧,那么两者之间又会多出减速比、回差、弹性形变和测量延迟。

这时候也不能简单要求:

两个角度必须完全一样。

所以“冗余”真正有意义的前提,不是芯片数量变成了两颗。

而是:

第二条测量链,必须针对第一条链可能发生的失效,提供新的、独立的证据。

两颗芯片如果共用同一供电、同一机械安装、同一磁体、甚至同一套算法,很多共同原因故障仍然可能一起把它们带走。

判断冗余时,不能只数通道。

要沿着故障原因一直追,直到看到两条路径到底在哪里重新汇合。

验证也应该沿着这个冻结案例继续往下做。

让位置数据保持旧值。

同时保持通信正常。

CRC 继续正确。

系统究竟依靠什么发现:

机械仍在运动?

诊断发现以后,再按照最终驱动参数和制动器配置执行真实停机。

然后测量:

末端到底移动了多远。

这类试验当然应该在隔离、受控的条件下进行,而不是在有人站在机器人旁边时临时注入故障。

而且一次故障注入通过,也不能证明全部安全完整性已经成立。

它只能说明:

在这组测试条件下,这条具体失效路径得到了处理。

不能把它外推成:

“所有故障都已经覆盖。”

最终,整机团队必须把负载、机构、诊断和动作时序放进同一张图里。

传感器提供方则需要把两类东西分开:

哪些诊断证据可以被系统继承。

以及:

哪些假设必须由系统自己补上。

Safety Manual 的价值,本质上就在这里。

不是再给 datasheet 加一个更漂亮的安全等级,而是明确告诉集成团队:

哪里可以依赖器件。

哪里不能。

还有一项也不能靠一次停机试验解决:

制动能力会随使用条件变化。

温度、磨损、负载、动作频次改变以后,原来测得的合闸时间和保持能力,是否还在声明的边界内,需要有相应证据。

控制制动器的电气信号已经正常,也不能单独证明机械摩擦副已经建立足够力矩。

同样的事情也发生在编码器上。

一种滤波配置下通过了冻结检测,并不意味着换掉滤波参数、采样周期或者诊断周期以后,还能满足原来的时间预算。

元件配置变了。

软件版本变了。

机械条件变了。

安全论证依赖的假设也可能跟着变。

真正有用的安全手册,应该让这些依赖全部暴露出来。

而不是把它们藏在一个最高等级标签后面。

那根纸上的手臂,最后只掉了:

在分辨率表里,这个数字甚至不算漂亮。

可如果人的手正好在机构下面,它就会变得非常具体。

位置反馈真正进入安全链以后,首先要讲清楚的,已经不是“我有多少位”。

而是:

从读数仍然合法,到真实运动已经危险,中间到底隔了多远。

公开来源

Siemens,SINAMICS Safety Integrated 及 G220 操作手册,关于 STO 与悬挂负载的边界。

NVIDIA,Halos for Robotics 公告,2026-06-22。

ISO,ISO 10218-1:2025。

文中 5 kg、0.3 m、40 ms、80 ms、1 ms 与 10 ms 均为明确的分析条件,用于说明时间尺度,不对应任何公开或内部整机实测。

应作如是观
公众号「如是有为」二维码

关注公众号「如是有为」

微信扫一扫,新文章先在公众号发出。