3. 任务编排需求分析

任务编排的起点不是机器人程序,而是三份彼此约束的输入:装配工艺文件、节拍要求、质量约束。工艺文件回答“装什么、怎么装、按什么顺序装”,节拍要求回答“每道工序允许多少时间、整线多久出一件”,质量约束回答“哪些动作必须被检测、哪些参数必须落在窗口内、失败后如何处置”。需求分析的本质,是把这三类信息翻译成机器人可执行、可调度、可验证的任务清单。

一、从工艺文件提取“动作级”任务

装配工艺文件通常以工序卡、BOM、装配图和作业指导书形式存在,描述的是“人的操作”,而任务编排需要的是“机器人可执行的动作”。因此第一步是拆解粒度:把“安装轴承座”这类工序,拆成取料、定位、插入、压装、锁付、检测等动作单元。拆解时抓住四个要素:对象(抓取哪个零件、装配到哪个基准)、动作(移动、插入、旋转、压紧、拧紧)、参数(位置、力、扭矩、速度、角度)、完成判据(到位信号、力值曲线、扭矩达标、视觉确认)。

以某减速器装配为例,工艺文件给出“将输入轴压入箱体轴承孔,压装力 3~5 kN,压入深度 12±0.2 mm”。拆解后得到可执行任务:Pick(input_shaft) → MoveTo(预对中位) → Insert(孔轴对中, 速度 20 mm/s) → Press(力控 4 kN, 深度 12 mm) → Check(深度公差 ±0.2 mm)。注意,这里的“压装”不是单一动作,而是“插入—接触—力控压入—保压—回退”的连续过程,任务清单中应保留力/位混合控制的阶段划分,否则后续无法做参数化调度。

二、用节拍要求反推任务时间预算

节拍要求给出的是整线产出速率,例如“30 秒/件”。它不能直接分配给单个任务,必须先扣除上下料、输送、检测、换手等非装配时间,再按工序并行度分摊。假设工作站单件总节拍 30 s,其中上下料与输送占 8 s,检测与数据上传占 4 s,则留给装配动作的时间预算为 18 s。若该工位有 6 个装配任务,平均每个任务 3 s,但实际任务耗时差异很大,必须逐项估算。

估算方法建议采用“动作分解 + 经验系数”:移动类任务按路径长度除以速度,再加加减速时间;插入类任务按对中时间加插入行程时间;压装类任务按空行程、接触、压入、保压四段分别估算;拧紧类任务按快进、贴合、拧紧、保持四段估算。下表给出一个示例时间预算(示例数据,仅用于说明方法):

任务动作类型估算时间/s时间来源
取输入轴移动+夹取2.5路径 400 mm,速度 300 mm/s,含夹爪闭合 0.4 s
预对中移动1.2路径 150 mm,速度 200 mm/s
插入力控插入3.0行程 30 mm,速度 20 mm/s,含对中搜索 1 s
压装力控压入4.5空行程 1 s,压入 2.5 s,保压 1 s
锁付拧紧3.5快进 1 s,贴合 0.5 s,拧紧 1.5 s,保持 0.5 s
检测视觉/力值2.0拍照 0.8 s,判定 0.5 s,上传 0.7 s

合计 16.7 s,小于 18 s 预算,说明该工位节拍可行;若合计超过预算,则需通过并行任务、缩短路径、提高速度或拆分到相邻工位来平衡。这里的关键是:节拍要求不是事后检查,而是任务清单生成时的硬约束,每个任务在进入清单前都应带有时间预算字段。

三、把质量约束转成任务属性

质量约束通常来自图纸公差、工艺规范、客户特殊要求和历史失效模式。它们不应只写在检验卡上,而应直接绑定到任务清单的“检测点”和“失败策略”字段。例如:压装深度 12±0.2 mm,对应任务属性为 CheckType=位移传感器、Limit=[11.8,12.2]、FailAction=报警并停止;拧紧扭矩 25±2 N·m,对应 CheckType=扭矩传感器、Limit=[23,27]、FailAction=重试一次后报警。这样,任务清单不仅是动作序列,还是质量数据的采集与判定入口。

质量约束还会反向影响任务顺序。例如“压装前必须确认轴承已到位”,则“到位检测”必须排在“压装”之前,且其失败分支要回到“重新取料”而不是继续压装。这类约束在任务清单中表现为前置条件(Precondition)和分支跳转(Branch),是后续编排引擎做逻辑校验的依据。

三类输入 → 可执行任务清单的提取关系 装配工艺文件 工序卡 / BOM / 装配图 对象·动作·参数·判据 → 动作级任务拆解 节拍要求 30 s/件 · 上下料 8 s 检测 4 s · 装配预算 18 s → 逐任务时间预算 质量约束 公差 · 力/扭矩窗口 检测点 · 失败策略 → 任务属性与分支 需求分析 动作拆解 时间预算分配 检测点绑定 前置条件与分支 冲突消解与节拍校验 可执行任务清单 T1 取输入轴 时间 2.5s · 夹取力 0.3MPa T2 预对中 时间 1.2s · 位置 ±0.5mm T3 插入 时间 3.0s · 速度 20mm/s T4 压装 时间 4.5s · 力 4kN · 深度 12±0.2 T5 锁付 时间 3.5s · 扭矩 25±2N·m T6 检测与上传 时间 2.0s · 判定+数据记录 任一检测失败 → 报警/重试/停线 节拍校验 合计 16.7s ≤ 18s 预算 通过 → 清单可下发

四、任务清单的字段与冲突消解

经过上述三步,任务清单应至少包含以下字段:任务编号、任务名称、动作类型、对象、目标位置、关键参数、时间预算、前置条件、检测方式、合格窗口、失败策略。这些字段不是形式,而是后续编排引擎做排序、并行、分支和异常处理的输入。例如,当两个任务都要求使用同一夹爪时,清单中的“资源占用”字段会触发互斥检查;当某任务的时间预算被压缩到低于物理极限时,清单应标记为“不可调度”,提示工艺或节拍需要调整。

冲突消解通常发生在三类情况:顺序冲突(如检测必须在压装后,但检测设备被另一任务占用)、资源冲突(同一工具或同一工位被两个任务同时请求)、时间冲突(并行任务总时间超过节拍预算)。处理原则是:先满足质量约束,再满足工艺顺序,最后优化节拍。若三者无法同时满足,应回到工艺文件确认是否可放宽公差或调整工序,而不是在编排层强行压缩动作时间。

需求分析阶段产出的任务清单,应能直接回答三个问题:每个任务做什么、做多久、做到什么程度算合格。如果某个任务无法回答其中任何一个,说明它还没有被拆解到可执行粒度。

五、一个可复用的提取检查表

为避免遗漏,可用以下检查表逐项核对任务清单的完整性(示例字段,可按项目调整):

  • 对象明确:每个任务是否指定了抓取/装配的具体零件与基准?
  • 动作可执行:动作类型是否对应机器人可编程的指令(移动、力控、拧紧、视觉)?
  • 参数可设定:速度、力、扭矩、深度、角度是否给出数值或范围?
  • 时间有预算:每个任务是否分配了时间,且合计不超过节拍预算?
  • 检测有绑定:质量约束是否转化为检测方式、合格窗口和失败策略?
  • 顺序有依据:前置条件是否来自工艺文件或质量约束,而非随意排列?
  • 异常有出口:失败后是重试、报警、停线还是回流,是否明确?

完成这张检查表后,任务清单就从“工艺描述”变成了“可编排对象”。下一阶段的排序、并行与调度,都将以这份清单为唯一输入,因此需求分析的精度直接决定后续编排的可行性。