ISO 22166-201 模块公共信息模型:机器人零部件数据建模该抄的作业
本文首发于 RoboParts 开源机器人兼容性平台。数据建模口径以平台真实收录为准,标准事实以 ISO 官方页面为准。
做机器人零部件兼容性平台的人,迟早会撞上一个绕不开的问题:一个零件该用哪些字段描述,别人才能正确地把它拼到自己的机器上?
这不是炫技,是生死线。字段少了,兼容性判定只能靠人肉读 PDF;字段多了,录入成本爆炸,数据永远凑不齐。这个两难,国际标准其实已经给过一份参考答案——ISO 22166-201:2024《 Robotics — Modularity for service robots — Part 201: Common information model (CIM) for modules 》,也就是「服务机器人模块的公共信息模型」。
中文互联网上,这份标准的逐条解读近乎空白。本文把它和 RoboParts 自建的零部件数据模型做一次坦诚的对账:哪些我们想到了、哪些还没覆盖、哪些属于「标准说了但我们暂未采信」。所有标准事实均可溯源到 ISO 官方页面,不引无编号的宣传口径。
一、ISO 22166 系列到底是什么
ISO 22166 是 ISO/TC 299(机器人技术委员会)归口的「服务机器人模块化」系列标准,ICS 分类 25.040.30(与国标 GB/T 47864 同属一个技术域,说明它盯的就是「机器人怎么被拆成可组合的模块」这件事)。目前已发布的两个核心部分:
| 标准号 | 名称(英) | 状态 | 关键日期 |
|---|---|---|---|
| ISO 22166-1:2021 | Modularity for service robots — Part 1: General requirements | 已发布,但 stage 90.92「待修订」 | 2021-02 发布;已登记后继项目 ISO/AWI 22166-1 |
| ISO 22166-201:2024 | Modularity for service robots — Part 201: Common information model (CIM) for modules | 已发布,stage 60.60(现行有效) | 2024-02-23 发布,全文 58 页 |
一句话区分:-1 是总纲(讲模块化的通用要求),-201 是作业(讲每个模块该填哪些属性)。 对本站这种「把零件结构化、让机器能自动判定能不能拼」的平台来说,真正该抄的是 -201 这份 CIM。
一个容易被忽略的时间信号:ISO 22166-1 正在修订(ISO/AWI 22166-1)。修订期不是关死的门,而是外部引用、反馈、甚至参与的窗口——对一个做兼容性叙事的平台,现在去理解并对照它,比等它定稿再补课要划算。
二、CIM 的三个目标,翻译成人话
ISO 22166-201 摘要里反复出现三个词:interoperability(互操作)、reusability(可复用)、composability(可组合)。这三个词正好是「零件能不能被机器拼起来」的三个层次:
- 互操作(interoperability):这个模块接到别人的系统上,协议/接口对得上吗?不用改固件就能通信吗?
- 可复用(reusability):同一个模块,换个项目、换个整机,参数还适用吗?还是每次都得重新适配?
- 可组合(composability):把 A、B、C 三个模块拼到一起,机械、电气、控制三层约束都满足吗?会不会拼出来一个「尺寸吻合但根本转不动」的 Frankenstein?
CIM 的本职,就是用一份统一的属性清单,把这三个目标变成可填写、可校验、可机器读取的数据。它本质是在回答一个本站每天都在回答的问题:「什么算一个模块被正确描述了?」
三、RoboParts 字段 ↔ CIM 目标 对照表
下面这张表是方法论层面的映射,不是「我们已声明符合 ISO 22166-201」的 conformance 声明。本站没有逐条读取那 58 页 CIM 属性清单(见第五节「我们没核验的部分」),所以这里对照的是目标,而非标准里的具体属性名。
| CIM 目标 | 平台对应字段 / 做法 | 说明 |
|---|---|---|
| 互操作 | interface(机械/电气接口)、protocol(通信协议,含 CAN FD / EtherCAT / ROS 2 等总线类) | 决定模块「接到别人系统上能不能说话」。本站把接口与协议作为一级字段,等价于 CIM 把互操作属性单列。 |
| 可复用 | category(零部件类目)、standard_conformance(标准符合性维度) | 类目决定了模块在哪些项目里天然可替换;标准符合性维度决定了它在哪些规范语境下被认可。 |
| 可组合 | 兼容性四维判定(机械接口 / 电气 / 通信 / 控制约束) | CIM 的「可组合」要求模块属性足够描述组合约束;本站的兼容性判定正是把这四个维度的约束显式化,让「能不能拼」可被自动推导而非人肉判断。 |
一个值得记下的结论:CIM 和本站自建 schema 是同一目标的两种表达。CIM 从「标准该怎么规定模块」出发,本站从「工程师实际拼机器人时卡在哪一环」出发,殊途同归地都收敛到了「接口 + 协议 + 类目 + 组合约束」这套最小字段集。这也是为什么这份 2024 年才发布的标准,对做兼容性平台的人价值格外高——它不是纸上规范,是一份经过 ISO 流程校验过的字段清单。
四、我们的差距:标准符合性维度里没有「国际标准」
坦诚地说,本站当前的 standard_conformance 维度(706 条实体全部带有)目前覆盖的是:
- 团标相关(
caee060_relevant等) - 总线 / 通信类(
bus_class、ros2、interop_stack_*、interop_posture)
国标(如 GB/T 47864)维度为 0,国际标准(ISO 22166 系列)维度也为 0。
对一个以「兼容性判定」为核心叙事的平台,这意味着:我们能判定「这个零件接不接得上」,但还无法判定「这个零件符不符合某个模块化国际标准」。这不是数据错误,是能力叙事上的一块空白——尤其当「服务机器人模块化」正在成为国内头部企业争夺的叙事高地时,对标准「一无所知」本身就是风险。
下一步我们会按既有纪律(所有数字与维度必须走单一真相源注入器,禁止手改页面,宁可标 unknown 也不臆断)为执行器 / 接口 / 整机平台三类补充 iso22166_relevant 维度。这里先立一条铁律:凡无标准号的宣传口径(例如「牵头衍生 10 项 ISO」这类无编号说法),一律不进数据、不写进对外页面——有没有编号,是「事实」和「口径」的分界线。
五、我们没核验、也不引的部分(重要)
为避免「口径 ≠ 事实」,下面这些不写入任何结构化数据:
- CIM 的完整属性清单:本文对照的是 ISO 22166-201 摘要中的三个目标词,未逐条读取其 58 页正文。若要逐属性映射,需要拿到标准正文后逐条比对,不能通过摘要反推。
- 「10 项 ISO」类宣传口径:多家媒体报道国内团队「牵头模块化基础标准并衍生 10 项 ISO」,但全文未给出任何一个标准号,无法核对是否即 ISO 22166 系列各 Part。按纪律只追有编号的标准文本,不追立项与宣传数字。
如果后续需要,可以专门做一期「ISO 22166-201 CIM 属性逐条拆解」,前提是先取得标准正文——那是另一篇更硬核的长尾文。
六、拿去用的工具
- 想验证手上的 BOM 里零件能不能拼到一起:直接用 BOM 兼容性检查器。
- 想按类目 / 接口 / 协议检索已收录零件:用 零部件数据中枢。
- 想看平台如何把「兼容性四维」做成可机器读取的接口:见 MCP 接入指南(无需安装,远程直连即可调用)。
七、小结
ISO 22166-201:2024 的 CIM 给「模块该怎么被描述」提供了一份经过 ISO 流程校验的参考答案,其三个目标——互操作、可复用、可组合——与零部件兼容性平台的自建 schema 高度同构。对做机器人零部件数据建模的人,这份标准值得现在就对照起来读;而做到「对照」的前提,是先分清哪些是我们已核验的事实,哪些只是无编号的口径。
标准事实源:iso.org
standard/72715.html(22166-1)、standard/82334.html(22166-201),状态与日期以 ISO 官方页面为准。